[xiph-commits] r12328 - websites/xspf.org/validation
dllmain at svn.xiph.org
dllmain at svn.xiph.org
Tue Jan 16 10:02:14 PST 2007
Author: dllmain
Date: 2007-01-16 10:02:11 -0800 (Tue, 16 Jan 2007)
New Revision: 12328
Added:
websites/xspf.org/validation/xspf-1_0.2.xsd
websites/xspf.org/validation/xspf-1_0.3.rng
Log:
Schema files update of 2007-01-07
Added: websites/xspf.org/validation/xspf-1_0.2.xsd
===================================================================
--- websites/xspf.org/validation/xspf-1_0.2.xsd 2007-01-15 21:46:29 UTC (rev 12327)
+++ websites/xspf.org/validation/xspf-1_0.2.xsd 2007-01-16 18:02:11 UTC (rev 12328)
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- ==================================================================
+ XML Schema for XSPF Version 1
+
+ $Id$
+
+ This schema was written as a service for developers who want
+ to validate the playlists generated by their applications.
+ Nobody claims it is perfect, so if you find bugs please report
+ them. In any case, the spec overrides this schema.
+
+ Further information about XSPF is available at http://www.xspf.org
+
+
+ Copyright (c) 2005 Matthias Friedrich <matt at mafr.de>
+
+ The schema is released under the Creative Commons
+ Attribution-ShareAlike 2.0 license.
+
+ http://creativecommons.org/licenses/by-sa/2.0/
+
+
+ ChangeLog:
+ * 2005-10-12: Fixed an error: the "extension" element now
+ has an "application" attribute, like in the spec.
+ * 2006-09-25: Fixed an error: the "attribution" element now allows
+ "identifier" child element elements, too.
+ ================================================================== -->
+
+<xsd:schema xmlns:xsd = "http://www.w3.org/2001/XMLSchema"
+ xmlns:xspf = "http://xspf.org/ns/0/"
+ targetNamespace="http://xspf.org/ns/0/"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified">
+
+<xsd:element name="playlist" type="xspf:PlaylistType"/>
+
+<xsd:complexType name="PlaylistType">
+ <xsd:sequence>
+ <xsd:element name="title" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="creator" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="annotation" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="info" type="xsd:anyURI" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="location" type="xsd:anyURI" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="identifier" type="xsd:anyURI" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="image" type="xsd:anyURI" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="date" type="xsd:dateTime" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="license" type="xsd:anyURI" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="attribution" type="xspf:AttributionType" minOccurs="0" maxOccurs="1"/>
+
+ <xsd:element name="link" type="xspf:LinkType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="meta" type="xspf:MetaType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="extension" type="xspf:ExtensionType" minOccurs="0" maxOccurs="unbounded"/>
+
+ <xsd:element name="trackList" type="xspf:TrackListType" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="version" type="xspf:VersionType" use="required"/>
+</xsd:complexType>
+
+<xsd:simpleType name="VersionType">
+ <xsd:restriction base="xsd:string">
+ <xsd:pattern value="1"/>
+ </xsd:restriction>
+</xsd:simpleType>
+
+<xsd:complexType name="AttributionType">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="identifier" type="xsd:anyURI"/>
+ <xsd:element name="location" type="xsd:anyURI"/>
+ </xsd:choice>
+</xsd:complexType>
+
+<xsd:complexType name="LinkType">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:anyURI">
+ <xsd:attribute name="rel" type="xsd:anyURI" use="required"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+</xsd:complexType>
+
+<xsd:complexType name="MetaType">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ <xsd:attribute name="rel" type="xsd:anyURI" use="required"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+</xsd:complexType>
+
+<xsd:complexType name="ExtensionType">
+ <xsd:complexContent mixed="true">
+ <xsd:restriction base="xsd:anyType">
+ <xsd:sequence>
+ <xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="application" type="xsd:anyURI" use="required"/>
+ </xsd:restriction>
+ </xsd:complexContent>
+</xsd:complexType>
+
+<xsd:complexType name="TrackListType">
+ <xsd:sequence>
+ <xsd:element name="track" type="xspf:TrackType" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+</xsd:complexType>
+
+<xsd:complexType name="TrackType">
+ <xsd:sequence>
+ <xsd:element name="location" type="xsd:anyURI" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="identifier" type="xsd:anyURI" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="title" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="creator" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="annotation" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="info" type="xsd:anyURI" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="image" type="xsd:anyURI" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="album" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="trackNum" type="xsd:nonNegativeInteger" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="duration" type="xsd:nonNegativeInteger" minOccurs="0" maxOccurs="1"/>
+
+ <xsd:element name="link" type="xspf:LinkType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="meta" type="xspf:MetaType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="extension" type="xspf:ExtensionType" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+</xsd:complexType>
+
+</xsd:schema>
Added: websites/xspf.org/validation/xspf-1_0.3.rng
===================================================================
--- websites/xspf.org/validation/xspf-1_0.3.rng 2007-01-15 21:46:29 UTC (rev 12327)
+++ websites/xspf.org/validation/xspf-1_0.3.rng 2007-01-16 18:02:11 UTC (rev 12328)
@@ -0,0 +1,258 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- ==================================================================
+ Relax NG Schema for XSPF Version 1
+
+ $Id$
+
+ This schema was written as a service for developers who want
+ to validate the playlists generated by their applications.
+ Nobody claims it is perfect, so if you find bugs please report
+ them. In any case, the spec overrides this schema.
+
+ Further information about XSPF is available at http://www.xspf.org
+
+
+ Copyright (c) 2005 Matthias Friedrich <matt at mafr.de>
+
+ The schema is released under the Creative Commons
+ Attribution-ShareAlike 2.5 license.
+
+ http://creativecommons.org/licenses/by-sa/2.5/
+
+
+ ChangeLog:
+ * 2007-01-07: The info element's content has been changed from
+ type "text" to "anyURI", as per spec.
+ * 2006-09-25: Fixed an error: the "attribution" element now allows
+ "identifier" child element elements, too.
+ ================================================================== -->
+
+
+<grammar xmlns="http://relaxng.org/ns/structure/1.0"
+ datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
+ ns="http://xspf.org/ns/0/">
+
+
+ <start>
+ <ref name="def_playlist-element"/>
+ </start>
+
+
+ <define name="def_playlist-element">
+ <element name="playlist">
+ <attribute name="version">
+ <data type="string">
+ <param name="pattern">1</param>
+ </data>
+ </attribute>
+
+ <optional>
+ <element name="title">
+ <text/>
+ </element>
+ </optional>
+ <optional>
+ <element name="creator">
+ <text/>
+ </element>
+ </optional>
+ <optional>
+ <element name="annotation">
+ <text/>
+ </element>
+ </optional>
+ <optional>
+ <element name="info">
+ <data type="anyURI"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="location">
+ <data type="anyURI"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="identifier">
+ <data type="anyURI"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="image">
+ <data type="anyURI"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="date">
+ <data type="dateTime"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="license">
+ <data type="anyURI"/>
+ </element>
+ </optional>
+
+ <optional>
+ <ref name="def_attribution-element"/>
+ </optional>
+
+ <zeroOrMore>
+ <ref name="def_link-element"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="def_meta-element"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="def_extension-element"/>
+ </zeroOrMore>
+
+ <element name="trackList">
+ <zeroOrMore>
+ <ref name="def_track-element"/>
+ </zeroOrMore>
+ </element>
+ </element>
+ </define>
+
+
+ <define name="def_attribution-element">
+ <element name="attribution">
+ <zeroOrMore>
+ <choice>
+ <element name="identifier">
+ <data type="anyURI"/>
+ </element>
+ <element name="location">
+ <data type="anyURI"/>
+ </element>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+
+
+ <define name="def_link-element">
+ <element name="link">
+ <attribute name="rel">
+ <data type="anyURI"/>
+ </attribute>
+
+ <data type="anyURI"/>
+ </element>
+ </define>
+
+
+ <define name="def_meta-element">
+ <element name="meta">
+ <attribute name="rel">
+ <data type="anyURI"/>
+ </attribute>
+
+ <text/>
+ </element>
+ </define>
+
+
+ <define name="def_extension-element">
+ <element name="extension">
+ <attribute name="application">
+ <data type="anyURI"/>
+ </attribute>
+
+ <zeroOrMore>
+ <choice>
+ <element>
+ <anyName/>
+ <ref name="def_anything"/>
+ </element>
+ <text/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+
+
+ <define name="def_anything">
+ <zeroOrMore>
+ <choice>
+ <element>
+ <anyName/>
+ <ref name="def_anything"/>
+ </element>
+ <attribute>
+ <anyName/>
+ </attribute>
+ <text/>
+ </choice>
+ </zeroOrMore>
+ </define>
+
+
+ <define name="def_track-element">
+ <element name="track">
+ <zeroOrMore>
+ <element name="location">
+ <data type="anyURI"/>
+ </element>
+ </zeroOrMore>
+ <zeroOrMore>
+ <element name="identifier">
+ <data type="anyURI"/>
+ </element>
+ </zeroOrMore>
+
+ <optional>
+ <element name="title">
+ <text/>
+ </element>
+ </optional>
+ <optional>
+ <element name="creator">
+ <text/>
+ </element>
+ </optional>
+ <optional>
+ <element name="annotation">
+ <text/>
+ </element>
+ </optional>
+ <optional>
+ <element name="info">
+ <data type="anyURI"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="image">
+ <data type="anyURI"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="album">
+ <text/>
+ </element>
+ </optional>
+ <optional>
+ <element name="trackNum">
+ <data type="nonNegativeInteger"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="duration">
+ <data type="nonNegativeInteger"/>
+ </element>
+ </optional>
+
+ <zeroOrMore>
+ <ref name="def_link-element"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="def_meta-element"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="def_extension-element"/>
+ </zeroOrMore>
+ </element>
+ </define>
+
+</grammar>
More information about the commits
mailing list