Schema ptarmigan.xsd


schema location:  ptarmigan.xsd
targetNamespace:  http://esau.org/ns/ptarmigan
 
Elements  Complex types 
ptarmigan  file_source_t 
media_properties_t 
ptarmigan_t 


schema location:  id3v1.xsd
targetNamespace:  http://esau.org/ns/ptarmigan/id3v1
 
Elements  Complex types 
id3v1  id3v1_t 


schema location:  id3v2.xsd
targetNamespace:  http://esau.org/ns/ptarmigan/id3v2
 
Elements  Complex types 
id3v2  comment_t 
frames_t 
header_t 
id3v2_t 
track_t 
user-url_t 


schema location:  vorbis.xsd
targetNamespace:  http://esau.org/ns/ptarmigan/vorbis
 
Elements  Complex types 
comments  comments_t 
vorbis  content_t 
identification_t 
vorbis_t 


schema location:  ms-wma.xsd
targetNamespace:  http://esau.org/ns/ptarmigan/ms-wma
 
Elements  Complex types 
ms-wma  content_t 
ms-wma_t 
properties_t 


schema location:  flac.xsd
targetNamespace:  http://esau.org/ns/ptarmigan/flac
 
Elements  Complex types 
flac  flac_t 


schema location:  playlist.xsd
targetNamespace:  http://esau.org/ns/ptarmigan/playlist
 
Elements  Complex types 
playlist  entry_t 
playlist_t 
properties_t 


element ptarmigan
diagram
namespace http://esau.org/ns/ptarmigan
type tns:ptarmigan_t
children file-properties v1:id3v1 v2:id3v2 ogg:vorbis wma:ms-wma fl:flac pl:playlist media-properties
source
<xs:element name="ptarmigan" type="tns:ptarmigan_t"/>

complexType file_source_t
diagram
namespace http://esau.org/ns/ptarmigan
children url length last-modified
used by
element ptarmigan_t/file-properties
source
<xs:complexType name="file_source_t">
  <xs:sequence>
    <xs:element name="url" type="xs:anyURI"/>
    <xs:element name="length" type="xs:integer"/>
    <xs:element name="last-modified" type="xs:dateTime"/>
  </xs:sequence>
</xs:complexType>

element file_source_t/url
diagram
namespace http://esau.org/ns/ptarmigan
type xs:anyURI
source
<xs:element name="url" type="xs:anyURI"/>

element file_source_t/length
diagram
namespace http://esau.org/ns/ptarmigan
type xs:integer
source
<xs:element name="length" type="xs:integer"/>

element file_source_t/last-modified
diagram
namespace http://esau.org/ns/ptarmigan
type xs:dateTime
source
<xs:element name="last-modified" type="xs:dateTime"/>

complexType media_properties_t
diagram
namespace http://esau.org/ns/ptarmigan
children mime-type offset length digest
used by
element ptarmigan_t/media-properties
source
<xs:complexType name="media_properties_t">
  <xs:sequence>
    <xs:element name="mime-type" type="xs:string" minOccurs="0"/>
    <xs:element name="offset" type="xs:integer" minOccurs="0"/>
    <xs:element name="length" type="xs:integer" minOccurs="0"/>
    <xs:element name="digest" minOccurs="0">
      <xs:complexType mixed="true">
        <xs:attribute name="algorithm" type="xs:string" use="required"/>
      </xs:complexType>
    </xs:element>
    <!-- TODO: make this field required? -->
  </xs:sequence>
</xs:complexType>

element media_properties_t/mime-type
diagram
namespace http://esau.org/ns/ptarmigan
type xs:string
source
<xs:element name="mime-type" type="xs:string" minOccurs="0"/>

element media_properties_t/offset
diagram
namespace http://esau.org/ns/ptarmigan
type xs:integer
source
<xs:element name="offset" type="xs:integer" minOccurs="0"/>

element media_properties_t/length
diagram
namespace http://esau.org/ns/ptarmigan
type xs:integer
source
<xs:element name="length" type="xs:integer" minOccurs="0"/>

element media_properties_t/digest
diagram
namespace http://esau.org/ns/ptarmigan
attributes
Name  Type  Use  Default  Fixed  Annotation
algorithm  xs:string  required      
source
<xs:element name="digest" minOccurs="0">
  <xs:complexType mixed="true">
    <xs:attribute name="algorithm" type="xs:string" use="required"/>
  </xs:complexType>
</xs:element>

complexType ptarmigan_t
diagram
namespace http://esau.org/ns/ptarmigan
children file-properties v1:id3v1 v2:id3v2 ogg:vorbis wma:ms-wma fl:flac pl:playlist media-properties
used by
element ptarmigan
source
<xs:complexType name="ptarmigan_t">
  <xs:sequence>
    <xs:element name="file-properties" type="tns:file_source_t" minOccurs="0"/>
    <xs:element ref="v1:id3v1" minOccurs="0"/>
    <xs:element ref="v2:id3v2" minOccurs="0"/>
    <xs:element ref="ogg:vorbis" minOccurs="0"/>
    <xs:element ref="wma:ms-wma" minOccurs="0"/>
    <xs:element ref="fl:flac" minOccurs="0"/>
    <xs:element ref="pl:playlist" minOccurs="0"/>
    <xs:element name="media-properties" type="tns:media_properties_t"/>
  </xs:sequence>
</xs:complexType>

element ptarmigan_t/file-properties
diagram
namespace http://esau.org/ns/ptarmigan
type tns:file_source_t
children url length last-modified
source
<xs:element name="file-properties" type="tns:file_source_t" minOccurs="0"/>

element ptarmigan_t/media-properties
diagram
namespace http://esau.org/ns/ptarmigan
type tns:media_properties_t
children mime-type offset length digest
source
<xs:element name="media-properties" type="tns:media_properties_t"/>

element v1:id3v1
diagram
namespace http://esau.org/ns/ptarmigan/id3v1
type v1:id3v1_t
children title artist album year comment track genre
used by
complexType ptarmigan_t
source
<xs:element name="id3v1" type="id3v1_t"/>

complexType v1:id3v1_t
diagram
namespace http://esau.org/ns/ptarmigan/id3v1
children title artist album year comment track genre
used by
element v1:id3v1
source
<xs:complexType name="id3v1_t">
  <xs:sequence>
    <xs:element name="title" type="xs:string" minOccurs="0"/>
    <xs:element name="artist" type="xs:string" minOccurs="0"/>
    <xs:element name="album" type="xs:string" minOccurs="0"/>
    <xs:element name="year" type="xs:gYear" minOccurs="0"/>
    <xs:element name="comment" type="xs:string" minOccurs="0"/>
    <xs:element name="track" type="xs:integer" minOccurs="0"/>
    <xs:element name="genre" type="xs:string" minOccurs="0"/>
  </xs:sequence>
</xs:complexType>

element v1:id3v1_t/title
diagram
namespace http://esau.org/ns/ptarmigan/id3v1
type xs:string
source
<xs:element name="title" type="xs:string" minOccurs="0"/>

element v1:id3v1_t/artist
diagram
namespace http://esau.org/ns/ptarmigan/id3v1
type xs:string
source
<xs:element name="artist" type="xs:string" minOccurs="0"/>

element v1:id3v1_t/album
diagram
namespace http://esau.org/ns/ptarmigan/id3v1
type xs:string
source
<xs:element name="album" type="xs:string" minOccurs="0"/>

element v1:id3v1_t/year
diagram
namespace http://esau.org/ns/ptarmigan/id3v1
type xs:gYear
source
<xs:element name="year" type="xs:gYear" minOccurs="0"/>

element v1:id3v1_t/comment
diagram
namespace http://esau.org/ns/ptarmigan/id3v1
type xs:string
source
<xs:element name="comment" type="xs:string" minOccurs="0"/>

element v1:id3v1_t/track
diagram
namespace http://esau.org/ns/ptarmigan/id3v1
type xs:integer
source
<xs:element name="track" type="xs:integer" minOccurs="0"/>

element v1:id3v1_t/genre
diagram
namespace http://esau.org/ns/ptarmigan/id3v1
type xs:string
source
<xs:element name="genre" type="xs:string" minOccurs="0"/>

element v2:id3v2
diagram
namespace http://esau.org/ns/ptarmigan/id3v2
type v2:id3v2_t
children header frames
used by
complexType ptarmigan_t
source
<xs:element name="id3v2" type="id3v2_t"/>

complexType v2:comment_t
diagram
namespace http://esau.org/ns/ptarmigan/id3v2
children language summary text
used by
element v2:frames_t/comment
source
<xs:complexType name="comment_t">
  <xs:sequence>
    <xs:element name="language" type="xs:string" minOccurs="0"/>
    <xs:element name="summary" type="xs:string" minOccurs="0"/>
    <xs:element name="text" type="xs:string" minOccurs="0"/>
  </xs:sequence>
</xs:complexType>

element v2:comment_t/language
diagram
namespace http://esau.org/ns/ptarmigan/id3v2
type xs:string
source
<xs:element name="language" type="xs:string" minOccurs="0"/>

element v2:comment_t/summary
diagram
namespace http://esau.org/ns/ptarmigan/id3v2
type xs:string
source
<xs:element name="summary" type="xs:string" minOccurs="0"/>

element v2:comment_t/text
diagram
namespace http://esau.org/ns/ptarmigan/id3v2
type xs:string
source
<xs:element name="text" type="xs:string" minOccurs="0"/>

complexType v2:frames_t
diagram
namespace http://esau.org/ns/ptarmigan/id3v2
children comment album composer genre copyright recording-time encoded-by content-group title language original-album original-artist lead-performer track recording-year user-url
used by
element v2:id3v2_t/frames
source
<xs:complexType name="frames_t">
  <xs:sequence>
    <xs:element name="comment" type="comment_t" minOccurs="0" maxOccurs="unbounded"/>
    <xs:element name="album" type="xs:string" minOccurs="0"/>
    <xs:element name="composer" type="xs:string" minOccurs="0"/>
    <xs:element name="genre" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
    <xs:element name="copyright" type="xs:string" minOccurs="0"/>
    <xs:element name="recording-time" type="xs:dateTime" minOccurs="0"/>
    <xs:element name="encoded-by" type="xs:string" minOccurs="0"/>
    <xs:element name="content-group" type="xs:string" minOccurs="0"/>
    <xs:element name="title" type="xs:string" minOccurs="0"/>
    <xs:element name="language" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
    <xs:element name="original-album" type="xs:string" minOccurs="0"/>
    <xs:element name="original-artist" type="xs:string" minOccurs="0"/>
    <xs:element name="lead-performer" type="xs:string" minOccurs="0"/>
    <xs:element name="track" type="track_t" minOccurs="0"/>
    <xs:element name="recording-year" type="xs:gYear" minOccurs="0"/>
    <xs:element name="user-url" type="user-url_t" minOccurs="0"/>
  </xs:sequence>
</xs:complexType>

element v2:frames_t/comment
diagram
namespace http://esau.org/ns/ptarmigan/id3v2
type v2:comment_t
children language summary text
source
<xs:element name="comment" type="comment_t" minOccurs="0" maxOccurs="unbounded"/>

element v2:frames_t/album
diagram
namespace http://esau.org/ns/ptarmigan/id3v2
type xs:string
source
<xs:element name="album" type="xs:string" minOccurs="0"/>

element v2:frames_t/composer
diagram
namespace http://esau.org/ns/ptarmigan/id3v2
type xs:string
source
<xs:element name="composer" type="xs:string" minOccurs="0"/>

element v2:frames_t/genre
diagram
namespace http://esau.org/ns/ptarmigan/id3v2
type xs:string
source
<xs:element name="genre" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>

element v2:frames_t/copyright
diagram
namespace http://esau.org/ns/ptarmigan/id3v2
type xs:string
source
<xs:element name="copyright" type="xs:string" minOccurs="0"/>

element v2:frames_t/recording-time
diagram
namespace http://esau.org/ns/ptarmigan/id3v2
type xs:dateTime
source
<xs:element name="recording-time" type="xs:dateTime" minOccurs="0"/>

element v2:frames_t/encoded-by
diagram
namespace http://esau.org/ns/ptarmigan/id3v2
type xs:string
source
<xs:element name="encoded-by" type="xs:string" minOccurs="0"/>

element v2:frames_t/content-group
diagram
namespace http://esau.org/ns/ptarmigan/id3v2
type xs:string
source
<xs:element name="content-group" type="xs:string" minOccurs="0"/>

element v2:frames_t/title
diagram
namespace http://esau.org/ns/ptarmigan/id3v2
type xs:string
source
<xs:element name="title" type="xs:string" minOccurs="0"/>

element v2:frames_t/language
diagram
namespace http://esau.org/ns/ptarmigan/id3v2
type xs:string
source
<xs:element name="language" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>

element v2:frames_t/original-album
diagram
namespace http://esau.org/ns/ptarmigan/id3v2
type xs:string
source
<xs:element name="original-album" type="xs:string" minOccurs="0"/>

element v2:frames_t/original-artist
diagram
namespace http://esau.org/ns/ptarmigan/id3v2
type xs:string
source
<xs:element name="original-artist" type="xs:string" minOccurs="0"/>

element v2:frames_t/lead-performer
diagram
namespace http://esau.org/ns/ptarmigan/id3v2
type xs:string
source
<xs:element name="lead-performer" type="xs:string" minOccurs="0"/>

element v2:frames_t/track