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