]> git.sesse.net Git - vlc/blob - share/profiles/vsp.xsd
Merge branch 'master' into lpcm_encoder
[vlc] / share / profiles / vsp.xsd
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">
9
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>
17
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>
25
26
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>
38  
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>
46
47 <xs:element name="display" />
48                 
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>
59                 
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>
67
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>
77
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>
93                 
94
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>
102
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>
110
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>
119
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>
127
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>
136
137
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>
150
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>
158
159 </xs:schema>