Annotation of embedaddon/libxml2/test/schemas/changelog093_1.xsd, revision 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>