Blame test/schemas/changelog093_1.xsd

Packit 423ecb
Packit 423ecb
Packit 423ecb
    xmlns:tns="http://www.blackperl.com/XML/ChangeLog"
Packit 423ecb
    targetNamespace="http://www.blackperl.com/XML/ChangeLog"
Packit 423ecb
    elementFormDefault="qualified" attributeFormDefault="unqualified"
Packit 423ecb
    version="0.93" id="changelog0.93">
Packit 423ecb
  
Packit 423ecb
      Refer to this schema using the following namespace:
Packit 423ecb
      http://www.blackperl.com/XML/ChangeLog
Packit 423ecb
  -->
Packit 423ecb
  <xsd:annotation>
Packit 423ecb
    <xsd:documentation>
Packit 423ecb
      A description of an XML application which itemizes changes over the
Packit 423ecb
      life-span of a software project. Changes are tracked by releases, with a
Packit 423ecb
      granularity of individual items made up of files that were affected.
Packit 423ecb
    </xsd:documentation>
Packit 423ecb
    <xsd:appinfo xmlns:dc="http://purl.org/dc/elements/1.1/">
Packit 423ecb
      <dc:creator>Randy J. Ray (rjray@blackperl.com)</dc:creator>
Packit 423ecb
      <dc:date>2004-11-22</dc:date>
Packit 423ecb
      <dc:subject>changelog,xml,schema</dc:subject>
Packit 423ecb
      <dc:description>
Packit 423ecb
        An XML Schema declaration describing an XML expression of software
Packit 423ecb
        project change-logs.
Packit 423ecb
      </dc:description>
Packit 423ecb
    </xsd:appinfo>
Packit 423ecb
    <xsd:appinfo>
Packit 423ecb
      
Packit 423ecb
               xmlns:dc="http://purl.org/dc/elements/1.1/"
Packit 423ecb
               xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
Packit 423ecb
        <cc:Work rdf:about="">
Packit 423ecb
          <dc:title>XML Schema for Changelogs</dc:title>
Packit 423ecb
          <dc:description>
Packit 423ecb
            An XML Schema declaration describing an XML expression of software
Packit 423ecb
            project change-logs.
Packit 423ecb
          </dc:description>
Packit 423ecb
          <dc:creator>
Packit 423ecb
            <cc:Agent>
Packit 423ecb
              <dc:title>Randy J. Ray</dc:title>
Packit 423ecb
            </cc:Agent>
Packit 423ecb
          </dc:creator>
Packit 423ecb
          <dc:rights>
Packit 423ecb
            <cc:Agent>
Packit 423ecb
              <dc:title>Randy J. Ray</dc:title>
Packit 423ecb
            </cc:Agent>
Packit 423ecb
          </dc:rights>
Packit 423ecb
          <dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" />
Packit 423ecb
          <cc:license rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
Packit 423ecb
        </cc:Work>
Packit 423ecb
        <cc:License rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
Packit 423ecb
          <cc:permits rdf:resource="http://web.resource.org/cc/Reproduction" />
Packit 423ecb
          <cc:permits rdf:resource="http://web.resource.org/cc/Distribution" />
Packit 423ecb
          <cc:requires rdf:resource="http://web.resource.org/cc/Notice" />
Packit 423ecb
          <cc:requires rdf:resource="http://web.resource.org/cc/Attribution" />
Packit 423ecb
          <cc:permits rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
Packit 423ecb
          <cc:requires rdf:resource="http://web.resource.org/cc/ShareAlike" />
Packit 423ecb
        </cc:License>
Packit 423ecb
      </rdf:RDF>
Packit 423ecb
    </xsd:appinfo>
Packit 423ecb
  </xsd:annotation>
Packit 423ecb
Packit 423ecb
  
Packit 423ecb
                   mixed="true">
Packit 423ecb
    <xsd:annotation>
Packit 423ecb
      <xsd:documentation>
Packit 423ecb
        An open-ended container type for including version-control information
Packit 423ecb
        at various levels within the changelog structure. This is the only
Packit 423ecb
        type which explicitly permits content from foreign namespaces.
Packit 423ecb
      </xsd:documentation>
Packit 423ecb
    </xsd:annotation>
Packit 423ecb
    <xsd:sequence maxOccurs="unbounded" minOccurs="0">
Packit 423ecb
      <xsd:any processContents="lax" />
Packit 423ecb
    </xsd:sequence>
Packit 423ecb
    <xsd:attribute name="source" type="xsd:anyURI" />
Packit 423ecb
    <xsd:anyAttribute namespace="##other" processContents="lax" />
Packit 423ecb
  </xsd:complexType>
Packit 423ecb
Packit 423ecb
  <xsd:complexType id="descriptionType" name="descriptionType">
Packit 423ecb
    <xsd:annotation>
Packit 423ecb
      <xsd:documentation>
Packit 423ecb
        A description block is used to document everything from specific change
Packit 423ecb
        items to the release as a whole.
Packit 423ecb
      </xsd:documentation>
Packit 423ecb
    </xsd:annotation>
Packit 423ecb
    <xsd:simpleContent>
Packit 423ecb
      <xsd:extension base="xsd:string">
Packit 423ecb
        <xsd:attribute default="en-US" name="lang" type="xsd:language" />
Packit 423ecb
      </xsd:extension>
Packit 423ecb
    </xsd:simpleContent>
Packit 423ecb
  </xsd:complexType>
Packit 423ecb
Packit 423ecb
  <xsd:simpleType id="versionString" name="versionString">
Packit 423ecb
    <xsd:annotation>
Packit 423ecb
      <xsd:documentation>
Packit 423ecb
        The versionString type is applied to attributes that describe simple
Packit 423ecb
        revision-number strings. It only supports CVS (RCS) styled version
Packit 423ecb
        numbers.
Packit 423ecb
      </xsd:documentation>
Packit 423ecb
    </xsd:annotation>
Packit 423ecb
    <xsd:restriction base="xsd:string">
Packit 423ecb
      <xsd:pattern value="\d+(\.\d+)*" />
Packit 423ecb
    </xsd:restriction>
Packit 423ecb
  </xsd:simpleType>
Packit 423ecb
Packit 423ecb
  <xsd:complexType id="fileType" name="fileType">
Packit 423ecb
    <xsd:annotation>
Packit 423ecb
      <xsd:documentation>
Packit 423ecb
        The fileType definition is used for the file element, a part of the
Packit 423ecb
        itemType declaration. It is defined separately so that it can be
Packit 423ecb
        referred to from multiple places.
Packit 423ecb
      </xsd:documentation>
Packit 423ecb
    </xsd:annotation>
Packit 423ecb
    <xsd:sequence maxOccurs="1" minOccurs="0">
Packit 423ecb
      
Packit 423ecb
                   minOccurs="0" maxOccurs="unbounded" />
Packit 423ecb
      
Packit 423ecb
                   type="tns:informationType" nillable="true" />
Packit 423ecb
    </xsd:sequence>
Packit 423ecb
    <xsd:attribute name="path" type="xsd:string" use="required" />
Packit 423ecb
    <xsd:attribute name="revision" type="tns:versionString" use="optional"/>
Packit 423ecb
    <xsd:attribute name="author" type="xsd:NMTOKEN" use="optional" />
Packit 423ecb
    <xsd:attribute name="action" use="optional">
Packit 423ecb
      <xsd:simpleType>
Packit 423ecb
        <xsd:restriction base="xsd:NMTOKEN">
Packit 423ecb
          <xsd:enumeration value="ADD" />
Packit 423ecb
          <xsd:enumeration value="DELETE" />
Packit 423ecb
          <xsd:enumeration value="RESTORE" />
Packit 423ecb
          <xsd:enumeration value="MOVE" />
Packit 423ecb
        </xsd:restriction>
Packit 423ecb
      </xsd:simpleType>
Packit 423ecb
    </xsd:attribute>
Packit 423ecb
    <xsd:attribute name="note" type="xsd:string" use="optional" />
Packit 423ecb
  </xsd:complexType>
Packit 423ecb
Packit 423ecb
  <xsd:element id="file" name="file" nillable="true" type="tns:fileType">
Packit 423ecb
    <xsd:annotation>
Packit 423ecb
      <xsd:documentation>
Packit 423ecb
        A file element contains a single block representing a fileType.
Packit 423ecb
      </xsd:documentation>
Packit 423ecb
    </xsd:annotation>
Packit 423ecb
    <xsd:unique name="fileDescriptionLangConstraint">
Packit 423ecb
      <xsd:selector xpath="tns:description" />
Packit 423ecb
      <xsd:field xpath="@lang" />
Packit 423ecb
    </xsd:unique>
Packit 423ecb
  </xsd:element>
Packit 423ecb
Packit 423ecb
  <xsd:complexType id="itemType" name="itemType">
Packit 423ecb
    <xsd:annotation>
Packit 423ecb
      <xsd:documentation>
Packit 423ecb
        These element blocks define a single change-item within the scope of a
Packit 423ecb
        given release. A change-item consists of one or more files that were
Packit 423ecb
        affected, and a description of the change itself.
Packit 423ecb
      </xsd:documentation>
Packit 423ecb
    </xsd:annotation>
Packit 423ecb
    <xsd:sequence>
Packit 423ecb
      
Packit 423ecb
                   type="tns:informationType" nillable="true" />
Packit 423ecb
      <xsd:choice minOccurs="1" maxOccurs="1">
Packit 423ecb
        <xsd:element ref="tns:file" />
Packit 423ecb
        <xsd:element name="fileset" nillable="false">
Packit 423ecb
          <xsd:complexType>
Packit 423ecb
            <xsd:sequence>
Packit 423ecb
              
Packit 423ecb
                           type="tns:informationType" nillable="true" />
Packit 423ecb
              <xsd:element maxOccurs="unbounded" minOccurs="1" ref="tns:file" />
Packit 423ecb
            </xsd:sequence>
Packit 423ecb
          </xsd:complexType>
Packit 423ecb
        </xsd:element>
Packit 423ecb
      </xsd:choice>
Packit 423ecb
      
Packit 423ecb
                   minOccurs="1" maxOccurs="unbounded" />
Packit 423ecb
    </xsd:sequence>
Packit 423ecb
    <xsd:attribute name="id" type="xsd:ID" />
Packit 423ecb
  </xsd:complexType>
Packit 423ecb
Packit 423ecb
  <xsd:element id="item" name="item" nillable="false" type="tns:itemType">
Packit 423ecb
    <xsd:annotation>
Packit 423ecb
      <xsd:documentation>
Packit 423ecb
        An item element contains a single block representing an itemType.
Packit 423ecb
      </xsd:documentation>
Packit 423ecb
    </xsd:annotation>
Packit 423ecb
    <xsd:unique name="itemDescriptionLangConstraint">
Packit 423ecb
      <xsd:selector xpath="tns:description" />
Packit 423ecb
      <xsd:field xpath="@lang" />
Packit 423ecb
    </xsd:unique>
Packit 423ecb
  </xsd:element>
Packit 423ecb
Packit 423ecb
  <xsd:complexType id="releaseType" name="releaseType">
Packit 423ecb
    <xsd:annotation>
Packit 423ecb
      <xsd:documentation>
Packit 423ecb
        The release is the primary piece of information that a changelog
Packit 423ecb
        collects and organizes. A release contains an optional description,
Packit 423ecb
        followed by one or more item blocks. The release element is also the
Packit 423ecb
        greatest user of attributes besides the file element. A release element
Packit 423ecb
        must have at least a "version" attribute, uniquely identifying the
Packit 423ecb
        release itself. Additionally, it may have "tag" to associate it with
Packit 423ecb
        a release-system tag and "date" to specify the date the release was
Packit 423ecb
        created.
Packit 423ecb
      </xsd:documentation>
Packit 423ecb
    </xsd:annotation>
Packit 423ecb
    <xsd:sequence>
Packit 423ecb
      
Packit 423ecb
                   minOccurs="0" maxOccurs="unbounded" />
Packit 423ecb
      
Packit 423ecb
                   type="tns:informationType" nillable="true" />
Packit 423ecb
      
Packit 423ecb
                   type="tns:informationType" nillable="true" />
Packit 423ecb
      <xsd:element maxOccurs="unbounded" minOccurs="1" ref="tns:item" />
Packit 423ecb
    </xsd:sequence>
Packit 423ecb
    <xsd:attribute name="version" type="xsd:token" use="required" />
Packit 423ecb
    <xsd:attribute name="tag" type="xsd:NMTOKEN" />
Packit 423ecb
    <xsd:attribute name="date" type="xsd:token" use="required" /> 
Packit 423ecb
  </xsd:complexType>
Packit 423ecb
Packit 423ecb
  
Packit 423ecb
               type="tns:releaseType">
Packit 423ecb
    <xsd:annotation>
Packit 423ecb
      <xsd:documentation>
Packit 423ecb
      </xsd:documentation>
Packit 423ecb
    </xsd:annotation>
Packit 423ecb
    <xsd:unique name="releaseDescriptionLangConstraint">
Packit 423ecb
      <xsd:selector xpath="tns:description" />
Packit 423ecb
      <xsd:field xpath="@lang" />
Packit 423ecb
    </xsd:unique>
Packit 423ecb
  </xsd:element>
Packit 423ecb
Packit 423ecb
  <xsd:element id="changelog" name="changelog" nillable="false">
Packit 423ecb
    <xsd:annotation>
Packit 423ecb
      <xsd:documentation>
Packit 423ecb
        The changelog element is intended as the document root element. It
Packit 423ecb
        contains an overview element (identical in structure to the description
Packit 423ecb
        element, but named differently to prevent collision in XPath queries)
Packit 423ecb
        and one or more release blocks.
Packit 423ecb
      </xsd:documentation>
Packit 423ecb
    </xsd:annotation>
Packit 423ecb
    <xsd:complexType>
Packit 423ecb
      <xsd:sequence>
Packit 423ecb
        
Packit 423ecb
                     nillable="false" type="tns:descriptionType" />
Packit 423ecb
        
Packit 423ecb
                   type="tns:informationType" nillable="true" />
Packit 423ecb
        
Packit 423ecb
                     type="tns:informationType" nillable="true" />
Packit 423ecb
        <xsd:element maxOccurs="unbounded" minOccurs="1" ref="tns:release" />
Packit 423ecb
      </xsd:sequence>
Packit 423ecb
    </xsd:complexType>
Packit 423ecb
    <xsd:unique name="changelogDescriptionLangConstraint">
Packit 423ecb
      <xsd:selector xpath="tns:description" />
Packit 423ecb
      <xsd:field xpath="@lang" />
Packit 423ecb
    </xsd:unique>
Packit 423ecb
  </xsd:element>
Packit 423ecb
Packit 423ecb
</xsd:schema>
Packit 423ecb