OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

ubl message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [ubl] Validating UBL 2.0 genericode files with Altova XMLSpy


Hello Juerg,
I answer you question:

"That seems like a good idea to me in any case. But would this allow to
validate a gc file using XMLSpy when the schemaLocation attribute is
absent?"

Using an XML Catalog in general you can resolve locally any URI even when
the schemaLocation is missing.

You have to fill the catalog with an URI tag as the below sample for
genericode:

<uri name="http://genericode.org/2006/ns/CodeList/0.4/";
uri="./xsd/CodeList.xsd"/>

This way the genericode codelist you are using will be validated
successfully.

e.g.

<gc:CodeList xmlns:gc="http://genericode.org/2006/ns/CodeList/0.4/";>
...

the genericode namespace will be resolved with the catalog correctly.
--------------

If you have a schemaLocation and you need to resolve locally a URI you
have to use a "system" tag instead into your catalog.

<system systemId="CodeList.xsd" uri="./xsd/CodeList.xsd"/>


I hope I have been enought clear with my explanation as this is not may
mother language.

Best regards

UBL ITLSC
co-chair
Roberto Cisternino


Juerg wrote:
-------------------------------------------------------------------------

Hi,

Excerpts from previous replies on this subject:


> Dear Juerg,
>
> What information were you expecting XML Spy to use to look up a Schema
> location in the catalog?  Were you expecting it to use the namespace URI?
> You seem surprised that it uses the Schema location.
>
> Cheers, Tony.

Tony,
I am not surprised that it uses the Schema location. But I am surprised
that the gc files shipped with UBL 2.0 rely on specific XML editor
features in order to validate correctly.

> So ... I can do what is necessary in oXygen ...
> Juerg cannot, apparently, do the same in XMLSpy,
> so the question is "is there some configuration
> in XMLSpy to map a namespace to a schema?"
>
> . . . . . . . . . . Ken

Ken,
Thanks for clarifying. That seems to be the central question.
- - - - -
> The XML Spy docs are very vague on this.  The text suggest that they only
> use the catalog to match the public ID in a DOCTYPE declaration.  However,
> the subset of OASIS XML Catalogs that they use suggests that they might
> also be able to match some URIs.  From what Juerg wrote, it sounds like
> XML Spy will match a Schema location to a URI in the catalog, but not a
> namespace URI.
>
> Cheers, Tony.

Tony,
Correct, I have been able to use XMLSpy's XML catalog subset (the uri
name=... uri=... clause) successfully, but only when a Schemalocation is
present in the gc file.
- - - - -
> Yes, that is my interpretation of Juerg's
> analysis.  And I see no reference in the XML
> Catalog specification[1] for mapping a namespace
> URI to a system resource.  I've written to some
> catalogue users off-line to see if I'm missing
> something.  If true, then it would be a feature
> of an editing tool outside of support for the XML Catalog specification.
>

If that is true, then one would like to think that the OASIS standard for
gc files should not depend on features of individual editing tools ...?

> In oXygen I can configure precisely what I need
> to edit the PRD3 genericode files:  a mapping of
> a namespace URI string to a schema location in
> the absence of an xsi:schemaLocation attribute.
>
> I hope someone can point us to this feature, if it exists, in XML Spy.
>

I hope so too. Alternatively, how are other editing tools faring?

> . . . . . . . . . . Ken
- - - - -
> I was part of the committee for OASIS XML Catalogs, as it happens.  URI
> rewriting is mentioned in section 4.2:
>
> http://www.oasis-open.org/committees/entity/spec-2001-08-06.html#s.uri.ent
>
> The thing is, it is up to a particular application to decide *which* URIs
> are rewritten using the catalog.  There is built-in support for public and
> system IDs are defined for DTDs, but otherwise everything is just URLs.
>
> Cheers, Tony.

Tony,
I am not to familiar with the rewriteURI clause in the context of gc files
urns. What would I have to specify for uriIDStartString= and
rewritePrefix= ?
Would this use the namespace URI, or the schemaLocation URI? If the
latter, I fear the rewriteURI may not solve this problem either ...

- - - - -

> I really think we should include a pre-compiled xml catalog with the UBL
> support package including all GCs and XSDs setting for URI resolving.
>
> - URI are more suitable to resolve namespaces
> - SystemID are more indicated to resolve schemaLocations
>
> Thus we have to deal with URI rewrites only I think.
>
> This pre-compiled xml catalog could be located into the UBL distribution
> root and have a base address like ./
>
> What do you think about ?
>
> UBL ITLSC
> co-chair
> Roberto Cisternino

Roberto,
That seems like a good idea to me in any case. But would this allow to
validate a gc file using XMLSpy when the schemaLocation attribute is
absent?

Many thanks for your contributions.
Juerg

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema";
    xmlns:gc="http://genericode.org/2006/ns/CodeList/0.4/"; targetNamespace="http://genericode.org/2006/ns/CodeList/0.4/";>
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace"; schemaLocation="http://www.w3.org/2004/10/xml.xsd"/>
    <xsd:complexType name="AnyOtherContent">
        <xsd:annotation>
            <xsd:documentation>Container for any XML content which is in a different namespace to the Schema's target namespace.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:any namespace="##other" minOccurs="0"
                maxOccurs="unbounded" processContents="lax"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="ColumnSetDocument">
        <xsd:annotation>
            <xsd:documentation>Document type for the definition of a column set, which is a set of code list columns and/or keys.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:group ref="gc:DocumentHeader">
                <xsd:annotation>
                    <xsd:documentation>General document information for the column set.</xsd:documentation>
                </xsd:annotation>
            </xsd:group>
            <xsd:group ref="gc:ColumnSetContent">
                <xsd:annotation>
                    <xsd:documentation>Details of the column set.</xsd:documentation>
                </xsd:annotation>
            </xsd:group>
        </xsd:sequence>
        <xsd:attributeGroup ref="gc:DefaultDatatypeLibrary">
            <xsd:annotation>
                <xsd:documentation>Identification of the default datatype library for the column set.</xsd:documentation>
            </xsd:annotation>
        </xsd:attributeGroup>
    </xsd:complexType>
    <xsd:element name="ColumnSet" type="gc:ColumnSetDocument">
        <xsd:annotation>
            <xsd:documentation>Top-level element for the definition of a column set.</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    <xsd:complexType name="CodeListDocument">
        <xsd:annotation>
            <xsd:documentation>Document type for the definition of a simple or derived code list.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:group ref="gc:DocumentHeader">
                <xsd:annotation>
                    <xsd:documentation>General document information for the code list.</xsd:documentation>
                </xsd:annotation>
            </xsd:group>
            <xsd:group ref="gc:ColumnSetChoice">
                <xsd:annotation>
                    <xsd:documentation>A choice between a column set definition and a column set reference.</xsd:documentation>
                </xsd:annotation>
            </xsd:group>
            <xsd:group ref="gc:OuterCodeListChoice" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>A choice between a simple code list definition and a derived code list definition.  Not used if the code list document contains code list metadata only.</xsd:documentation>
                </xsd:annotation>
            </xsd:group>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="CodeList" type="gc:CodeListDocument">
        <xsd:annotation>
            <xsd:documentation>Top-level element for the definition of a code list.</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    <xsd:complexType name="CodeListSetDocument">
        <xsd:annotation>
            <xsd:documentation>Document type for the definition of a set of code lists.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:group ref="gc:DocumentHeader">
                <xsd:annotation>
                    <xsd:documentation>General document information for the code list set.</xsd:documentation>
                </xsd:annotation>
            </xsd:group>
            <xsd:element name="CodeListRef" minOccurs="0"
                maxOccurs="unbounded" type="gc:CodeListRef"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="CodeListSet" type="gc:CodeListSetDocument">
        <xsd:annotation>
            <xsd:documentation>Top-level element for the definition of a code list set</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    <xsd:complexType name="Identification">
        <xsd:annotation>
            <xsd:documentation>Identification and location information for a resource.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:group ref="gc:NameSet">
                <xsd:annotation>
                    <xsd:documentation>Name(s) for the resource.</xsd:documentation>
                </xsd:annotation>
            </xsd:group>
            <xsd:element name="Version" type="xsd:token">
                <xsd:annotation>
                    <xsd:documentation>Version of the resource.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="CanonicalUri" type="xsd:anyURI">
                <xsd:annotation>
                    <xsd:documentation>Canonical URI which serves as a unique identifier for all versions of the resource.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:group ref="gc:IdentificationUriSet">
                <xsd:annotation>
                    <xsd:documentation>Identification and location URIs for the resource.</xsd:documentation>
                </xsd:annotation>
            </xsd:group>
            <xsd:element name="Agency" minOccurs="0" type="gc:Agency">
                <xsd:annotation>
                    <xsd:documentation>Agency that is responsible for the resource.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="Annotation">
        <xsd:annotation>
            <xsd:documentation>User annotation information for a resource.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="Description" minOccurs="0"
                maxOccurs="unbounded" type="gc:AnyOtherLanguageContent">
                <xsd:annotation>
                    <xsd:documentation>Human-readable information about the resource.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="AppInfo" minOccurs="0" type="gc:AnyOtherContent">
                <xsd:annotation>
                    <xsd:documentation>Machine-readable information about the resource.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:group name="DocumentHeader">
        <xsd:annotation>
            <xsd:documentation>General document information.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="Annotation" minOccurs="0" type="gc:Annotation">
                <xsd:annotation>
                    <xsd:documentation>User annotation information for the document.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="Identification" type="gc:Identification">
                <xsd:annotation>
                    <xsd:documentation>Identification and location information for the resource defined by the document.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
    </xsd:group>
    <xsd:group name="ColumnSetContent">
        <xsd:annotation>
            <xsd:documentation>Specific details of a column set.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:group ref="gc:ColumnChoice" minOccurs="0" maxOccurs="unbounded">
                <xsd:annotation>
                    <xsd:documentation>A choice between a column definition and a column reference.</xsd:documentation>
                </xsd:annotation>
            </xsd:group>
            <xsd:group ref="gc:KeyChoice" minOccurs="0" maxOccurs="unbounded">
                <xsd:annotation>
                    <xsd:documentation>A choice between a key definition and a key reference.</xsd:documentation>
                </xsd:annotation>
            </xsd:group>
        </xsd:sequence>
    </xsd:group>
    <xsd:group name="ColumnChoice">
        <xsd:annotation>
            <xsd:documentation>A choice between a column definition and a column reference.</xsd:documentation>
        </xsd:annotation>
        <xsd:choice>
            <xsd:element name="Column" type="gc:Column">
                <xsd:annotation>
                    <xsd:documentation>Definition of a column.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="ColumnRef" type="gc:ColumnRef">
                <xsd:annotation>
                    <xsd:documentation>Reference to a column defined in an external column set or code list.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:choice>
    </xsd:group>
    <xsd:group name="KeyChoice">
        <xsd:annotation>
            <xsd:documentation>A choice between a key definition and a key reference.</xsd:documentation>
        </xsd:annotation>
        <xsd:choice>
            <xsd:element name="Key" type="gc:Key">
                <xsd:annotation>
                    <xsd:documentation>Definition of a key.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="KeyRef" type="gc:KeyRef">
                <xsd:annotation>
                    <xsd:documentation>Reference to a key defined in an external column set or code list.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:choice>
    </xsd:group>
    <xsd:complexType name="Column">
        <xsd:annotation>
            <xsd:documentation>Definition of a column.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="Annotation" minOccurs="0" type="gc:Annotation">
                <xsd:annotation>
                    <xsd:documentation>User information about the column.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:group ref="gc:NameSet">
                <xsd:annotation>
                    <xsd:documentation>Name(s) of the column.</xsd:documentation>
                </xsd:annotation>
            </xsd:group>
            <xsd:group ref="gc:IdentificationVersionUriSet" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>URIs used to identify the column and/or the version of the column.</xsd:documentation>
                </xsd:annotation>
            </xsd:group>
            <xsd:element name="Data" type="gc:Data">
                <xsd:annotation>
                    <xsd:documentation>Data type of the column.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
        <xsd:attributeGroup ref="gc:IdDefinition">
            <xsd:annotation>
                <xsd:documentation>ID which identifies the column within the document.</xsd:documentation>
            </xsd:annotation>
        </xsd:attributeGroup>
        <xsd:attributeGroup ref="gc:UseDefinition">
            <xsd:annotation>
                <xsd:documentation>Whether the column is required or optional.</xsd:documentation>
            </xsd:annotation>
        </xsd:attributeGroup>
    </xsd:complexType>
    <xsd:complexType name="ColumnRef">
        <xsd:annotation>
            <xsd:documentation>Reference to a column defined in an external column set or code list.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="Annotation" minOccurs="0" type="gc:Annotation">
                <xsd:annotation>
                    <xsd:documentation>User annotation about the referenced column.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:group ref="gc:IdentificationRefUriSet">
                <xsd:annotation>
                    <xsd:documentation>Identification of the external column set or code list document which contains the column set definition.</xsd:documentation>
                </xsd:annotation>
            </xsd:group>
            <xsd:element name="Data" minOccurs="0" type="gc:ColumnRefData">
                <xsd:annotation>
                    <xsd:documentation>Restrictions to the data type of the referenced column.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
        <xsd:attributeGroup ref="gc:IdDefinition">
            <xsd:annotation>
                <xsd:documentation>ID which identifies the column within the document.</xsd:documentation>
            </xsd:annotation>
        </xsd:attributeGroup>
        <xsd:attributeGroup ref="gc:ExternalReference">
            <xsd:annotation>
                <xsd:documentation>ID which identifies which identifies the column within the external column set or code list.</xsd:documentation>
            </xsd:annotation>
        </xsd:attributeGroup>
        <xsd:attributeGroup ref="gc:UseDefinition">
            <xsd:annotation>
                <xsd:documentation>Whether the column is required or optional.</xsd:documentation>
            </xsd:annotation>
        </xsd:attributeGroup>
    </xsd:complexType>
    <xsd:complexType name="Key">
        <xsd:annotation>
            <xsd:documentation>Definition of a key.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="Annotation" minOccurs="0" type="gc:Annotation">
                <xsd:annotation>
                    <xsd:documentation>User annotation about the key.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:group ref="gc:NameSet">
                <xsd:annotation>
                    <xsd:documentation>Name(s) of the key.</xsd:documentation>
                </xsd:annotation>
            </xsd:group>
            <xsd:group ref="gc:IdentificationVersionUriSet" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>URIs used to identify the key and/or the version of the key.</xsd:documentation>
                </xsd:annotation>
            </xsd:group>
            <xsd:element name="ColumnRef" maxOccurs="unbounded" type="gc:KeyColumnRef">
                <xsd:annotation>
                    <xsd:documentation>References to the document IDs of the columns which make up the key.  Only required columns can form part of a key.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
        <xsd:attributeGroup ref="gc:IdDefinition">
            <xsd:annotation>
                <xsd:documentation>ID which identifies the key within the document.</xsd:documentation>
            </xsd:annotation>
        </xsd:attributeGroup>
    </xsd:complexType>
    <xsd:complexType name="KeyRef">
        <xsd:annotation>
            <xsd:documentation>Reference to a key defined in an external column set or code list.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="Annotation" minOccurs="0" type="gc:Annotation">
                <xsd:annotation>
                    <xsd:documentation>User annotation about the referenced key.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:group ref="gc:IdentificationRefUriSet">
                <xsd:annotation>
                    <xsd:documentation>Identification of the external column set or code list which contains the key definition.</xsd:documentation>
                </xsd:annotation>
            </xsd:group>
        </xsd:sequence>
        <xsd:attributeGroup ref="gc:IdDefinition">
            <xsd:annotation>
                <xsd:documentation>ID which identifies the key within the document.</xsd:documentation>
            </xsd:annotation>
        </xsd:attributeGroup>
        <xsd:attributeGroup ref="gc:ExternalReference">
            <xsd:annotation>
                <xsd:documentation>ID which identifies which identifies the key within the external column set or code list.</xsd:documentation>
            </xsd:annotation>
        </xsd:attributeGroup>
    </xsd:complexType>
    <xsd:group name="ColumnSetChoice">
        <xsd:annotation>
            <xsd:documentation>A choice between a column set definition and a column set reference.</xsd:documentation>
        </xsd:annotation>
        <xsd:choice>
            <xsd:element name="ColumnSet" type="gc:ColumnSet">
                <xsd:annotation>
                    <xsd:documentation>Definition of a column set.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="ColumnSetRef" type="gc:ColumnSetRef">
                <xsd:annotation>
                    <xsd:documentation>Reference to a column set defined in an external column set or code list document.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:choice>
    </xsd:group>
    <xsd:complexType name="ColumnSet">
        <xsd:annotation>
            <xsd:documentation>Definition of a column set.</xsd:documentation>
        </xsd:annotation>
        <xsd:group ref="gc:ColumnSetContent">
            <xsd:annotation>
                <xsd:documentation>Details of the column set.</xsd:documentation>
            </xsd:annotation>
        </xsd:group>
        <xsd:attributeGroup ref="gc:DefaultDatatypeLibrary">
            <xsd:annotation>
                <xsd:documentation>Identification of the default datatype library for the column set.</xsd:documentation>
            </xsd:annotation>
        </xsd:attributeGroup>
    </xsd:complexType>
    <xsd:complexType name="ColumnSetRef">
        <xsd:annotation>
            <xsd:documentation>Reference to a column set defined in an external column set or code list document.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="Annotation" minOccurs="0" type="gc:Annotation">
                <xsd:annotation>
                    <xsd:documentation>User annotation about the referenced column set.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:group ref="gc:IdentificationRefUriSet">
                <xsd:annotation>
                    <xsd:documentation>Identification of the external column set or code list document which contains the column set definition.</xsd:documentation>
                </xsd:annotation>
            </xsd:group>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:group name="OuterCodeListChoice">
        <xsd:annotation>
            <xsd:documentation>A choice between a simple code list definition and a derived code list definition.</xsd:documentation>
        </xsd:annotation>
        <xsd:choice>
            <xsd:group ref="gc:SimpleCodeListSequence">
                <xsd:annotation>
                    <xsd:documentation>Details of a simple code list definition.</xsd:documentation>
                </xsd:annotation>
            </xsd:group>
            <xsd:element name="DerivedCodeList" type="gc:DerivedCodeList">
                <xsd:annotation>
                    <xsd:documentation>Definition of a derived code list.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:choice>
    </xsd:group>
    <xsd:complexType name="SimpleCodeList">
        <xsd:annotation>
            <xsd:documentation>Definition of a simple code list.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="Annotation" minOccurs="0" type="gc:Annotation">
                <xsd:annotation>
                    <xsd:documentation>User annotation for the code list.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="Row" minOccurs="0" maxOccurs="unbounded" type="gc:Row">
                <xsd:annotation>
                    <xsd:documentation>Row which represents a conceptual code in a code list.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="DerivedCodeList">
        <xsd:annotation>
            <xsd:documentation>Definition of a derived code list.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="Annotation" minOccurs="0" type="gc:Annotation">
                <xsd:annotation>
                    <xsd:documentation>User annotation for the code list.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:group ref="gc:DerivedCodeListChoice">
                <xsd:annotation>
                    <xsd:documentation>A choice of one of the different types of derived code list definition.</xsd:documentation>
                </xsd:annotation>
            </xsd:group>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:group name="IdentificationUriSet">
        <xsd:annotation>
            <xsd:documentation>Identification and location URIs for a resource.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="CanonicalVersionUri" type="xsd:anyURI">
                <xsd:annotation>
                    <xsd:documentation>Canonical URI which serves as a unique identifier for this version of the resource.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="LocationUri" minOccurs="0"
                maxOccurs="unbounded" type="xsd:anyURI">
                <xsd:annotation>
                    <xsd:documentation>Suggested retrieval location for this version of the resource in genericode format.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="AlternateFormatLocationUri" minOccurs="0"
                maxOccurs="unbounded" type="gc:MimeTypedUri">
                <xsd:annotation>
                    <xsd:documentation>Suggested retrieval location for this version of the resource in a non-genericode format.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
    </xsd:group>
    <xsd:complexType name="CodeListRef">
        <xsd:annotation>
            <xsd:documentation>Reference to a code list defined in an external document.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="Annotation" minOccurs="0" type="gc:Annotation">
                <xsd:annotation>
                    <xsd:documentation>User annotation about the referenced code list.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:group ref="gc:IdentificationRefUriSet">
                <xsd:annotation>
                    <xsd:documentation>Identification of the external document which contains the code list definition.</xsd:documentation>
                </xsd:annotation>
            </xsd:group>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:group name="InnerCodeListChoice">
        <xsd:annotation>
            <xsd:documentation>A choice between a simple code list definition, a derived code list definition, or a reference to a code list defined in an external document.</xsd:documentation>
        </xsd:annotation>
        <xsd:choice>
            <xsd:element name="SimpleCodeList" type="gc:SimpleCodeList">
                <xsd:annotation>
                    <xsd:documentation>Definition of a simple code list.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="DerivedCodeList" type="gc:DerivedCodeList">
                <xsd:annotation>
                    <xsd:documentation>Definition of a derived code list.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="CodeListRef" type="gc:CodeListRef">
                <xsd:annotation>
                    <xsd:documentation>Reference to a code list defined in an external document.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:choice>
    </xsd:group>
    <xsd:attributeGroup name="IdDefinition">
        <xsd:annotation>
            <xsd:documentation>Attribute set used to identify a resource within the document.</xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="Id" type="xsd:ID" use="required">
            <xsd:annotation>
                <xsd:documentation>Unique ID within the document for the resource.</xsd:documentation>
            </xsd:annotation>
        </xsd:attribute>
    </xsd:attributeGroup>
    <xsd:attributeGroup name="ExternalReference">
        <xsd:annotation>
            <xsd:documentation>Attribute set used to identify a resource within an external document.</xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="ExternalRef" type="xsd:token" use="required">
            <xsd:annotation>
                <xsd:documentation>Unique ID of the resource within the external document.</xsd:documentation>
            </xsd:annotation>
        </xsd:attribute>
    </xsd:attributeGroup>
    <xsd:group name="NameSet">
        <xsd:annotation>
            <xsd:documentation>Name(s) for a resource.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="ShortName" type="gc:ShortName">
                <xsd:annotation>
                    <xsd:documentation>Short name (token) for the resource.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="LongName" minOccurs="0"
                maxOccurs="unbounded" type="gc:LongName">
                <xsd:annotation>
                    <xsd:documentation>Long name for the resource.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
    </xsd:group>
    <xsd:complexType name="Data">
        <xsd:annotation>
            <xsd:documentation>Data type for a column.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="Annotation" minOccurs="0" type="gc:Annotation">
                <xsd:annotation>
                    <xsd:documentation>User annotation for the datatype.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="Parameter" minOccurs="0"
                maxOccurs="unbounded" type="gc:DatatypeFacet">
                <xsd:annotation>
                    <xsd:documentation>Facet parameter which refines the datatype.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
        <xsd:attribute name="Type" type="xsd:token" use="required">
            <xsd:annotation>
                <xsd:documentation>Unique ID for the datatype within its datatype library.</xsd:documentation>
            </xsd:annotation>
        </xsd:attribute>
        <xsd:attribute name="DatatypeLibrary" type="xsd:anyURI">
            <xsd:annotation>
                <xsd:documentation>URI which uniquely identifies the datatype library.  If not provided, the datatype library for the enclosing column set is used.</xsd:documentation>
            </xsd:annotation>
        </xsd:attribute>
        <xsd:attribute ref="xml:lang">
            <xsd:annotation>
                <xsd:documentation>Language from which the data is taken or derived.</xsd:documentation>
            </xsd:annotation>
        </xsd:attribute>
    </xsd:complexType>
    <xsd:complexType name="KeyColumnRef">
        <xsd:annotation>
            <xsd:documentation>Reference to a column which forms part of a key.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="Annotation" minOccurs="0" form="unqualified">
                <xsd:annotation>
                    <xsd:documentation>User annotation about the column.</xsd:documentation>
                </xsd:annotation>
                <xsd:complexType>
                    <xsd:annotation>
                        <xsd:documentation>User annotation information for a resource.</xsd:documentation>
                    </xsd:annotation>
                    <xsd:sequence>
                        <xsd:element name="Description" minOccurs="0" form="unqualified">
                            <xsd:complexType>
                                <xsd:annotation>
                                    <xsd:documentation>Human readable information about the resource.</xsd:documentation>
                                </xsd:annotation>
                            </xsd:complexType>
                        </xsd:element>
                        <xsd:element name="AppInfo" minOccurs="0" form="unqualified">
                            <xsd:complexType>
                                <xsd:annotation>
                                    <xsd:documentation>Machine-readable information about the resource.</xsd:documentation>
                                </xsd:annotation>
                            </xsd:complexType>
                        </xsd:element>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
        </xsd:sequence>
        <xsd:attribute name="Ref" type="xsd:IDREF" use="required">
            <xsd:annotation>
                <xsd:documentation>Reference to the ID of the column within the document.</xsd:documentation>
            </xsd:annotation>
        </xsd:attribute>
    </xsd:complexType>
    <xsd:group name="SimpleCodeListSequence">
        <xsd:annotation>
            <xsd:documentation>Details of a simple code list definition.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="DerivedCodeListRef" minOccurs="0" type="gc:CodeListRef">
                <xsd:annotation>
                    <xsd:documentation>Reference to the derived code list of which this simple code list is a realisation.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="SimpleCodeList" type="gc:SimpleCodeList">
                <xsd:annotation>
                    <xsd:documentation>Definition of the simple code list.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
    </xsd:group>
    <xsd:attributeGroup name="UseDefinition">
        <xsd:annotation>
            <xsd:documentation>Attribute set which defines the usage of a resource.</xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="Use" type="gc:UseType" use="required">
            <xsd:annotation>
                <xsd:documentation>Whether the resource is required or optional.</xsd:documentation>
            </xsd:annotation>
        </xsd:attribute>
    </xsd:attributeGroup>
    <xsd:complexType name="Row">
        <xsd:annotation>
            <xsd:documentation>Row which represents a conceptual code in a code list.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="Annotation" minOccurs="0" type="gc:Annotation">
                <xsd:annotation>
                    <xsd:documentation>User annotation about the row.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="Value" maxOccurs="unbounded" type="gc:Value">
                <xsd:annotation>
                    <xsd:documentation>Column value for the row.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:group name="ValueChoice">
        <xsd:annotation>
            <xsd:documentation>A choice between a simple textual value and a complex (structured) XML value.</xsd:documentation>
        </xsd:annotation>
        <xsd:choice>
            <xsd:element name="SimpleValue" type="gc:SimpleValue">
                <xsd:annotation>
                    <xsd:documentation>Simple textual value.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="ComplexValue" type="gc:AnyOtherContent">
                <xsd:annotation>
                    <xsd:documentation>Complex (structured) XML value.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:choice>
    </xsd:group>
    <xsd:complexType name="SimpleValue">
        <xsd:annotation>
            <xsd:documentation>Simple textual value.</xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
            <xsd:extension base="xsd:string"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <xsd:attributeGroup name="ColumnReference">
        <xsd:annotation>
            <xsd:documentation>Attribute set for referring to a column definition within the document.</xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="ColumnRef" type="xsd:IDREF">
            <xsd:annotation>
                <xsd:documentation>Reference to the ID of a column in the document.</xsd:documentation>
            </xsd:annotation>
        </xsd:attribute>
    </xsd:attributeGroup>
    <xsd:complexType name="Value">
        <xsd:annotation>
            <xsd:documentation>Individual value from a row which represents a conceptual value in a code list.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="Annotation" minOccurs="0" type="gc:Annotation">
                <xsd:annotation>
                    <xsd:documentation>User annotation about the value.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:group ref="gc:ValueChoice">
                <xsd:annotation>
                    <xsd:documentation>A choice between a simple textual value and a complex (structured) XML value.</xsd:documentation>
                </xsd:annotation>
            </xsd:group>
        </xsd:sequence>
        <xsd:attributeGroup ref="gc:ColumnReference">
            <xsd:annotation>
                <xsd:documentation>Reference to the column with which this value is associated.  If not provided, the column is assumed to be the column following the column of the preceding value.</xsd:documentation>
            </xsd:annotation>
        </xsd:attributeGroup>
    </xsd:complexType>
    <xsd:group name="DerivedCodeListChoice">
        <xsd:annotation>
            <xsd:documentation>A choice of one of the different types of derived code list definition.</xsd:documentation>
        </xsd:annotation>
        <xsd:choice>
            <xsd:element name="ColumnSetExclusion" type="gc:ColumnSetFilter">
                <xsd:annotation>
                    <xsd:documentation>Definition of a column set exclusion filter.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="ColumnSetInclusion" type="gc:ColumnSetFilter">
                <xsd:annotation>
                    <xsd:documentation>Definition of a column set inclusion filter.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="ColumnSetMatch" type="gc:ColumnSetFilter">
                <xsd:annotation>
                    <xsd:documentation>Definition of a column set match filter.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="ColumnSetUnion" type="gc:CodeListUnion">
                <xsd:annotation>
                    <xsd:documentation>Definition of a column set union filter.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="RowExclusion" type="gc:RowFilter">
                <xsd:annotation>
                    <xsd:documentation>Definition of a row exclusion filter.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="RowInclusion" type="gc:RowFilter">
                <xsd:annotation>
                    <xsd:documentation>Definition of a row inclusion filter.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="RowMatch" type="gc:RowFilter">
                <xsd:annotation>
                    <xsd:documentation>Definition of a row match filter.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="RowUnion" type="gc:CodeListUnion">
                <xsd:annotation>
                    <xsd:documentation>Definition of a row union filter.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:choice>
    </xsd:group>
    <xsd:complexType name="RowFilter">
        <xsd:annotation>
            <xsd:documentation>Definition of a row filter.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="Annotation" minOccurs="0" type="gc:Annotation">
                <xsd:annotation>
                    <xsd:documentation>User annotation for the row filter.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="Source" type="gc:InputCodeList">
                <xsd:annotation>
                    <xsd:documentation>Source code list for the row filter.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="Control" type="gc:InputCodeList">
                <xsd:annotation>
                    <xsd:documentation>Control code list for the row filter.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="InputCodeList">
        <xsd:annotation>
            <xsd:documentation>Input code list for a code list filter or union.</xsd:documentation>
        </xsd:annotation>
        <xsd:group ref="gc:InnerCodeListChoice">
            <xsd:annotation>
                <xsd:documentation>A choice between a simple code list definition, a derived code list definition, or a reference to a code list defined in an external document.</xsd:documentation>
            </xsd:annotation>
        </xsd:group>
    </xsd:complexType>
    <xsd:complexType name="CodeListUnion">
        <xsd:annotation>
            <xsd:documentation>Union of one or more code lists.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="Annotation" minOccurs="0" type="gc:Annotation">
                <xsd:annotation>
                    <xsd:documentation>User annotation about the union.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="Source" maxOccurs="unbounded" type="gc:InputCodeList">
                <xsd:annotation>
                    <xsd:documentation>Source code list for the union.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="ColumnSetFilter">
        <xsd:annotation>
            <xsd:documentation>Definition of a column set filter.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="Annotation" minOccurs="0" type="gc:Annotation">
                <xsd:annotation>
                    <xsd:documentation>User annotation about the column set filter.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="Source" type="gc:InputCodeList">
                <xsd:annotation>
                    <xsd:documentation>Source code list for the column set filter.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="Control" type="gc:InputColumnSet">
                <xsd:annotation>
                    <xsd:documentation>Control column set for the column set filter.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="InputColumnSet">
        <xsd:annotation>
            <xsd:documentation>Input column set for a code list filter.</xsd:documentation>
        </xsd:annotation>
        <xsd:group ref="gc:ColumnSetChoice">
            <xsd:annotation>
                <xsd:documentation>A choice between a column set definition and a column set reference.</xsd:documentation>
            </xsd:annotation>
        </xsd:group>
    </xsd:complexType>
    <xsd:complexType name="DatatypeFacet">
        <xsd:annotation>
            <xsd:documentation>Facet information for refining a datatype.</xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
            <xsd:extension base="xsd:string">
                <xsd:attribute name="ShortName" type="xsd:token" use="required">
                    <xsd:annotation>
                        <xsd:documentation>Short name (token) for the datatype facet.</xsd:documentation>
                    </xsd:annotation>
                </xsd:attribute>
                <xsd:attribute name="LongName" type="xsd:normalizedString">
                    <xsd:annotation>
                        <xsd:documentation>Long name for the datatype facet.</xsd:documentation>
                    </xsd:annotation>
                </xsd:attribute>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>
    <xsd:attributeGroup name="DefaultDatatypeLibrary">
        <xsd:annotation>
            <xsd:documentation>Identification of the default datatype library for a column set.</xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="DatatypeLibrary" type="xsd:anyURI" default="http://www.w3.org/2001/XMLSchema-datatypes";>
            <xsd:annotation>
                <xsd:documentation>URI which uniquely identifies the default datatype library for the column set.  If not provided, defaults to the URI for W3C XML Schema datatypes.</xsd:documentation>
            </xsd:annotation>
        </xsd:attribute>
    </xsd:attributeGroup>
    <xsd:simpleType name="UseType">
        <xsd:annotation>
            <xsd:documentation>Indicates whether the usage of a resource is required or optional.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:token">
            <xsd:enumeration value="optional"/>
            <xsd:enumeration value="required"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:complexType name="AnyOtherLanguageContent">
        <xsd:annotation>
            <xsd:documentation>Container for any human-readable XML content which is in a different namespace to the Schema's target namespace.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:any minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:attribute ref="xml:lang">
            <xsd:annotation>
                <xsd:documentation>The language in which the content is written.</xsd:documentation>
            </xsd:annotation>
        </xsd:attribute>
    </xsd:complexType>
    <xsd:complexType name="ShortName">
        <xsd:annotation>
            <xsd:documentation>A short name without whitespace that is suitable for use in generating names for software artefacts.</xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
            <xsd:extension base="xsd:token">
                <xsd:attribute ref="xml:lang">
                    <xsd:annotation>
                        <xsd:documentation>The language from which the short name is taken or derived.</xsd:documentation>
                    </xsd:annotation>
                </xsd:attribute>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>
    <xsd:complexType name="LongName">
        <xsd:annotation>
            <xsd:documentation>A human-readable name.</xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
            <xsd:extension base="xsd:normalizedString">
                <xsd:attributeGroup ref="gc:ValueIdentification">
                    <xsd:annotation>
                        <xsd:documentation>Information used to identify a particular long name where multiple long names exist.</xsd:documentation>
                    </xsd:annotation>
                </xsd:attributeGroup>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>
    <xsd:complexType name="ColumnRefData">
        <xsd:annotation>
            <xsd:documentation>Restrictions to the data type of a referenced column.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="Parameter" minOccurs="0"
                maxOccurs="unbounded" type="gc:DatatypeFacet">
                <xsd:annotation>
                    <xsd:documentation>Facet parameter which refines the datatype.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
        <xsd:attribute ref="xml:lang">
            <xsd:annotation>
                <xsd:documentation>Language from which the data is taken or derived.</xsd:documentation>
            </xsd:annotation>
        </xsd:attribute>
    </xsd:complexType>
    <xsd:complexType name="Agency">
        <xsd:annotation>
            <xsd:documentation> Details of an agency which produces code lists or related artefacts.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="ShortName" minOccurs="0" type="gc:ShortName">
                <xsd:annotation>
                    <xsd:documentation>Short name for the agency, suitable for use in naming software artefacts.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="LongName" minOccurs="0"
                maxOccurs="unbounded" type="gc:LongName">
                <xsd:annotation>
                    <xsd:documentation>Human-readable name for the agency.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="Identifier" minOccurs="0"
                maxOccurs="unbounded" type="gc:GeneralIdentifier">
                <xsd:annotation>
                    <xsd:documentation>Identifier for the agency.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:attributeGroup name="ValueIdentification">
        <xsd:annotation>
            <xsd:documentation>Information which identifies one of a set of alternate values.</xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="Identifier" type="xsd:normalizedString">
            <xsd:annotation>
                <xsd:documentation>A string which identifies one of a set of alternate values.</xsd:documentation>
            </xsd:annotation>
        </xsd:attribute>
        <xsd:attribute ref="xml:lang">
            <xsd:annotation>
                <xsd:documentation>The language from which the value is taken or derived.</xsd:documentation>
            </xsd:annotation>
        </xsd:attribute>
    </xsd:attributeGroup>
    <xsd:complexType name="GeneralIdentifier">
        <xsd:annotation>
            <xsd:documentation>An identifier for something.  Typically not a long or short name.</xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
            <xsd:extension base="xsd:normalizedString">
                <xsd:attributeGroup ref="gc:ValueIdentification"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>
    <xsd:complexType name="MimeTypedUri">
        <xsd:annotation>
            <xsd:documentation>URI for a resource, with support for specifying the MIME type.</xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
            <xsd:extension base="xsd:anyURI">
                <xsd:attribute name="MimeType" type="xsd:normalizedString">
                    <xsd:annotation>
                        <xsd:documentation>MIME type of the resource which can be retrieved from the URI.</xsd:documentation>
                    </xsd:annotation>
                </xsd:attribute>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>
    <xsd:group name="IdentificationRefUriSet">
        <xsd:annotation>
            <xsd:documentation>Identification and location URIs for a resource.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="CanonicalVersionUri" type="xsd:anyURI" form="unqualified">
                <xsd:annotation>
                    <xsd:documentation>Canonical URI which serves as a unique identifier for this version of the resource.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="LocationUri" minOccurs="0"
                maxOccurs="unbounded" type="xsd:anyURI" form="unqualified">
                <xsd:annotation>
                    <xsd:documentation>Suggested retrieval location for this version of the resource in genericode format.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
    </xsd:group>
    <xsd:group name="IdentificationVersionUriSet">
        <xsd:annotation>
            <xsd:documentation>URIs used to identify a particular resource and/or the version of the resource.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="CanonicalUri" type="xsd:anyURI">
                <xsd:annotation>
                    <xsd:documentation>Canonical URI which serves as a unique identifier for all versions of the resource.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="CanonicalVersionUri" minOccurs="0" type="xsd:anyURI">
                <xsd:annotation>
                    <xsd:documentation>Canonical URI which serves as a unique identifier for the particular version of the resource.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
    </xsd:group>
</xsd:schema>


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]