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">
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.
12 <!--=============================-=============================-->
14 <!--=============================-=============================-->
15 <xsd:simpleType name="_pName.attributeOnly">
18 Dependent property name that has no associated independent property.
19 MAY include namespace prefix
20 MUST NOT include independent property name
23 <xsd:restriction base="xsd:string">
24 <xsd:pattern value="([\i-[:]][\c-[:]]*:)?@[\i-[:]][\c-[:]]*"/>
27 <xsd:simpleType name="_pName.elementIncluded">
30 General property name type
31 MUST include independent property name
32 MAY include namespace prefix
33 MAY include dependent property name
36 <xsd:restriction base="xsd:string">
37 <xsd:pattern value="([\i-[:]][\c-[:]]*:)?[\i-[:]][\c-[:]]*(@[\i-[:]][\c-[:]]*)?"/>
40 <xsd:simpleType name="pName">
41 <xsd:union memberTypes="av:_pName.attributeOnly av:_pName.elementIncluded"/>
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-[:]]))*"/>
48 <xsd:simpleType name="pName.csv.0-n">
49 <xsd:union memberTypes="av:pName.csv.1-n av:string.len.0"/>
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.
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]"/>
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]))"/>
82 <xsd:simpleType name="string.len.0">
83 <xsd:restriction base="xsd:string">
84 <xsd:length value="0"/>
85 <xsd:whiteSpace value="collapse"/>
88 <xsd:simpleType name="string.len.1_">
89 <xsd:restriction base="xsd:string">
90 <xsd:pattern value="\s*\S+\s*"/>
93 <xsd:simpleType name="string.len.0_">
94 <xsd:restriction base="xsd:string"/>
96 <xsd:simpleType name="string.len.0_256">
97 <xsd:restriction base="xsd:string">
98 <xsd:maxLength value="256"/>
101 <xsd:simpleType name="NCName.len.1_31">
102 <xsd:restriction base="xsd:NCName">
103 <xsd:maxLength value="31"/>
106 <xsd:simpleType name="csv.0_.string.len.1_">
107 <xsd:restriction base="xsd:string">
108 <xsd:pattern value="([^,]|\\,)+(,([^,]|\\,)+)*"/>
111 <xsd:simpleType name="csv.0_.string.len.0_">
112 <xsd:restriction base="xsd:string">
113 <xsd:pattern value="([^,]|\\,)*(,([^,]|\\,)*)*"/>
116 <xsd:simpleType name="csv.1_.string.len.1_">
117 <xsd:restriction base="av:csv.0_.string.len.1_">
118 <xsd:minLength value="1"/>
121 <xsd:simpleType name="csv.1_.string.len.0_">
122 <xsd:restriction base="av:csv.0_.string.len.0_">
123 <xsd:minLength value="1"/>
126 <xsd:simpleType name="csv.4.string.len.1_">
127 <xsd:restriction base="av:csv.0_.string.len.1_">
128 <xsd:pattern value="([^,]|\\,)+(,([^,]|\\,)+){3}"/>
131 <xsd:simpleType name="csv.4.string.len.0_">
132 <xsd:restriction base="av:csv.0_.string.len.0_">
133 <xsd:pattern value="([^,]|\\,)*(,([^,]|\\,)*){3}"/>
136 <xsd:simpleType name="csv.0_.unsignedInteger">
137 <xsd:union memberTypes="av:csv.1_.unsignedInteger av:string.len.0"/>
139 <xsd:simpleType name="csv.1_.unsignedInteger">
140 <xsd:restriction base="xsd:string">
141 <xsd:pattern value="([0-9]+)(,[0-9]+)*"/>
144 <xsd:simpleType name="csv.1_Name">
145 <xsd:restriction base="xsd:string">
146 <xsd:pattern value="(\i\c*)(,(\i\c*))*"/>
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-[:]]*)*"/>
154 <xsd:simpleType name="csv.1_.NCName">
155 <xsd:restriction base="av:csv.1_.QName">
156 <xsd:pattern value="[^:]+"/>
159 <xsd:simpleType name="csv.1_.colonDelimPairs">
160 <xsd:restriction base="xsd:token">
161 <xsd:pattern value="[^:]+:[^:]+(,[^:]+:[^:]+)*"/>
164 <!--=============================-=============================-->
165 <!-- Named Constants -->
166 <!--=============================-=============================-->
167 <xsd:simpleType name="string.const.ALL">
168 <xsd:restriction base="xsd:string">
169 <xsd:enumeration value="ALL"/>
172 <xsd:simpleType name="string.const.ANY">
173 <xsd:restriction base="xsd:string">
174 <xsd:enumeration value="ANY"/>
177 <xsd:simpleType name="string.const.AUTO">
178 <xsd:restriction base="xsd:string">
179 <xsd:enumeration value="AUTO"/>
182 <xsd:simpleType name="string.const.DEFAULT">
183 <xsd:restriction base="xsd:string">
184 <xsd:enumeration value="DEFAULT"/>
187 <xsd:simpleType name="string.const.FIRST-RUN">
188 <xsd:restriction base="xsd:string">
189 <xsd:enumeration value="FIRST-RUN"/>
192 <xsd:simpleType name="string.const.HIGHEST">
193 <xsd:restriction base="xsd:string">
194 <xsd:enumeration value="HIGHEST"/>
197 <xsd:simpleType name="string.const.INFINITY">
198 <xsd:restriction base="xsd:string">
199 <xsd:enumeration value="INFINITY"/>
202 <xsd:simpleType name="string.const.LOWEST">
203 <xsd:restriction base="xsd:string">
204 <xsd:enumeration value="LOWEST"/>
207 <xsd:simpleType name="string.const.NOT_IMPLEMENTED">
208 <xsd:restriction base="xsd:string">
209 <xsd:enumeration value="NOT_IMPLEMENTED"/>
212 <xsd:simpleType name="string.const.NOW">
213 <xsd:restriction base="xsd:string">
214 <xsd:enumeration value="NOW"/>
217 <xsd:simpleType name="string.const.OBJECTID">
218 <xsd:restriction base="xsd:string">
219 <xsd:enumeration value="OBJECTID"/>
222 <xsd:simpleType name="string.const.PREDEF">
223 <xsd:restriction base="xsd:string">
224 <xsd:enumeration value="PREDEF"/>
227 <xsd:simpleType name="string.const.REPEAT">
228 <xsd:restriction base="xsd:string">
229 <xsd:enumeration value="REPEAT"/>
232 <xsd:simpleType name="string.const.UNBOUNDED">
233 <xsd:restriction base="xsd:string">
234 <xsd:enumeration value="UNBOUNDED"/>
237 <xsd:simpleType name="string.const.UNKNOWN">
238 <xsd:restriction base="xsd:string">
239 <xsd:enumeration value="UNKNOWN"/>
242 <!--=============================-=============================-->
243 <!-- Numeric Datatypes -->
244 <!--=============================-=============================-->
245 <xsd:simpleType name="unsignedInt.or.UNKNOWN">
246 <xsd:union memberTypes="xsd:unsignedInt av:string.const.UNKNOWN"/>
248 <xsd:simpleType name="unsignedInt.or.UNBOUNDED">
249 <xsd:union memberTypes="xsd:unsignedInt av:string.const.UNBOUNDED"/>
251 <xsd:simpleType name="positiveInt">
252 <xsd:restriction base="xsd:unsignedInt">
253 <xsd:minInclusive value="1"/>
256 <xsd:simpleType name="rational">
257 <xsd:restriction base="xsd:string">
258 <xsd:pattern value="-?[0-9]+(/0*[1-9][0-9]*)?"/>
261 <xsd:simpleType name="nonZeroRational">
262 <xsd:restriction base="av:rational">
263 <xsd:pattern value="[^/]*[1-9].*"/>
266 <xsd:simpleType name="long.-1_">
267 <xsd:restriction base="xsd:long">
268 <xsd:minInclusive value="-1"/>
271 <xsd:simpleType name="int.-1_">
272 <xsd:restriction base="xsd:int">
273 <xsd:minInclusive value="-1"/>
276 <!--=============================-=============================-->
277 <!-- Time Datatypes -->
278 <!--=============================-=============================-->
280 EBNF from ScheduledRecording:1 1.00
282 sched-start ::= date-time |
287 start-range ::= (date-time|'NOW') '/' (date-time|'INFINITY')
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
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
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'|
305 n ::= 1*DIGIT (* non-negative integer *)
306 yyyy ::= 4DIGIT (* 0001-9999 *)
307 mm ::= 2DIGIT (* 01-12 *)
310 <xsd:simpleType name="dateTime">
312 <xsd:documentation> Disallows fractional seconds </xsd:documentation>
314 <xsd:restriction base="xsd:dateTime">
315 <xsd:pattern value="[^\.]*"/>
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}"/>
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}"/>
328 <xsd:simpleType name="unsignedDuration.or.INFINITY">
329 <xsd:union memberTypes="av:unsignedDuration av:string.const.INFINITY"/>
331 <xsd:simpleType name="unsignedDuration.or.INFINITY.or.ANY">
332 <xsd:union memberTypes="av:unsignedDuration.or.INFINITY av:string.const.ANY"/>
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"/>
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]+)?"/>
350 <!-- Decimal fraction version -->
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]+)?"/>
356 <!-- Numerator/denominator fraction version -->
358 <xsd:simpleType name="duration.cds1">
359 <xsd:union memberTypes="av:duration.cds1.decFrac av:duration.cds1.numDenomFrac"/>
361 <xsd:simpleType name="duration.cds1.or.NOT_IMPLEMENTED">
362 <xsd:union memberTypes="av:duration.cds1 av:string.const.NOT_IMPLEMENTED"/>
364 <xsd:simpleType name="daylightSaving.type">
365 <xsd:restriction base="xsd:string"/>
367 <xsd:simpleType name="startTimeUsage">
368 <xsd:restriction base="xsd:string"/>
370 <!--=============================-=============================-->
371 <!-- Internet-related datatypes -->
372 <!--=============================-=============================-->
373 <xsd:simpleType name="domainName">
374 <xsd:restriction base="xsd:string">
375 <xsd:pattern value="([^\.]+\.)+[^\.]+\.?"/>
378 <!--===========================================================-->
380 <!-- UPnP Specific Datatypes -->
382 <!--===========================================================-->
383 <xsd:simpleType name="UDN">
384 <xsd:restriction base="xsd:anyURI">
385 <xsd:pattern value="uuid:.+"/>
388 <!--===========================================================-->
390 <!-- AV Specific Datatypes -->
392 <!--===========================================================-->
393 <xsd:simpleType name="sched-start">
394 <xsd:union memberTypes="av:dateTime xsd:string"/>
396 <xsd:simpleType name="dateTime-range">
397 <xsd:restriction base="xsd:token">
398 <xsd:pattern value=".+/.+"/>
401 <xsd:simpleType name="duration-range">
402 <xsd:restriction base="xsd:token">
403 <xsd:pattern value=".+/.+"/>
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"/>
415 <xsd:simpleType name="radioBand.type">
416 <xsd:union memberTypes="av:radioBand.wc.values av:radioBand.vx.values"/>
418 <!--=============================-=============================-->
419 <!-- Simple Common Types -->
420 <!--=============================-=============================-->
421 <xsd:simpleType name="_id.type">
422 <xsd:restriction base="xsd:string"/>
424 <xsd:simpleType name="_classNameBase.type">
425 <xsd:restriction base="xsd:NCName"/>
427 <xsd:simpleType name="_title.type">
428 <xsd:restriction base="xsd:string"/>
430 <xsd:simpleType name="stateUpdateID.type">
431 <xsd:restriction base="xsd:unsignedInt"/>
433 <xsd:simpleType name="string.domainNamePrefixed">
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.
443 <xsd:restriction base="xsd:string">
444 <xsd:pattern value=".+_.+"/>
447 <!--=============================-=============================-->
448 <!-- Storage Related Types -->
449 <!--=============================-=============================-->
450 <xsd:complexType name="storageMedium.type">
451 <xsd:attribute name="val" type="av:storageMedium.values" use="required"/>
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"/>
497 <xsd:simpleType name="storageMedium.values">
498 <xsd:union memberTypes="av:storageMedium.wc.values av:storageMedium.vx.values"/>
500 <!--=============================-=============================-->
501 <!-- Program Related Types -->
502 <!--=============================-=============================-->
503 <xsd:simpleType name="SIprogramID.type">
504 <xsd:restriction base="av:csv.4.string.len.1_"/>
506 <xsd:simpleType name="SIseriesID.type">
507 <xsd:restriction base="av:csv.4.string.len.1_"/>
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"/>
515 <xsd:simpleType name="programID_at_type.values">
516 <xsd:union memberTypes="av:programID_at_type.wc.values av:programID_at_type.vx.values"/>
518 <xsd:complexType name="programID.type">
520 <xsd:extension base="xsd:string">
521 <xsd:attribute name="type" type="av:programID_at_type.values"/>
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"/>
535 <xsd:simpleType name="channelID_at_type.values">
536 <xsd:union memberTypes="av:channelID_at_type.wc.values av:channelID_at_type.vx.values"/>
538 <xsd:complexType name="channelID.type">
540 <xsd:extension base="xsd:token">
541 <xsd:attribute name="type" type="av:channelID_at_type.values" use="required"/>
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]+))*"/>
550 <xsd:complexType name="programCode.type">
552 <xsd:extension base="xsd:token">
553 <xsd:attribute name="type" type="av:programCode_at_type.vd.values"/>
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"/>
565 <xsd:simpleType name="rating_at_type.values">
566 <xsd:union memberTypes="av:rating_at_type.wc.values av:rating_at_type.vx.values"/>
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"/>
579 <xsd:simpleType name="rating.RIIA.ORG.values">
580 <xsd:restriction base="xsd:token">
581 <xsd:enumeration value=""/>
582 <xsd:enumeration value="PA-EC"/>
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"/>
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"/>
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"/>
610 <xsd:simpleType name="rating.values">
611 <xsd:union memberTypes="av:rating.wc.values av:rating.vx.values"/>
613 <xsd:complexType name="rating.type">
615 <xsd:extension base="av:rating.values">
616 <xsd:attribute name="type" type="av:rating_at_type.values"/>
620 <xsd:simpleType name="FIRST-RUN.or.REPEAT">
621 <xsd:union memberTypes="av:string.const.FIRST-RUN av:string.const.REPEAT"/>
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"/>
626 <!--=============================-=============================-->
627 <!-- User Channel and EPG Related Properties -->
628 <!--=============================-=============================-->
629 <xsd:complexType name="channelGroupName.type">
631 <xsd:extension base="xsd:string">
632 <xsd:attribute name="id" type="av:string.domainNamePrefixed"/>
636 <xsd:simpleType name="stationCallSign.type">
637 <xsd:restriction base="xsd:string"/>
639 <xsd:simpleType name="signalStrength.wc.type">
640 <xsd:restriction base="xsd:int">
641 <xsd:minInclusive value="-1"/>
642 <xsd:maxInclusive value="100"/>
645 <xsd:simpleType name="signalStrength.type">
646 <xsd:union memberTypes="av:signalStrength.wc.type av:signalStrength.vx.type"/>
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]*"/>
656 <xsd:simpleType name="serviceId">
657 <xsd:restriction base="xsd:token">
658 <xsd:pattern value="[^:]{1,64}"/>
661 <xsd:complexType name="deviceUDN.type">
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"/>
669 <!--=================================-=================================-->
671 <!-- Extension Master Datatypes -->
673 <!--=================================-=================================-->
674 <xsd:simpleType name="extensions.simpleType.none">
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.
681 <xsd:restriction base="xsd:NCName">
682 <xsd:pattern value="[:]+"/>
685 <xsd:group name="extensions.elementType.none">
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.
693 <xsd:any minOccurs="0" maxOccurs="0"/>
696 <xsd:attributeGroup name="extensions.attributes.none">
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.
703 </xsd:attributeGroup>
704 <xsd:simpleType name="extensions.simpleType.any">
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.
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"/>
713 <xsd:group name="extensions.elementType.any">
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.
721 <xsd:any minOccurs="0" maxOccurs="unbounded"/>
724 <xsd:attributeGroup name="extensions.attributes.any">
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.
732 </xsd:attributeGroup>
733 <!--===================================================================-->
735 <!-- Extension Component Datatypes -->
737 <!--===================================================================-->
738 <xsd:simpleType name="storageMedium.vx.values">
739 <xsd:restriction base="av:extensions.simpleType.any"/>
741 <xsd:simpleType name="programID_at_type.vx.values">
742 <xsd:restriction base="av:domainName"/>
744 <xsd:simpleType name="channelID_at_type.vx.values">
745 <xsd:restriction base="xsd:token"/>
747 <xsd:simpleType name="rating_at_type.vx.values">
748 <xsd:restriction base="av:string.domainNamePrefixed"/>
750 <xsd:simpleType name="rating.vx.values">
751 <xsd:restriction base="xsd:string"/>
753 <xsd:simpleType name="radioBand.vx.values">
754 <xsd:restriction base="xsd:token"/>
756 <xsd:simpleType name="signalStrength.vx.type">
757 <xsd:restriction base="xsd:int"/>
759 <!--===================================================================-->
761 <!-- Vendor-Defined Component Datatypes -->
763 <!--===================================================================-->
764 <xsd:simpleType name="didl-lite_COLON_at_id.vd.type">
765 <xsd:restriction base="av:_id.type"/>
767 <xsd:simpleType name="srs_COLON_at_id.vd.type">
768 <xsd:restriction base="av:_id.type"/>
770 <xsd:simpleType name="programCode_at_type.vd.values">
771 <xsd:restriction base="av:string.domainNamePrefixed"/>