Update the GUPnP-AV.changes file.
[profile/ivi/GUPnP-AV.git] / data / av.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <xsd:schema xmlns:av="urn:schemas-upnp-org:av:av" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:schemas-upnp-org:av:av" version="3-20101231">
3         <xsd:annotation>
4                 <xsd:documentation xml:lang="en">
5                 Note that all schema supplied by the UPnP Forum AV WC committee are for informational use only and that the
6                 standardized DCPs describe the normative requirements for these schema. Some schema provided do not necessarily
7                 embody requirements regarding number of element occurrances allowed or their ordering.
8
9                 Schema for UPnP A/V AV
10                 </xsd:documentation>
11         </xsd:annotation>
12         <!--=============================-=============================-->
13         <!--                       String Types                        -->
14         <!--=============================-=============================-->
15         <xsd:simpleType name="_pName.attributeOnly">
16                 <xsd:annotation>
17                         <xsd:documentation>
18                                 Dependent property name that has no associated independent property.
19                                 MAY include namespace prefix
20                                 MUST NOT include independent property name
21                         </xsd:documentation>
22                 </xsd:annotation>
23                 <xsd:restriction base="xsd:string">
24                         <xsd:pattern value="([\i-[:]][\c-[:]]*:)?@[\i-[:]][\c-[:]]*"/>
25                 </xsd:restriction>
26         </xsd:simpleType>
27         <xsd:simpleType name="_pName.elementIncluded">
28                 <xsd:annotation>
29                         <xsd:documentation>
30                                 General property name type
31                                 MUST include independent property name
32                                 MAY include namespace prefix
33                                 MAY include dependent property name
34                         </xsd:documentation>
35                 </xsd:annotation>
36                 <xsd:restriction base="xsd:string">
37                         <xsd:pattern value="([\i-[:]][\c-[:]]*:)?[\i-[:]][\c-[:]]*(@[\i-[:]][\c-[:]]*)?"/>
38                 </xsd:restriction>
39         </xsd:simpleType>
40         <xsd:simpleType name="pName">
41                 <xsd:union memberTypes="av:_pName.attributeOnly av:_pName.elementIncluded"/>
42         </xsd:simpleType>
43         <xsd:simpleType name="pName.csv.1-n">
44                 <xsd:restriction base="xsd:string">
45                         <xsd:pattern value="(([\i-[:]][\c-[:]]*:)?[\i-[:]][\c-[:]]*(@[\i-[:]][\c-[:]])?)|(@[\i-[:]][\c-[:]])(,(([\i-[:]][\c-[:]]*:)?[\i-[:]][\c-[:]]*(@[\i-[:]][\c-[:]])?)|(@[\i-[:]][\c-[:]]))*"/>
46                 </xsd:restriction>
47         </xsd:simpleType>
48         <xsd:simpleType name="pName.csv.0-n">
49                 <xsd:union memberTypes="av:pName.csv.1-n av:string.len.0"/>
50         </xsd:simpleType>
51         <!--
52              Use the following names in type names that represent individual
53              strings or delimited sequences of strings to distinguish the cases
54              where individual string components MUST be empty vs. MAY be empty vs.
55              MUST NOT be empty:
56
57                 string.len.0
58                 string.len.1_
59                         string.len.0_
60         -->
61         <!--4,294,967,295-->
62         <xsd:simpleType name="_unsignedInt0">
63                 <xsd:restriction base="xsd:token">
64                         <xsd:pattern value="0*[0-9]{1,9}"/>
65                         <xsd:pattern value="0*[1-3][0-9]{9}"/>
66                         <xsd:pattern value="0*4[0-1][0-9]{8}"/>
67                         <xsd:pattern value="0*42[0-8][0-9]{7}"/>
68                         <xsd:pattern value="0*429[0-3][0-9]{6}"/>
69                         <xsd:pattern value="0*4294[0-8][0-9]{5}"/>
70                         <xsd:pattern value="0*42949[0-5][0-9]{4}"/>
71                         <xsd:pattern value="0*429496[0-6][0-9]{3}"/>
72                         <xsd:pattern value="0*4294967[0-1][0-9]{2}"/>
73                         <xsd:pattern value="0*42949672[0-8][0-9]"/>
74                         <xsd:pattern value="0*429496729[0-5]"/>
75                 </xsd:restriction>
76         </xsd:simpleType>
77         <xsd:simpleType name="_unsignedInt">
78                 <xsd:restriction base="xsd:token">
79                         <xsd:pattern value="0*(([0-9]{1,9})|([1-3][0-9]{9})|(4[0-1][0-9]{8})|(42[0-8][0-9]{7})|(429[0-3][0-9]{6})|(4294[0-8][0-9]{5})|(42949[0-5][0-9]{4})|(429496[0-6][0-9]{3})|(4294967[0-1][0-9]{2})|(42949672[0-8][0-9])|(429496729[0-5]))"/>
80                 </xsd:restriction>
81         </xsd:simpleType>
82         <xsd:simpleType name="string.len.0">
83                 <xsd:restriction base="xsd:string">
84                         <xsd:length value="0"/>
85                         <xsd:whiteSpace value="collapse"/>
86                 </xsd:restriction>
87         </xsd:simpleType>
88         <xsd:simpleType name="string.len.1_">
89                 <xsd:restriction base="xsd:string">
90                         <xsd:pattern value="\s*\S+\s*"/>
91                 </xsd:restriction>
92         </xsd:simpleType>
93         <xsd:simpleType name="string.len.0_">
94                 <xsd:restriction base="xsd:string"/>
95         </xsd:simpleType>
96         <xsd:simpleType name="string.len.0_256">
97                 <xsd:restriction base="xsd:string">
98                         <xsd:maxLength value="256"/>
99                 </xsd:restriction>
100         </xsd:simpleType>
101         <xsd:simpleType name="NCName.len.1_31">
102                 <xsd:restriction base="xsd:NCName">
103                         <xsd:maxLength value="31"/>
104                 </xsd:restriction>
105         </xsd:simpleType>
106         <xsd:simpleType name="csv.0_.string.len.1_">
107                 <xsd:restriction base="xsd:string">
108                         <xsd:pattern value="([^,]|\\,)+(,([^,]|\\,)+)*"/>
109                 </xsd:restriction>
110         </xsd:simpleType>
111         <xsd:simpleType name="csv.0_.string.len.0_">
112                 <xsd:restriction base="xsd:string">
113                         <xsd:pattern value="([^,]|\\,)*(,([^,]|\\,)*)*"/>
114                 </xsd:restriction>
115         </xsd:simpleType>
116         <xsd:simpleType name="csv.1_.string.len.1_">
117                 <xsd:restriction base="av:csv.0_.string.len.1_">
118                         <xsd:minLength value="1"/>
119                 </xsd:restriction>
120         </xsd:simpleType>
121         <xsd:simpleType name="csv.1_.string.len.0_">
122                 <xsd:restriction base="av:csv.0_.string.len.0_">
123                         <xsd:minLength value="1"/>
124                 </xsd:restriction>
125         </xsd:simpleType>
126         <xsd:simpleType name="csv.4.string.len.1_">
127                 <xsd:restriction base="av:csv.0_.string.len.1_">
128                         <xsd:pattern value="([^,]|\\,)+(,([^,]|\\,)+){3}"/>
129                 </xsd:restriction>
130         </xsd:simpleType>
131         <xsd:simpleType name="csv.4.string.len.0_">
132                 <xsd:restriction base="av:csv.0_.string.len.0_">
133                         <xsd:pattern value="([^,]|\\,)*(,([^,]|\\,)*){3}"/>
134                 </xsd:restriction>
135         </xsd:simpleType>
136         <xsd:simpleType name="csv.0_.unsignedInteger">
137                 <xsd:union memberTypes="av:csv.1_.unsignedInteger av:string.len.0"/>
138         </xsd:simpleType>
139         <xsd:simpleType name="csv.1_.unsignedInteger">
140                 <xsd:restriction base="xsd:string">
141                         <xsd:pattern value="([0-9]+)(,[0-9]+)*"/>
142                 </xsd:restriction>
143         </xsd:simpleType>
144         <xsd:simpleType name="csv.1_Name">
145                 <xsd:restriction base="xsd:string">
146                         <xsd:pattern value="(\i\c*)(,(\i\c*))*"/>
147                 </xsd:restriction>
148         </xsd:simpleType>
149         <xsd:simpleType name="csv.1_.QName">
150                 <xsd:restriction base="xsd:string">
151                         <xsd:pattern value="([\i-[:]][\c-[:]]*:)?[\i-[:]][\c-[:]]*(,([\i-[:]][\c-[:]]*:)?[\i-[:]][\c-[:]]*)*"/>
152                 </xsd:restriction>
153         </xsd:simpleType>
154         <xsd:simpleType name="csv.1_.NCName">
155                 <xsd:restriction base="av:csv.1_.QName">
156                         <xsd:pattern value="[^:]+"/>
157                 </xsd:restriction>
158         </xsd:simpleType>
159         <xsd:simpleType name="csv.1_.colonDelimPairs">
160                 <xsd:restriction base="xsd:token">
161                         <xsd:pattern value="[^:]+:[^:]+(,[^:]+:[^:]+)*"/>
162                 </xsd:restriction>
163         </xsd:simpleType>
164         <!--=============================-=============================-->
165         <!--                      Named Constants                      -->
166         <!--=============================-=============================-->
167         <xsd:simpleType name="string.const.ALL">
168                 <xsd:restriction base="xsd:string">
169                         <xsd:enumeration value="ALL"/>
170                 </xsd:restriction>
171         </xsd:simpleType>
172         <xsd:simpleType name="string.const.ANY">
173                 <xsd:restriction base="xsd:string">
174                         <xsd:enumeration value="ANY"/>
175                 </xsd:restriction>
176         </xsd:simpleType>
177         <xsd:simpleType name="string.const.AUTO">
178                 <xsd:restriction base="xsd:string">
179                         <xsd:enumeration value="AUTO"/>
180                 </xsd:restriction>
181         </xsd:simpleType>
182         <xsd:simpleType name="string.const.DEFAULT">
183                 <xsd:restriction base="xsd:string">
184                         <xsd:enumeration value="DEFAULT"/>
185                 </xsd:restriction>
186         </xsd:simpleType>
187         <xsd:simpleType name="string.const.FIRST-RUN">
188                 <xsd:restriction base="xsd:string">
189                         <xsd:enumeration value="FIRST-RUN"/>
190                 </xsd:restriction>
191         </xsd:simpleType>
192         <xsd:simpleType name="string.const.HIGHEST">
193                 <xsd:restriction base="xsd:string">
194                         <xsd:enumeration value="HIGHEST"/>
195                 </xsd:restriction>
196         </xsd:simpleType>
197         <xsd:simpleType name="string.const.INFINITY">
198                 <xsd:restriction base="xsd:string">
199                         <xsd:enumeration value="INFINITY"/>
200                 </xsd:restriction>
201         </xsd:simpleType>
202         <xsd:simpleType name="string.const.LOWEST">
203                 <xsd:restriction base="xsd:string">
204                         <xsd:enumeration value="LOWEST"/>
205                 </xsd:restriction>
206         </xsd:simpleType>
207         <xsd:simpleType name="string.const.NOT_IMPLEMENTED">
208                 <xsd:restriction base="xsd:string">
209                         <xsd:enumeration value="NOT_IMPLEMENTED"/>
210                 </xsd:restriction>
211         </xsd:simpleType>
212         <xsd:simpleType name="string.const.NOW">
213                 <xsd:restriction base="xsd:string">
214                         <xsd:enumeration value="NOW"/>
215                 </xsd:restriction>
216         </xsd:simpleType>
217         <xsd:simpleType name="string.const.OBJECTID">
218                 <xsd:restriction base="xsd:string">
219                         <xsd:enumeration value="OBJECTID"/>
220                 </xsd:restriction>
221         </xsd:simpleType>
222         <xsd:simpleType name="string.const.PREDEF">
223                 <xsd:restriction base="xsd:string">
224                         <xsd:enumeration value="PREDEF"/>
225                 </xsd:restriction>
226         </xsd:simpleType>
227         <xsd:simpleType name="string.const.REPEAT">
228                 <xsd:restriction base="xsd:string">
229                         <xsd:enumeration value="REPEAT"/>
230                 </xsd:restriction>
231         </xsd:simpleType>
232         <xsd:simpleType name="string.const.UNBOUNDED">
233                 <xsd:restriction base="xsd:string">
234                         <xsd:enumeration value="UNBOUNDED"/>
235                 </xsd:restriction>
236         </xsd:simpleType>
237         <xsd:simpleType name="string.const.UNKNOWN">
238                 <xsd:restriction base="xsd:string">
239                         <xsd:enumeration value="UNKNOWN"/>
240                 </xsd:restriction>
241         </xsd:simpleType>
242         <!--=============================-=============================-->
243         <!--                     Numeric Datatypes                     -->
244         <!--=============================-=============================-->
245         <xsd:simpleType name="unsignedInt.or.UNKNOWN">
246                 <xsd:union memberTypes="xsd:unsignedInt av:string.const.UNKNOWN"/>
247         </xsd:simpleType>
248         <xsd:simpleType name="unsignedInt.or.UNBOUNDED">
249                 <xsd:union memberTypes="xsd:unsignedInt av:string.const.UNBOUNDED"/>
250         </xsd:simpleType>
251         <xsd:simpleType name="positiveInt">
252                 <xsd:restriction base="xsd:unsignedInt">
253                         <xsd:minInclusive value="1"/>
254                 </xsd:restriction>
255         </xsd:simpleType>
256         <xsd:simpleType name="rational">
257                 <xsd:restriction base="xsd:string">
258                         <xsd:pattern value="-?[0-9]+(/0*[1-9][0-9]*)?"/>
259                 </xsd:restriction>
260         </xsd:simpleType>
261         <xsd:simpleType name="nonZeroRational">
262                 <xsd:restriction base="av:rational">
263                         <xsd:pattern value="[^/]*[1-9].*"/>
264                 </xsd:restriction>
265         </xsd:simpleType>
266         <xsd:simpleType name="long.-1_">
267                 <xsd:restriction base="xsd:long">
268                         <xsd:minInclusive value="-1"/>
269                 </xsd:restriction>
270         </xsd:simpleType>
271         <xsd:simpleType name="int.-1_">
272                 <xsd:restriction base="xsd:int">
273                         <xsd:minInclusive value="-1"/>
274                 </xsd:restriction>
275         </xsd:simpleType>
276         <!--=============================-=============================-->
277         <!--                       Time Datatypes                      -->
278         <!--=============================-=============================-->
279         <!--
280                                 EBNF from ScheduledRecording:1 1.00
281
282                 sched-start             ::=     date-time       |
283                                                                         day-of-yr-time  |
284                                                                         named-day-time  |
285                                                                         T-labeled-time  |
286                                                                         'NOW'
287                 start-range             ::=     (date-time|'NOW') '/' (date-time|'INFINITY')
288
289                 duration                        ::=     'P' [n 'D'] time
290                 duration-long   ::=     duration|'INFINITY'
291                 duration-any    ::=     duration|'INFINITY'|'ANY'
292                 duration-adj    ::=     ('+'|'-') duration
293                 duration-range  ::=     duration '/' duration-long
294
295                 date-time               ::=     yyyy '-' mm '-' dd T-labeled-time
296                 day-of-yr-time  ::=              mm '-' dd T-labeled-time
297                 named-day-time  ::=              named-day T-labeled-time
298
299                 T-labeled-time  ::=     'T' time [zone]
300                 time                            ::=     HH ':' MM ':' SS
301                 zone                            ::=     'Z'|(('+'|'-') HH ':' MM)
302                 month-day               ::=     mm '-' dd
303                 named-day               ::=     'MON'|'TUE'|'WED'|'THU'|'FRI'|'SAT'|'SUN'|
304                                                                         'MON-FRI'|'MON-SAT'
305                 n                                       ::=     1*DIGIT (* non-negative integer *)
306                 yyyy                            ::=     4DIGIT  (* 0001-9999 *)
307                 mm                                      ::=     2DIGIT  (* 01-12 *)
308
309         -->
310         <xsd:simpleType name="dateTime">
311                 <xsd:annotation>
312                         <xsd:documentation> Disallows fractional seconds </xsd:documentation>
313                 </xsd:annotation>
314                 <xsd:restriction base="xsd:dateTime">
315                         <xsd:pattern value="[^\.]*"/>
316                 </xsd:restriction>
317         </xsd:simpleType>
318         <xsd:simpleType name="signedDuration">
319                 <xsd:restriction base="xsd:token">
320                         <xsd:pattern value="[-+]P([0-9]*D)?(2[0-3]|[0-1][0-9])(:[0-5][0-9]){2}"/>
321                 </xsd:restriction>
322         </xsd:simpleType>
323         <xsd:simpleType name="unsignedDuration">
324                 <xsd:restriction base="xsd:string">
325                         <xsd:pattern value="P([0-9]*D)?(2[0-3]|[0-1][0-9])(:[0-5][0-9]){2}"/>
326                 </xsd:restriction>
327         </xsd:simpleType>
328         <xsd:simpleType name="unsignedDuration.or.INFINITY">
329                 <xsd:union memberTypes="av:unsignedDuration av:string.const.INFINITY"/>
330         </xsd:simpleType>
331         <xsd:simpleType name="unsignedDuration.or.INFINITY.or.ANY">
332                 <xsd:union memberTypes="av:unsignedDuration.or.INFINITY av:string.const.ANY"/>
333         </xsd:simpleType>
334         <xsd:simpleType name="dayOfWeek.en.len.3">
335                 <xsd:restriction base="xsd:token">
336                         <xsd:enumeration value="SUN"/>
337                         <xsd:enumeration value="MON"/>
338                         <xsd:enumeration value="TUE"/>
339                         <xsd:enumeration value="WED"/>
340                         <xsd:enumeration value="THU"/>
341                         <xsd:enumeration value="FRI"/>
342                         <xsd:enumeration value="SAT"/>
343                 </xsd:restriction>
344         </xsd:simpleType>
345         <!-- Original duration definition in CDS:1 -->
346         <xsd:simpleType name="duration.cds1.decFrac">
347                 <xsd:restriction base="xsd:string">
348                         <xsd:pattern value="[-+]?[0-9]+(:[0-5][0-9]){2}(\.[0-9]+)?"/>
349                 </xsd:restriction>
350                 <!-- Decimal fraction version -->
351         </xsd:simpleType>
352         <xsd:simpleType name="duration.cds1.numDenomFrac">
353                 <xsd:restriction base="xsd:string">
354                         <xsd:pattern value="[-+]?[0-9]+(:[0-5][0-9]){2}(\.[0-9]+/[0-9]+)?"/>
355                 </xsd:restriction>
356                 <!-- Numerator/denominator fraction version -->
357         </xsd:simpleType>
358         <xsd:simpleType name="duration.cds1">
359                 <xsd:union memberTypes="av:duration.cds1.decFrac av:duration.cds1.numDenomFrac"/>
360         </xsd:simpleType>
361         <xsd:simpleType name="duration.cds1.or.NOT_IMPLEMENTED">
362                 <xsd:union memberTypes="av:duration.cds1 av:string.const.NOT_IMPLEMENTED"/>
363         </xsd:simpleType>
364         <xsd:simpleType name="daylightSaving.type">
365                 <xsd:restriction base="xsd:string"/>
366         </xsd:simpleType>
367         <xsd:simpleType name="startTimeUsage">
368                 <xsd:restriction base="xsd:string"/>
369         </xsd:simpleType>
370         <!--=============================-=============================-->
371         <!--                Internet-related datatypes                 -->
372         <!--=============================-=============================-->
373         <xsd:simpleType name="domainName">
374                 <xsd:restriction base="xsd:string">
375                         <xsd:pattern value="([^\.]+\.)+[^\.]+\.?"/>
376                 </xsd:restriction>
377         </xsd:simpleType>
378         <!--===========================================================-->
379         <!--                                                           -->
380         <!--                  UPnP Specific Datatypes                  -->
381         <!--                                                           -->
382         <!--===========================================================-->
383         <xsd:simpleType name="UDN">
384                 <xsd:restriction base="xsd:anyURI">
385                         <xsd:pattern value="uuid:.+"/>
386                 </xsd:restriction>
387         </xsd:simpleType>
388         <!--===========================================================-->
389         <!--                                                           -->
390         <!--                   AV Specific Datatypes                   -->
391         <!--                                                           -->
392         <!--===========================================================-->
393         <xsd:simpleType name="sched-start">
394                 <xsd:union memberTypes="av:dateTime xsd:string"/>
395         </xsd:simpleType>
396         <xsd:simpleType name="dateTime-range">
397                 <xsd:restriction base="xsd:token">
398                         <xsd:pattern value=".+/.+"/>
399                 </xsd:restriction>
400         </xsd:simpleType>
401         <xsd:simpleType name="duration-range">
402                 <xsd:restriction base="xsd:token">
403                         <xsd:pattern value=".+/.+"/>
404                 </xsd:restriction>
405         </xsd:simpleType>
406         <xsd:simpleType name="radioBand.wc.values">
407                 <xsd:restriction base="xsd:token">
408                         <xsd:enumeration value="AM"/>
409                         <xsd:enumeration value="FM"/>
410                         <xsd:enumeration value="Shortwave"/>
411                         <xsd:enumeration value="Internet"/>
412                         <xsd:enumeration value="Satellite"/>
413                 </xsd:restriction>
414         </xsd:simpleType>
415         <xsd:simpleType name="radioBand.type">
416                 <xsd:union memberTypes="av:radioBand.wc.values av:radioBand.vx.values"/>
417         </xsd:simpleType>
418         <!--=============================-=============================-->
419         <!--                    Simple Common Types                    -->
420         <!--=============================-=============================-->
421         <xsd:simpleType name="_id.type">
422                 <xsd:restriction base="xsd:string"/>
423         </xsd:simpleType>
424         <xsd:simpleType name="_classNameBase.type">
425                 <xsd:restriction base="xsd:NCName"/>
426         </xsd:simpleType>
427         <xsd:simpleType name="_title.type">
428                 <xsd:restriction base="xsd:string"/>
429         </xsd:simpleType>
430         <xsd:simpleType name="stateUpdateID.type">
431                 <xsd:restriction base="xsd:unsignedInt"/>
432         </xsd:simpleType>
433         <xsd:simpleType name="string.domainNamePrefixed">
434                 <xsd:annotation>
435                         <xsd:documentation>
436                                 string.domainNamePrefixed == Domain Name Prefix type
437                                 This type is defined in ContentDirectory:2 and ScheduledRecording:1 as
438                                 string.domainNamePrefixed ::= domain-name '_' string
439                                 Therefore, the only requirement imposed here is the occurrence of at
440                                 least one underscore that has at least one character before and after it.
441                         </xsd:documentation>
442                 </xsd:annotation>
443                 <xsd:restriction base="xsd:string">
444                         <xsd:pattern value=".+_.+"/>
445                 </xsd:restriction>
446         </xsd:simpleType>
447         <!--=============================-=============================-->
448         <!--                   Storage Related Types                   -->
449         <!--=============================-=============================-->
450         <xsd:complexType name="storageMedium.type">
451                 <xsd:attribute name="val" type="av:storageMedium.values" use="required"/>
452         </xsd:complexType>
453         <xsd:simpleType name="storageMedium.wc.values">
454                 <xsd:restriction base="xsd:string">
455                         <xsd:enumeration value="UNKNOWN"/>
456                         <xsd:enumeration value="DV"/>
457                         <xsd:enumeration value="MINI-DV"/>
458                         <xsd:enumeration value="VHS"/>
459                         <xsd:enumeration value="W-VHS"/>
460                         <xsd:enumeration value="S-VHS"/>
461                         <xsd:enumeration value="D-VHS"/>
462                         <xsd:enumeration value="VHSC"/>
463                         <xsd:enumeration value="VIDEO8"/>
464                         <xsd:enumeration value="HI8"/>
465                         <xsd:enumeration value="CD-ROM"/>
466                         <xsd:enumeration value="CD-DA"/>
467                         <xsd:enumeration value="CD-R"/>
468                         <xsd:enumeration value="CD-RW"/>
469                         <xsd:enumeration value="VIDEO-CD"/>
470                         <xsd:enumeration value="SACD"/>
471                         <xsd:enumeration value="MD-AUDIO"/>
472                         <xsd:enumeration value="MD-PICTURE"/>
473                         <xsd:enumeration value="DVD-ROM"/>
474                         <xsd:enumeration value="DVD-VIDEO"/>
475                         <xsd:enumeration value="DVD+R"/>
476                         <xsd:enumeration value="DVD-R"/>
477                         <xsd:enumeration value="DVD+RW"/>
478                         <xsd:enumeration value="DVD-RW"/>
479                         <xsd:enumeration value="DVD-RAM"/>
480                         <xsd:enumeration value="DVD-AUDIO"/>
481                         <xsd:enumeration value="DAT"/>
482                         <xsd:enumeration value="LD"/>
483                         <xsd:enumeration value="HDD"/>
484                         <xsd:enumeration value="MICRO-MV"/>
485                         <xsd:enumeration value="NETWORK"/>
486                         <xsd:enumeration value="NONE"/>
487                         <xsd:enumeration value="NOT_IMPLEMENTED"/>
488                         <xsd:enumeration value="SD"/>
489                         <xsd:enumeration value="PC-CARD"/>
490                         <xsd:enumeration value="MMC"/>
491                         <xsd:enumeration value="CF"/>
492                         <xsd:enumeration value="BD"/>
493                         <xsd:enumeration value="MS"/>
494                         <xsd:enumeration value="HD_DVD"/>
495                 </xsd:restriction>
496         </xsd:simpleType>
497         <xsd:simpleType name="storageMedium.values">
498                 <xsd:union memberTypes="av:storageMedium.wc.values av:storageMedium.vx.values"/>
499         </xsd:simpleType>
500         <!--=============================-=============================-->
501         <!--                   Program Related Types                   -->
502         <!--=============================-=============================-->
503         <xsd:simpleType name="SIprogramID.type">
504                 <xsd:restriction base="av:csv.4.string.len.1_"/>
505         </xsd:simpleType>
506         <xsd:simpleType name="SIseriesID.type">
507                 <xsd:restriction base="av:csv.4.string.len.1_"/>
508         </xsd:simpleType>
509         <xsd:simpleType name="programID_at_type.wc.values">
510                 <xsd:restriction base="xsd:token">
511                         <xsd:enumeration value="SI_PROGRAMID"/>
512                         <xsd:enumeration value="SI_SERIESID"/>
513                 </xsd:restriction>
514         </xsd:simpleType>
515         <xsd:simpleType name="programID_at_type.values">
516                 <xsd:union memberTypes="av:programID_at_type.wc.values av:programID_at_type.vx.values"/>
517         </xsd:simpleType>
518         <xsd:complexType name="programID.type">
519                 <xsd:simpleContent>
520                         <xsd:extension base="xsd:string">
521                                 <xsd:attribute name="type" type="av:programID_at_type.values"/>
522                         </xsd:extension>
523                 </xsd:simpleContent>
524         </xsd:complexType>
525         <xsd:simpleType name="channelID_at_type.wc.values">
526                 <xsd:restriction base="xsd:token">
527                         <xsd:enumeration value="ANALOG"/>
528                         <xsd:enumeration value="DIGITAL"/>
529                         <xsd:enumeration value="FREQUENCY"/>
530                         <xsd:enumeration value="SI"/>
531                         <xsd:enumeration value="LINE"/>
532                         <xsd:enumeration value="NETWORK"/>
533                 </xsd:restriction>
534         </xsd:simpleType>
535         <xsd:simpleType name="channelID_at_type.values">
536                 <xsd:union memberTypes="av:channelID_at_type.wc.values av:channelID_at_type.vx.values"/>
537         </xsd:simpleType>
538         <xsd:complexType name="channelID.type">
539                 <xsd:simpleContent>
540                         <xsd:extension base="xsd:token">
541                                 <xsd:attribute name="type" type="av:channelID_at_type.values" use="required"/>
542                         </xsd:extension>
543                 </xsd:simpleContent>
544         </xsd:complexType>
545         <xsd:simpleType name="csv.1_.allowedUse">
546                 <xsd:restriction base="xsd:token">
547                         <xsd:pattern value="(PLAY|COPY|MOVE|UNKNOWN):(-1|[0-9]+)(,(PLAY|COPY|MOVE|UNKNOWN):(-1|[0-9]+))*"/>
548                 </xsd:restriction>
549         </xsd:simpleType>
550         <xsd:complexType name="programCode.type">
551                 <xsd:simpleContent>
552                         <xsd:extension base="xsd:token">
553                                 <xsd:attribute name="type" type="av:programCode_at_type.vd.values"/>
554                         </xsd:extension>
555                 </xsd:simpleContent>
556         </xsd:complexType>
557         <xsd:simpleType name="rating_at_type.wc.values">
558                 <xsd:restriction base="xsd:token">
559                         <xsd:enumeration value="MPAA.ORG"/>
560                         <xsd:enumeration value="RIAA.ORG"/>
561                         <xsd:enumeration value="ESRB.ORG"/>
562                         <xsd:enumeration value="TVGUIDELINES.ORG"/>
563                 </xsd:restriction>
564         </xsd:simpleType>
565         <xsd:simpleType name="rating_at_type.values">
566                 <xsd:union memberTypes="av:rating_at_type.wc.values av:rating_at_type.vx.values"/>
567         </xsd:simpleType>
568         <xsd:simpleType name="rating.MPAA.ORG.values">
569                 <xsd:restriction base="xsd:token">
570                         <xsd:enumeration value="G"/>
571                         <xsd:enumeration value="PG"/>
572                         <xsd:enumeration value="R"/>
573                         <xsd:enumeration value="PG-13"/>
574                         <xsd:enumeration value="R"/>
575                         <xsd:enumeration value="NC-17"/>
576                         <xsd:enumeration value="NR"/>
577                 </xsd:restriction>
578         </xsd:simpleType>
579         <xsd:simpleType name="rating.RIIA.ORG.values">
580                 <xsd:restriction base="xsd:token">
581                         <xsd:enumeration value=""/>
582                         <xsd:enumeration value="PA-EC"/>
583                 </xsd:restriction>
584         </xsd:simpleType>
585         <xsd:simpleType name="rating.ESRB.ORG.values">
586                 <xsd:restriction base="xsd:token">
587                         <xsd:enumeration value="EC"/>
588                         <xsd:enumeration value="E"/>
589                         <xsd:enumeration value="E10+"/>
590                         <xsd:enumeration value="T"/>
591                         <xsd:enumeration value="M"/>
592                         <xsd:enumeration value="AO"/>
593                         <xsd:enumeration value="RP"/>
594                 </xsd:restriction>
595         </xsd:simpleType>
596         <xsd:simpleType name="rating.TVGUIDELINES.ORG.values">
597                 <xsd:restriction base="xsd:token">
598                         <xsd:enumeration value="TV-Y"/>
599                         <xsd:enumeration value="TV-Y7"/>
600                         <xsd:enumeration value="TV-Y7FV"/>
601                         <xsd:enumeration value="TV-G"/>
602                         <xsd:enumeration value="TV-PG"/>
603                         <xsd:enumeration value="TV-14"/>
604                         <xsd:enumeration value="TV-MA"/>
605                 </xsd:restriction>
606         </xsd:simpleType>
607         <xsd:simpleType name="rating.wc.values">
608                 <xsd:union memberTypes="av:rating.MPAA.ORG.values av:rating.RIIA.ORG.values av:rating.ESRB.ORG.values av:rating.TVGUIDELINES.ORG.values"/>
609         </xsd:simpleType>
610         <xsd:simpleType name="rating.values">
611                 <xsd:union memberTypes="av:rating.wc.values av:rating.vx.values"/>
612         </xsd:simpleType>
613         <xsd:complexType name="rating.type">
614                 <xsd:simpleContent>
615                         <xsd:extension base="av:rating.values">
616                                 <xsd:attribute name="type" type="av:rating_at_type.values"/>
617                         </xsd:extension>
618                 </xsd:simpleContent>
619         </xsd:complexType>
620         <xsd:simpleType name="FIRST-RUN.or.REPEAT">
621                 <xsd:union memberTypes="av:string.const.FIRST-RUN av:string.const.REPEAT"/>
622         </xsd:simpleType>
623         <xsd:simpleType name="ALL.or.FIRST-RUN.or.REPEAT">
624                 <xsd:union memberTypes="av:string.const.ALL av:string.const.FIRST-RUN av:string.const.REPEAT"/>
625         </xsd:simpleType>
626         <!--=============================-=============================-->
627         <!--          User Channel and EPG Related Properties          -->
628         <!--=============================-=============================-->
629         <xsd:complexType name="channelGroupName.type">
630                 <xsd:simpleContent>
631                         <xsd:extension base="xsd:string">
632                                 <xsd:attribute name="id" type="av:string.domainNamePrefixed"/>
633                         </xsd:extension>
634                 </xsd:simpleContent>
635         </xsd:complexType>
636         <xsd:simpleType name="stationCallSign.type">
637                 <xsd:restriction base="xsd:string"/>
638         </xsd:simpleType>
639         <xsd:simpleType name="signalStrength.wc.type">
640                 <xsd:restriction base="xsd:int">
641                         <xsd:minInclusive value="-1"/>
642                         <xsd:maxInclusive value="100"/>
643                 </xsd:restriction>
644         </xsd:simpleType>
645         <xsd:simpleType name="signalStrength.type">
646                 <xsd:union memberTypes="av:signalStrength.wc.type av:signalStrength.vx.type"/>
647         </xsd:simpleType>
648         <!--=============================-=============================-->
649         <!--                Bookmark Related Properties                -->
650         <!--=============================-=============================-->
651         <xsd:simpleType name="serviceType">
652                 <xsd:restriction base="xsd:token">
653                         <xsd:pattern value="[^#:]{1,64}:[1-9][0-9]*"/>
654                 </xsd:restriction>
655         </xsd:simpleType>
656         <xsd:simpleType name="serviceId">
657                 <xsd:restriction base="xsd:token">
658                         <xsd:pattern value="[^:]{1,64}"/>
659                 </xsd:restriction>
660         </xsd:simpleType>
661         <xsd:complexType name="deviceUDN.type">
662                 <xsd:simpleContent>
663                         <xsd:extension base="av:UDN">
664                                 <xsd:attribute name="serviceType" type="av:serviceType" use="required"/>
665                                 <xsd:attribute name="serviceId" type="av:serviceId" use="required"/>
666                         </xsd:extension>
667                 </xsd:simpleContent>
668         </xsd:complexType>
669         <!--=================================-=================================-->
670         <!--                                                                   -->
671         <!--                    Extension Master Datatypes                     -->
672         <!--                                                                   -->
673         <!--=================================-=================================-->
674         <xsd:simpleType name="extensions.simpleType.none">
675                 <xsd:annotation>
676                         <xsd:documentation xml:lang="en">
677                                 Use this type wherever extensions to a simpleType are allowed by the specification,
678                                 but they are disallowed for testing validation purposes.
679                         </xsd:documentation>
680                 </xsd:annotation>
681                 <xsd:restriction base="xsd:NCName">
682                         <xsd:pattern value="[:]+"/>
683                 </xsd:restriction>
684         </xsd:simpleType>
685         <xsd:group name="extensions.elementType.none">
686                 <xsd:annotation>
687                         <xsd:documentation xml:lang="en">
688                                 Use this group wherever element extensions are allowed by the specification,
689                                 but they are disallowed for testing validation purposes.
690                         </xsd:documentation>
691                 </xsd:annotation>
692                 <xsd:choice>
693                         <xsd:any minOccurs="0" maxOccurs="0"/>
694                 </xsd:choice>
695         </xsd:group>
696         <xsd:attributeGroup name="extensions.attributes.none">
697                 <xsd:annotation>
698                         <xsd:documentation xml:lang="en">
699                                 Use this group wherever attribute extensions are allowed by the specification,
700                                 but they are disallowed for testing validation purposes.
701                         </xsd:documentation>
702                 </xsd:annotation>
703         </xsd:attributeGroup>
704         <xsd:simpleType name="extensions.simpleType.any">
705                 <xsd:annotation>
706                         <xsd:documentation xml:lang="en">
707                                 Use this type wherever extensions to a simpleType are allowed by the specification,
708                                 and no constraints are imposed for testing validation purposes.
709                         </xsd:documentation>
710                 </xsd:annotation>
711                 <xsd:union memberTypes="xsd:duration xsd:date xsd:dateTime xsd:time xsd:gDay xsd:gMonth xsd:gMonthDay xsd:gYear xsd:gYearMonth xsd:boolean xsd:float xsd:decimal xsd:double xsd:anyURI xsd:QName xsd:string xsd:base64Binary xsd:hexBinary"/>
712         </xsd:simpleType>
713         <xsd:group name="extensions.elementType.any">
714                 <xsd:annotation>
715                         <xsd:documentation xml:lang="en">
716                                 Use this group wherever element extensions are allowed by the specification,
717                                 and no constraints are imposed for testing validation purposes.
718                         </xsd:documentation>
719                 </xsd:annotation>
720                 <xsd:choice>
721                         <xsd:any minOccurs="0" maxOccurs="unbounded"/>
722                 </xsd:choice>
723         </xsd:group>
724         <xsd:attributeGroup name="extensions.attributes.any">
725                 <xsd:annotation>
726                         <xsd:documentation xml:lang="en">
727                                 Use this group wherever attribute extensions are allowed by the specification,
728                                 and no constraints are imposed for testing validation purposes.
729                         </xsd:documentation>
730                 </xsd:annotation>
731                 <xsd:anyAttribute/>
732         </xsd:attributeGroup>
733         <!--===================================================================-->
734         <!--                                                                   -->
735         <!--                   Extension Component Datatypes                   -->
736         <!--                                                                   -->
737         <!--===================================================================-->
738         <xsd:simpleType name="storageMedium.vx.values">
739                 <xsd:restriction base="av:extensions.simpleType.any"/>
740         </xsd:simpleType>
741         <xsd:simpleType name="programID_at_type.vx.values">
742                 <xsd:restriction base="av:domainName"/>
743         </xsd:simpleType>
744         <xsd:simpleType name="channelID_at_type.vx.values">
745                 <xsd:restriction base="xsd:token"/>
746         </xsd:simpleType>
747         <xsd:simpleType name="rating_at_type.vx.values">
748                 <xsd:restriction base="av:string.domainNamePrefixed"/>
749         </xsd:simpleType>
750         <xsd:simpleType name="rating.vx.values">
751                 <xsd:restriction base="xsd:string"/>
752         </xsd:simpleType>
753         <xsd:simpleType name="radioBand.vx.values">
754                 <xsd:restriction base="xsd:token"/>
755         </xsd:simpleType>
756         <xsd:simpleType name="signalStrength.vx.type">
757                 <xsd:restriction base="xsd:int"/>
758         </xsd:simpleType>
759         <!--===================================================================-->
760         <!--                                                                   -->
761         <!--                Vendor-Defined Component Datatypes                 -->
762         <!--                                                                   -->
763         <!--===================================================================-->
764         <xsd:simpleType name="didl-lite_COLON_at_id.vd.type">
765                 <xsd:restriction base="av:_id.type"/>
766         </xsd:simpleType>
767         <xsd:simpleType name="srs_COLON_at_id.vd.type">
768                 <xsd:restriction base="av:_id.type"/>
769         </xsd:simpleType>
770         <xsd:simpleType name="programCode_at_type.vd.values">
771                 <xsd:restriction base="av:string.domainNamePrefixed"/>
772         </xsd:simpleType>
773 </xsd:schema>