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>