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