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>