xref: /aosp_15_r20/external/libxml2/test/schemas/changelog093_1.xsd (revision 7c5688314b92172186c154356a6374bf7684c3ca)
1*7c568831SAndroid Build Coastguard Worker<?xml version="1.0"?>
2*7c568831SAndroid Build Coastguard Worker<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
3*7c568831SAndroid Build Coastguard Worker    xmlns:tns="http://www.blackperl.com/XML/ChangeLog"
4*7c568831SAndroid Build Coastguard Worker    targetNamespace="http://www.blackperl.com/XML/ChangeLog"
5*7c568831SAndroid Build Coastguard Worker    elementFormDefault="qualified" attributeFormDefault="unqualified"
6*7c568831SAndroid Build Coastguard Worker    version="0.93" id="changelog0.93">
7*7c568831SAndroid Build Coastguard Worker  <!--
8*7c568831SAndroid Build Coastguard Worker      Refer to this schema using the following namespace:
9*7c568831SAndroid Build Coastguard Worker      http://www.blackperl.com/XML/ChangeLog
10*7c568831SAndroid Build Coastguard Worker  -->
11*7c568831SAndroid Build Coastguard Worker  <xsd:annotation>
12*7c568831SAndroid Build Coastguard Worker    <xsd:documentation>
13*7c568831SAndroid Build Coastguard Worker      A description of an XML application which itemizes changes over the
14*7c568831SAndroid Build Coastguard Worker      life-span of a software project. Changes are tracked by releases, with a
15*7c568831SAndroid Build Coastguard Worker      granularity of individual items made up of files that were affected.
16*7c568831SAndroid Build Coastguard Worker    </xsd:documentation>
17*7c568831SAndroid Build Coastguard Worker    <xsd:appinfo xmlns:dc="http://purl.org/dc/elements/1.1/">
18*7c568831SAndroid Build Coastguard Worker      <dc:creator>Randy J. Ray ([email protected])</dc:creator>
19*7c568831SAndroid Build Coastguard Worker      <dc:date>2004-11-22</dc:date>
20*7c568831SAndroid Build Coastguard Worker      <dc:subject>changelog,xml,schema</dc:subject>
21*7c568831SAndroid Build Coastguard Worker      <dc:description>
22*7c568831SAndroid Build Coastguard Worker        An XML Schema declaration describing an XML expression of software
23*7c568831SAndroid Build Coastguard Worker        project change-logs.
24*7c568831SAndroid Build Coastguard Worker      </dc:description>
25*7c568831SAndroid Build Coastguard Worker    </xsd:appinfo>
26*7c568831SAndroid Build Coastguard Worker    <xsd:appinfo>
27*7c568831SAndroid Build Coastguard Worker      <rdf:RDF xmlns:cc="http://web.resource.org/cc/"
28*7c568831SAndroid Build Coastguard Worker               xmlns:dc="http://purl.org/dc/elements/1.1/"
29*7c568831SAndroid Build Coastguard Worker               xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
30*7c568831SAndroid Build Coastguard Worker        <cc:Work rdf:about="">
31*7c568831SAndroid Build Coastguard Worker          <dc:title>XML Schema for Changelogs</dc:title>
32*7c568831SAndroid Build Coastguard Worker          <dc:description>
33*7c568831SAndroid Build Coastguard Worker            An XML Schema declaration describing an XML expression of software
34*7c568831SAndroid Build Coastguard Worker            project change-logs.
35*7c568831SAndroid Build Coastguard Worker          </dc:description>
36*7c568831SAndroid Build Coastguard Worker          <dc:creator>
37*7c568831SAndroid Build Coastguard Worker            <cc:Agent>
38*7c568831SAndroid Build Coastguard Worker              <dc:title>Randy J. Ray</dc:title>
39*7c568831SAndroid Build Coastguard Worker            </cc:Agent>
40*7c568831SAndroid Build Coastguard Worker          </dc:creator>
41*7c568831SAndroid Build Coastguard Worker          <dc:rights>
42*7c568831SAndroid Build Coastguard Worker            <cc:Agent>
43*7c568831SAndroid Build Coastguard Worker              <dc:title>Randy J. Ray</dc:title>
44*7c568831SAndroid Build Coastguard Worker            </cc:Agent>
45*7c568831SAndroid Build Coastguard Worker          </dc:rights>
46*7c568831SAndroid Build Coastguard Worker          <dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" />
47*7c568831SAndroid Build Coastguard Worker          <cc:license rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
48*7c568831SAndroid Build Coastguard Worker        </cc:Work>
49*7c568831SAndroid Build Coastguard Worker        <cc:License rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
50*7c568831SAndroid Build Coastguard Worker          <cc:permits rdf:resource="http://web.resource.org/cc/Reproduction" />
51*7c568831SAndroid Build Coastguard Worker          <cc:permits rdf:resource="http://web.resource.org/cc/Distribution" />
52*7c568831SAndroid Build Coastguard Worker          <cc:requires rdf:resource="http://web.resource.org/cc/Notice" />
53*7c568831SAndroid Build Coastguard Worker          <cc:requires rdf:resource="http://web.resource.org/cc/Attribution" />
54*7c568831SAndroid Build Coastguard Worker          <cc:permits rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
55*7c568831SAndroid Build Coastguard Worker          <cc:requires rdf:resource="http://web.resource.org/cc/ShareAlike" />
56*7c568831SAndroid Build Coastguard Worker        </cc:License>
57*7c568831SAndroid Build Coastguard Worker      </rdf:RDF>
58*7c568831SAndroid Build Coastguard Worker    </xsd:appinfo>
59*7c568831SAndroid Build Coastguard Worker  </xsd:annotation>
60*7c568831SAndroid Build Coastguard Worker
61*7c568831SAndroid Build Coastguard Worker  <xsd:complexType id="informationType" name="informationType"
62*7c568831SAndroid Build Coastguard Worker                   mixed="true">
63*7c568831SAndroid Build Coastguard Worker    <xsd:annotation>
64*7c568831SAndroid Build Coastguard Worker      <xsd:documentation>
65*7c568831SAndroid Build Coastguard Worker        An open-ended container type for including version-control information
66*7c568831SAndroid Build Coastguard Worker        at various levels within the changelog structure. This is the only
67*7c568831SAndroid Build Coastguard Worker        type which explicitly permits content from foreign namespaces.
68*7c568831SAndroid Build Coastguard Worker      </xsd:documentation>
69*7c568831SAndroid Build Coastguard Worker    </xsd:annotation>
70*7c568831SAndroid Build Coastguard Worker    <xsd:sequence maxOccurs="unbounded" minOccurs="0">
71*7c568831SAndroid Build Coastguard Worker      <xsd:any processContents="lax" />
72*7c568831SAndroid Build Coastguard Worker    </xsd:sequence>
73*7c568831SAndroid Build Coastguard Worker    <xsd:attribute name="source" type="xsd:anyURI" />
74*7c568831SAndroid Build Coastguard Worker    <xsd:anyAttribute namespace="##other" processContents="lax" />
75*7c568831SAndroid Build Coastguard Worker  </xsd:complexType>
76*7c568831SAndroid Build Coastguard Worker
77*7c568831SAndroid Build Coastguard Worker  <xsd:complexType id="descriptionType" name="descriptionType">
78*7c568831SAndroid Build Coastguard Worker    <xsd:annotation>
79*7c568831SAndroid Build Coastguard Worker      <xsd:documentation>
80*7c568831SAndroid Build Coastguard Worker        A description block is used to document everything from specific change
81*7c568831SAndroid Build Coastguard Worker        items to the release as a whole.
82*7c568831SAndroid Build Coastguard Worker      </xsd:documentation>
83*7c568831SAndroid Build Coastguard Worker    </xsd:annotation>
84*7c568831SAndroid Build Coastguard Worker    <xsd:simpleContent>
85*7c568831SAndroid Build Coastguard Worker      <xsd:extension base="xsd:string">
86*7c568831SAndroid Build Coastguard Worker        <xsd:attribute default="en-US" name="lang" type="xsd:language" />
87*7c568831SAndroid Build Coastguard Worker      </xsd:extension>
88*7c568831SAndroid Build Coastguard Worker    </xsd:simpleContent>
89*7c568831SAndroid Build Coastguard Worker  </xsd:complexType>
90*7c568831SAndroid Build Coastguard Worker
91*7c568831SAndroid Build Coastguard Worker  <xsd:simpleType id="versionString" name="versionString">
92*7c568831SAndroid Build Coastguard Worker    <xsd:annotation>
93*7c568831SAndroid Build Coastguard Worker      <xsd:documentation>
94*7c568831SAndroid Build Coastguard Worker        The versionString type is applied to attributes that describe simple
95*7c568831SAndroid Build Coastguard Worker        revision-number strings. It only supports CVS (RCS) styled version
96*7c568831SAndroid Build Coastguard Worker        numbers.
97*7c568831SAndroid Build Coastguard Worker      </xsd:documentation>
98*7c568831SAndroid Build Coastguard Worker    </xsd:annotation>
99*7c568831SAndroid Build Coastguard Worker    <xsd:restriction base="xsd:string">
100*7c568831SAndroid Build Coastguard Worker      <xsd:pattern value="\d+(\.\d+)*" />
101*7c568831SAndroid Build Coastguard Worker    </xsd:restriction>
102*7c568831SAndroid Build Coastguard Worker  </xsd:simpleType>
103*7c568831SAndroid Build Coastguard Worker
104*7c568831SAndroid Build Coastguard Worker  <xsd:complexType id="fileType" name="fileType">
105*7c568831SAndroid Build Coastguard Worker    <xsd:annotation>
106*7c568831SAndroid Build Coastguard Worker      <xsd:documentation>
107*7c568831SAndroid Build Coastguard Worker        The fileType definition is used for the file element, a part of the
108*7c568831SAndroid Build Coastguard Worker        itemType declaration. It is defined separately so that it can be
109*7c568831SAndroid Build Coastguard Worker        referred to from multiple places.
110*7c568831SAndroid Build Coastguard Worker      </xsd:documentation>
111*7c568831SAndroid Build Coastguard Worker    </xsd:annotation>
112*7c568831SAndroid Build Coastguard Worker    <xsd:sequence maxOccurs="1" minOccurs="0">
113*7c568831SAndroid Build Coastguard Worker      <xsd:element name="description" type="tns:descriptionType"
114*7c568831SAndroid Build Coastguard Worker                   minOccurs="0" maxOccurs="unbounded" />
115*7c568831SAndroid Build Coastguard Worker      <xsd:element maxOccurs="1" minOccurs="0" name="vc-information"
116*7c568831SAndroid Build Coastguard Worker                   type="tns:informationType" nillable="true" />
117*7c568831SAndroid Build Coastguard Worker    </xsd:sequence>
118*7c568831SAndroid Build Coastguard Worker    <xsd:attribute name="path" type="xsd:string" use="required" />
119*7c568831SAndroid Build Coastguard Worker    <xsd:attribute name="revision" type="tns:versionString" use="optional"/>
120*7c568831SAndroid Build Coastguard Worker    <xsd:attribute name="author" type="xsd:NMTOKEN" use="optional" />
121*7c568831SAndroid Build Coastguard Worker    <xsd:attribute name="action" use="optional">
122*7c568831SAndroid Build Coastguard Worker      <xsd:simpleType>
123*7c568831SAndroid Build Coastguard Worker        <xsd:restriction base="xsd:NMTOKEN">
124*7c568831SAndroid Build Coastguard Worker          <xsd:enumeration value="ADD" />
125*7c568831SAndroid Build Coastguard Worker          <xsd:enumeration value="DELETE" />
126*7c568831SAndroid Build Coastguard Worker          <xsd:enumeration value="RESTORE" />
127*7c568831SAndroid Build Coastguard Worker          <xsd:enumeration value="MOVE" />
128*7c568831SAndroid Build Coastguard Worker        </xsd:restriction>
129*7c568831SAndroid Build Coastguard Worker      </xsd:simpleType>
130*7c568831SAndroid Build Coastguard Worker    </xsd:attribute>
131*7c568831SAndroid Build Coastguard Worker    <xsd:attribute name="note" type="xsd:string" use="optional" />
132*7c568831SAndroid Build Coastguard Worker  </xsd:complexType>
133*7c568831SAndroid Build Coastguard Worker
134*7c568831SAndroid Build Coastguard Worker  <xsd:element id="file" name="file" nillable="true" type="tns:fileType">
135*7c568831SAndroid Build Coastguard Worker    <xsd:annotation>
136*7c568831SAndroid Build Coastguard Worker      <xsd:documentation>
137*7c568831SAndroid Build Coastguard Worker        A file element contains a single block representing a fileType.
138*7c568831SAndroid Build Coastguard Worker      </xsd:documentation>
139*7c568831SAndroid Build Coastguard Worker    </xsd:annotation>
140*7c568831SAndroid Build Coastguard Worker    <xsd:unique name="fileDescriptionLangConstraint">
141*7c568831SAndroid Build Coastguard Worker      <xsd:selector xpath="tns:description" />
142*7c568831SAndroid Build Coastguard Worker      <xsd:field xpath="@lang" />
143*7c568831SAndroid Build Coastguard Worker    </xsd:unique>
144*7c568831SAndroid Build Coastguard Worker  </xsd:element>
145*7c568831SAndroid Build Coastguard Worker
146*7c568831SAndroid Build Coastguard Worker  <xsd:complexType id="itemType" name="itemType">
147*7c568831SAndroid Build Coastguard Worker    <xsd:annotation>
148*7c568831SAndroid Build Coastguard Worker      <xsd:documentation>
149*7c568831SAndroid Build Coastguard Worker        These element blocks define a single change-item within the scope of a
150*7c568831SAndroid Build Coastguard Worker        given release. A change-item consists of one or more files that were
151*7c568831SAndroid Build Coastguard Worker        affected, and a description of the change itself.
152*7c568831SAndroid Build Coastguard Worker      </xsd:documentation>
153*7c568831SAndroid Build Coastguard Worker    </xsd:annotation>
154*7c568831SAndroid Build Coastguard Worker    <xsd:sequence>
155*7c568831SAndroid Build Coastguard Worker      <xsd:element maxOccurs="1" minOccurs="0" name="vc-information"
156*7c568831SAndroid Build Coastguard Worker                   type="tns:informationType" nillable="true" />
157*7c568831SAndroid Build Coastguard Worker      <xsd:choice minOccurs="1" maxOccurs="1">
158*7c568831SAndroid Build Coastguard Worker        <xsd:element ref="tns:file" />
159*7c568831SAndroid Build Coastguard Worker        <xsd:element name="fileset" nillable="false">
160*7c568831SAndroid Build Coastguard Worker          <xsd:complexType>
161*7c568831SAndroid Build Coastguard Worker            <xsd:sequence>
162*7c568831SAndroid Build Coastguard Worker              <xsd:element maxOccurs="1" minOccurs="0" name="vc-information"
163*7c568831SAndroid Build Coastguard Worker                           type="tns:informationType" nillable="true" />
164*7c568831SAndroid Build Coastguard Worker              <xsd:element maxOccurs="unbounded" minOccurs="1" ref="tns:file" />
165*7c568831SAndroid Build Coastguard Worker            </xsd:sequence>
166*7c568831SAndroid Build Coastguard Worker          </xsd:complexType>
167*7c568831SAndroid Build Coastguard Worker        </xsd:element>
168*7c568831SAndroid Build Coastguard Worker      </xsd:choice>
169*7c568831SAndroid Build Coastguard Worker      <xsd:element name="description" type="tns:descriptionType"
170*7c568831SAndroid Build Coastguard Worker                   minOccurs="1" maxOccurs="unbounded" />
171*7c568831SAndroid Build Coastguard Worker    </xsd:sequence>
172*7c568831SAndroid Build Coastguard Worker    <xsd:attribute name="id" type="xsd:ID" />
173*7c568831SAndroid Build Coastguard Worker  </xsd:complexType>
174*7c568831SAndroid Build Coastguard Worker
175*7c568831SAndroid Build Coastguard Worker  <xsd:element id="item" name="item" nillable="false" type="tns:itemType">
176*7c568831SAndroid Build Coastguard Worker    <xsd:annotation>
177*7c568831SAndroid Build Coastguard Worker      <xsd:documentation>
178*7c568831SAndroid Build Coastguard Worker        An item element contains a single block representing an itemType.
179*7c568831SAndroid Build Coastguard Worker      </xsd:documentation>
180*7c568831SAndroid Build Coastguard Worker    </xsd:annotation>
181*7c568831SAndroid Build Coastguard Worker    <xsd:unique name="itemDescriptionLangConstraint">
182*7c568831SAndroid Build Coastguard Worker      <xsd:selector xpath="tns:description" />
183*7c568831SAndroid Build Coastguard Worker      <xsd:field xpath="@lang" />
184*7c568831SAndroid Build Coastguard Worker    </xsd:unique>
185*7c568831SAndroid Build Coastguard Worker  </xsd:element>
186*7c568831SAndroid Build Coastguard Worker
187*7c568831SAndroid Build Coastguard Worker  <xsd:complexType id="releaseType" name="releaseType">
188*7c568831SAndroid Build Coastguard Worker    <xsd:annotation>
189*7c568831SAndroid Build Coastguard Worker      <xsd:documentation>
190*7c568831SAndroid Build Coastguard Worker        The release is the primary piece of information that a changelog
191*7c568831SAndroid Build Coastguard Worker        collects and organizes. A release contains an optional description,
192*7c568831SAndroid Build Coastguard Worker        followed by one or more item blocks. The release element is also the
193*7c568831SAndroid Build Coastguard Worker        greatest user of attributes besides the file element. A release element
194*7c568831SAndroid Build Coastguard Worker        must have at least a "version" attribute, uniquely identifying the
195*7c568831SAndroid Build Coastguard Worker        release itself. Additionally, it may have "tag" to associate it with
196*7c568831SAndroid Build Coastguard Worker        a release-system tag and "date" to specify the date the release was
197*7c568831SAndroid Build Coastguard Worker        created.
198*7c568831SAndroid Build Coastguard Worker      </xsd:documentation>
199*7c568831SAndroid Build Coastguard Worker    </xsd:annotation>
200*7c568831SAndroid Build Coastguard Worker    <xsd:sequence>
201*7c568831SAndroid Build Coastguard Worker      <xsd:element name="description" type="tns:descriptionType"
202*7c568831SAndroid Build Coastguard Worker                   minOccurs="0" maxOccurs="unbounded" />
203*7c568831SAndroid Build Coastguard Worker      <xsd:element maxOccurs="unbounded" minOccurs="0" name="information"
204*7c568831SAndroid Build Coastguard Worker                   type="tns:informationType" nillable="true" />
205*7c568831SAndroid Build Coastguard Worker      <xsd:element maxOccurs="1" minOccurs="0" name="vc-information"
206*7c568831SAndroid Build Coastguard Worker                   type="tns:informationType" nillable="true" />
207*7c568831SAndroid Build Coastguard Worker      <xsd:element maxOccurs="unbounded" minOccurs="1" ref="tns:item" />
208*7c568831SAndroid Build Coastguard Worker    </xsd:sequence>
209*7c568831SAndroid Build Coastguard Worker    <xsd:attribute name="version" type="xsd:token" use="required" />
210*7c568831SAndroid Build Coastguard Worker    <xsd:attribute name="tag" type="xsd:NMTOKEN" />
211*7c568831SAndroid Build Coastguard Worker    <xsd:attribute name="date" type="xsd:token" use="required" /> <!-- type="xsd:dateTime"  -->
212*7c568831SAndroid Build Coastguard Worker  </xsd:complexType>
213*7c568831SAndroid Build Coastguard Worker
214*7c568831SAndroid Build Coastguard Worker  <xsd:element id="release" name="release" nillable="false"
215*7c568831SAndroid Build Coastguard Worker               type="tns:releaseType">
216*7c568831SAndroid Build Coastguard Worker    <xsd:annotation>
217*7c568831SAndroid Build Coastguard Worker      <xsd:documentation>
218*7c568831SAndroid Build Coastguard Worker      </xsd:documentation>
219*7c568831SAndroid Build Coastguard Worker    </xsd:annotation>
220*7c568831SAndroid Build Coastguard Worker    <xsd:unique name="releaseDescriptionLangConstraint">
221*7c568831SAndroid Build Coastguard Worker      <xsd:selector xpath="tns:description" />
222*7c568831SAndroid Build Coastguard Worker      <xsd:field xpath="@lang" />
223*7c568831SAndroid Build Coastguard Worker    </xsd:unique>
224*7c568831SAndroid Build Coastguard Worker  </xsd:element>
225*7c568831SAndroid Build Coastguard Worker
226*7c568831SAndroid Build Coastguard Worker  <xsd:element id="changelog" name="changelog" nillable="false">
227*7c568831SAndroid Build Coastguard Worker    <xsd:annotation>
228*7c568831SAndroid Build Coastguard Worker      <xsd:documentation>
229*7c568831SAndroid Build Coastguard Worker        The changelog element is intended as the document root element. It
230*7c568831SAndroid Build Coastguard Worker        contains an overview element (identical in structure to the description
231*7c568831SAndroid Build Coastguard Worker        element, but named differently to prevent collision in XPath queries)
232*7c568831SAndroid Build Coastguard Worker        and one or more release blocks.
233*7c568831SAndroid Build Coastguard Worker      </xsd:documentation>
234*7c568831SAndroid Build Coastguard Worker    </xsd:annotation>
235*7c568831SAndroid Build Coastguard Worker    <xsd:complexType>
236*7c568831SAndroid Build Coastguard Worker      <xsd:sequence>
237*7c568831SAndroid Build Coastguard Worker        <xsd:element maxOccurs="unbounded" minOccurs="1" name="description"
238*7c568831SAndroid Build Coastguard Worker                     nillable="false" type="tns:descriptionType" />
239*7c568831SAndroid Build Coastguard Worker        <xsd:element maxOccurs="unbounded" minOccurs="0" name="information"
240*7c568831SAndroid Build Coastguard Worker                   type="tns:informationType" nillable="true" />
241*7c568831SAndroid Build Coastguard Worker        <xsd:element maxOccurs="1" minOccurs="0" name="vc-information"
242*7c568831SAndroid Build Coastguard Worker                     type="tns:informationType" nillable="true" />
243*7c568831SAndroid Build Coastguard Worker        <xsd:element maxOccurs="unbounded" minOccurs="1" ref="tns:release" />
244*7c568831SAndroid Build Coastguard Worker      </xsd:sequence>
245*7c568831SAndroid Build Coastguard Worker    </xsd:complexType>
246*7c568831SAndroid Build Coastguard Worker    <xsd:unique name="changelogDescriptionLangConstraint">
247*7c568831SAndroid Build Coastguard Worker      <xsd:selector xpath="tns:description" />
248*7c568831SAndroid Build Coastguard Worker      <xsd:field xpath="@lang" />
249*7c568831SAndroid Build Coastguard Worker    </xsd:unique>
250*7c568831SAndroid Build Coastguard Worker  </xsd:element>
251*7c568831SAndroid Build Coastguard Worker
252*7c568831SAndroid Build Coastguard Worker</xsd:schema>
253*7c568831SAndroid Build Coastguard Worker
254