(no commit message)
[cdmlib.git] / cdmlib-io / src / main / resources / schema / cdm / media.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0"
3 targetNamespace="http://etaxonomy.eu/cdm/model/media/1.0"
4 xmlns:media="http://etaxonomy.eu/cdm/model/media/1.0"
5 xmlns:agent="http://etaxonomy.eu/cdm/model/agent/1.0"
6 xmlns:xs="http://www.w3.org/2001/XMLSchema"
7 xmlns:common="http://etaxonomy.eu/cdm/model/common/1.0"
8 xmlns:cdm="http://etaxonomy.eu/cdm/model/1.0"
9 xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
10 xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
11 jxb:extensionBindingPrefixes="xjc"
12 jxb:version="2.1"
13 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
14 xsi:schemaLocation="http://www.w3.org/XML/1998/namespace
15 http://www.w3.org/2005/08/xml.xsd
16 http://www.w3.org/2001/XMLSchema
17 http://www.w3.org/2001/XMLSchema.xsd">
18 <xs:import namespace="http://etaxonomy.eu/cdm/model/1.0" schemaLocation="cdm.xsd"/>
19 <xs:import namespace="http://etaxonomy.eu/cdm/model/agent/1.0" schemaLocation="agent.xsd"/>
20 <xs:import namespace="http://etaxonomy.eu/cdm/model/common/1.0" schemaLocation="common.xsd"/>
21 <xs:annotation>
22 <xs:appinfo>
23 <jxb:schemaBindings>
24 <jxb:package name="eu.etaxonomy.cdm.model.media"/>
25 </jxb:schemaBindings>
26 </xs:appinfo>
27 </xs:annotation>
28 <xs:element name="AudioFile" type="media:AudioFile"/>
29
30 <xs:element name="ImageFile" type="media:ImageFile"/>
31
32 <xs:element name="Media" type="media:Media"/>
33
34 <xs:element name="MovieFile" type="media:MovieFile"/>
35
36 <xs:element name="ReferencedMedia" type="media:ReferencedMedia"/>
37
38 <xs:element name="Rights" type="media:Rights"/>
39
40 <xs:element name="RightsTerm" type="media:RightsTerm"/>
41
42 <xs:complexType name="Media">
43 <xs:complexContent>
44 <xs:extension base="common:IdentifiableEntity">
45 <xs:sequence>
46 <xs:element name="MediaTitle" type="common:MultilanguageText" minOccurs="0"/>
47 <xs:element name="MediaCreated" type="xs:string" minOccurs="0"/>
48 <xs:element name="MediaDescription" type="common:MultilanguageText" minOccurs="0"/>
49 <xs:element name="MediaRepresentations" minOccurs="0">
50 <xs:complexType>
51 <xs:sequence>
52 <xs:element name="MediaRepresentation" type="media:MediaRepresentation" minOccurs="0" maxOccurs="unbounded"/>
53 </xs:sequence>
54 </xs:complexType>
55 </xs:element>
56 <xs:element name="Artist" type="xs:IDREF" minOccurs="0"/>
57 </xs:sequence>
58 </xs:extension>
59 </xs:complexContent>
60 </xs:complexType>
61
62 <xs:complexType name="IdentifiableMediaEntity" abstract="true">
63 <xs:complexContent>
64 <xs:extension base="common:IdentifiableEntity">
65 <xs:sequence>
66 <xs:element name="Media" minOccurs="0">
67 <xs:complexType>
68 <xs:sequence>
69 <xs:element name="Medium" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
70 </xs:sequence>
71 </xs:complexType>
72 </xs:element>
73 </xs:sequence>
74 </xs:extension>
75 </xs:complexContent>
76 </xs:complexType>
77
78 <xs:complexType name="Rights">
79 <xs:complexContent>
80 <xs:extension base="common:LanguageStringBase">
81 <xs:sequence>
82 <xs:element name="URI" type="xs:anyURI" minOccurs="0"/>
83 <xs:element name="AbbreviatedText" type="xs:string" minOccurs="0"/>
84 <xs:element name="Type" type="xs:IDREF" minOccurs="0"/>
85 <xs:element name="Agent" type="xs:IDREF" minOccurs="0"/>
86 </xs:sequence>
87 </xs:extension>
88 </xs:complexContent>
89 </xs:complexType>
90
91 <xs:complexType name="RightsTerm">
92 <xs:complexContent>
93 <xs:extension base="common:DefinedTermBase">
94 <xs:sequence/>
95 </xs:extension>
96 </xs:complexContent>
97 </xs:complexType>
98
99 <xs:complexType name="MediaRepresentation">
100 <xs:complexContent>
101 <xs:extension base="common:VersionableEntity">
102 <xs:sequence>
103 <xs:element name="MimeType" type="xs:string" minOccurs="0"/>
104 <xs:element name="Suffix" type="xs:string" minOccurs="0"/>
105 <xs:element name="Media" type="xs:IDREF"/>
106 <xs:element name="MediaRepresentationParts" minOccurs="0">
107 <xs:complexType>
108 <xs:sequence>
109 <xs:choice minOccurs="0" maxOccurs="unbounded">
110 <xs:element ref="media:AudioFile"/>
111 <xs:element ref="media:ImageFile"/>
112 <xs:element ref="media:MovieFile"/>
113 </xs:choice>
114 </xs:sequence>
115 </xs:complexType>
116 </xs:element>
117 </xs:sequence>
118 </xs:extension>
119 </xs:complexContent>
120 </xs:complexType>
121
122 <xs:complexType name="AudioFile">
123 <xs:complexContent>
124 <xs:extension base="media:MediaRepresentationPart">
125 <xs:sequence>
126 <xs:element name="Duration" type="xs:int"/>
127 </xs:sequence>
128 </xs:extension>
129 </xs:complexContent>
130 </xs:complexType>
131
132 <xs:complexType name="MediaRepresentationPart">
133 <xs:complexContent>
134 <xs:extension base="common:VersionableEntity">
135 <xs:sequence>
136 <xs:element name="URI" type="xs:anyURI" minOccurs="0"/>
137 <xs:element name="Size" type="xs:int" minOccurs="0"/>
138 <xs:element name="MediaRepresentation" type="xs:IDREF"/>
139 </xs:sequence>
140 </xs:extension>
141 </xs:complexContent>
142 </xs:complexType>
143
144 <xs:complexType name="ImageFile">
145 <xs:complexContent>
146 <xs:extension base="media:MediaRepresentationPart">
147 <xs:sequence>
148 <xs:element name="Height" type="xs:int"/>
149 <xs:element name="Width" type="xs:int"/>
150 </xs:sequence>
151 </xs:extension>
152 </xs:complexContent>
153 </xs:complexType>
154
155 <xs:complexType name="MovieFile">
156 <xs:complexContent>
157 <xs:extension base="media:MediaRepresentationPart">
158 <xs:sequence>
159 <xs:element name="Duration" type="xs:int"/>
160 </xs:sequence>
161 </xs:extension>
162 </xs:complexContent>
163 </xs:complexType>
164
165 <xs:complexType name="ReferencedMedia" abstract="true">
166 <xs:complexContent>
167 <xs:extension base="media:Media">
168 <xs:sequence>
169 <xs:element name="CitationMicroReference" type="xs:string" minOccurs="0"/>
170 <xs:element name="Citation" type="xs:IDREF" minOccurs="0"/>
171 </xs:sequence>
172 </xs:extension>
173 </xs:complexContent>
174 </xs:complexType>
175 </xs:schema>
176