Playlist code: simplification, part 1
[vlc/asuraparaju-public.git] / share / profiles / vsp.xsd
blob7a9292c7570bd83b626d1852b02c65d890573ab9
1 <?xml version="1.0" encoding="utf-8"?>
2 <!--
3 vim:ts=4
4 -->
5 <xs:schema
6 xmlns:xs="http://www.w3.org/2001/XMLSchema"
7 xmlns="http://clement.stenac.org/projects/videolan/vsp.xsd"
8 targetNamespace="http://clement.stenac.org/projects/videolan/vsp.xsd">
10 <xs:element name="description">
11 <xs:complexType>
12 <xs:simpleContent>
13 <xs:extension base="xs:string"></xs:extension>
14 </xs:simpleContent>
15 </xs:complexType>
16 </xs:element>
18 <xs:element name="name">
19 <xs:complexType>
20 <xs:simpleContent>
21 <xs:extension base="xs:string"></xs:extension>
22 </xs:simpleContent>
23 </xs:complexType>
24 </xs:element>
27 <!-- ################# Stream output modules #################### -->
28 <xs:element name="transcode">
29 <xs:complexType>
30 <xs:attribute name="vcodec" />
31 <xs:attribute name="acodec" />
32 <xs:attribute name="vb" />
33 <xs:attribute name="ab" />
34 <xs:attribute name="venc" />
35 <xs:attribute name="aenc" />
36 </xs:complexType>
37 </xs:element>
39 <xs:element name="standard">
40 <xs:complexType>
41 <xs:attribute name="mux" />
42 <xs:attribute name="access" />
43 <xs:attribute name="dst" />
44 </xs:complexType>
45 </xs:element>
47 <xs:element name="display" />
49 <!-- ### Duplicate ### -->
50 <xs:element name="child" >
51 <xs:complexType>
52 <xs:sequence>
53 <xs:any minOccurs="1" maxOccurs="unbounded" />
54 </xs:sequence>
55 <xs:attribute name="select" />
56 <xs:attribute name="enabled" />
57 </xs:complexType>
58 </xs:element>
60 <xs:element name="duplicate">
61 <xs:complexType>
62 <xs:sequence>
63 <xs:element ref="child" minOccurs="1" maxOccurs="unbounded"/>
64 </xs:sequence>
65 </xs:complexType>
66 </xs:element>
68 <xs:element name="choice">
69 <xs:complexType>
70 <xs:sequence>
71 <xs:element ref="name" minOccurs="1" maxOccurs="1" />
72 <xs:element ref="description" minOccurs="1" maxOccurs="unbounded" />
73 </xs:sequence>
74 <xs:attribute name="value" />
75 </xs:complexType>
76 </xs:element>
78 <xs:element name="param">
79 <xs:complexType>
80 <xs:sequence>
81 <xs:element ref="name" minOccurs="1" maxOccurs="1" />
82 <xs:element ref="description" minOccurs="1" maxOccurs="1" />
83 <xs:element ref="choice" minOccurs="0" maxOccurs="unbounded" />
84 </xs:sequence>
85 <xs:attribute name="id" use="required" />
86 <xs:attribute name="type" use="required" />
87 <xs:attribute name="choices" use="optional" />
88 <xs:attribute name="default" />
89 <xs:attribute name="min" />
90 <xs:attribute name="max" />
91 </xs:complexType>
92 </xs:element>
95 <xs:element name="parameters">
96 <xs:complexType>
97 <xs:sequence>
98 <xs:element ref="param" maxOccurs="unbounded" />
99 </xs:sequence>
100 </xs:complexType>
101 </xs:element>
103 <xs:element name="meta">
104 <xs:complexType>
105 <xs:attribute name="network" />
106 <xs:attribute name="internet" />
107 <xs:attribute name="vod" />
108 </xs:complexType>
109 </xs:element>
111 <xs:element name="option">
112 <xs:complexType>
113 <xs:simpleContent>
114 <xs:extension base="xs:string">
115 </xs:extension>
116 </xs:simpleContent>
117 </xs:complexType>
118 </xs:element>
120 <xs:element name="options">
121 <xs:complexType>
122 <xs:sequence>
123 <xs:element ref="option" />
124 </xs:sequence>
125 </xs:complexType>
126 </xs:element>
128 <xs:element name="chain">
129 <xs:complexType>
130 <xs:sequence>
131 <xs:any minOccurs="1" maxOccurs="unbounded" />
132 </xs:sequence>
133 <xs:attribute name="select" />
134 </xs:complexType>
135 </xs:element>
138 <xs:element name="profile">
139 <xs:complexType>
140 <xs:sequence>
141 <xs:element ref="name" maxOccurs="1" />
142 <xs:element ref="description" maxOccurs="unbounded" />
143 <xs:element ref="meta" maxOccurs="1" />
144 <xs:element ref="parameters" maxOccurs="1" />
145 <xs:element ref="options" />
146 <xs:element ref="chain" />
147 </xs:sequence>
148 </xs:complexType>
149 </xs:element>
151 <xs:element name="profile-list">
152 <xs:complexType>
153 <xs:sequence>
154 <xs:element ref="profile" />
155 </xs:sequence>
156 </xs:complexType>
157 </xs:element>
159 </xs:schema>