blob: 0f5f7ef10510a100abea8999b982843843fe55b3 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xqtsr="http://www.w3.org/2005/02/query-test-XQTSResult"
targetNamespace="http://www.w3.org/2005/02/query-test-XQTSResult">
<xsd:element
name="p"
type="xsd:string" />
<xsd:complexType name="commentType">
<xsd:sequence>
<xsd:element
ref="xqtsr:p"
minOccurs="1"
maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="syntaxType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="XQuery" />
<xsd:enumeration value="XQueryX" />
</xsd:restriction>
</xsd:simpleType>
<xsd:element name="syntax" type="xqtsr:syntaxType" />
<xsd:element name="test-suite-result">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="xqtsr:implementation" />
<xsd:element ref="xqtsr:syntax" />
<xsd:element ref="xqtsr:test-run" />
<xsd:element
maxOccurs="unbounded"
minOccurs="1"
ref="xqtsr:test-case" />
</xsd:sequence>
<xsd:anyAttribute processContents="lax" namespace="##other"/>
</xsd:complexType>
<xsd:unique name="unique-test-cases">
<xsd:selector xpath=".//xqtsr:test-case"/>
<xsd:field xpath="@name"/>
</xsd:unique>
</xsd:element>
<xsd:element name="implementation">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="xqtsr:organization" />
<xsd:element ref="xqtsr:submittor" />
<xsd:element
ref="xqtsr:description"
minOccurs="0"
maxOccurs="1" />
<xsd:element
ref="xqtsr:implementation-defined-items"
minOccurs="0"
maxOccurs="1" />
<xsd:element
ref="xqtsr:features"
minOccurs="0"
maxOccurs="1" />
<xsd:element
ref="xqtsr:context-properties"
minOccurs="0"
maxOccurs="1" />
</xsd:sequence>
<xsd:attribute
name="name"
type="xsd:string"
use="required" />
<xsd:attribute
name="version"
type="xsd:string"
use="optional" />
<!-- anonymous-result-columm='true' will create a result column in reports
that are generated with "Anonymous" instead of the implementation name.
-->
<xsd:attribute
name="anonymous-result-column"
type="xsd:string"
use="optional" />
</xsd:complexType>
</xsd:element>
<xsd:element name="organization">
<xsd:complexType>
<xsd:attribute
name="name"
type="xsd:string"
use="required" />
<xsd:attribute
name="website"
type="xsd:string"
use="optional" />
<!-- anonymous='true' will cause the organization and implementation
information not to be listed at the top of reports that are generated.
-->
<xsd:attribute
name="anonymous"
type="xsd:boolean"
use="optional" />
</xsd:complexType>
</xsd:element>
<xsd:element name="submittor">
<xsd:complexType>
<xsd:attribute
name="name"
type="xsd:string"
use="required" />
<xsd:attribute
name="title"
type="xsd:string"
use="optional" />
<xsd:attribute
name="email"
type="xsd:string"
use="optional" />
<xsd:attribute
name="phone"
use="optional"></xsd:attribute>
</xsd:complexType>
</xsd:element>
<xsd:element
name="description"
type="xqtsr:commentType" />
<xsd:element name="implementation-defined-items">
<xsd:complexType>
<xsd:sequence>
<xsd:element
minOccurs="0"
maxOccurs="unbounded"
ref="xqtsr:implementation-defined-item" />
</xsd:sequence>
</xsd:complexType>
<xsd:unique name="unique-implementation-defined-item">
<xsd:selector xpath=".//xqtsr:implementation-defined-item"/>
<xsd:field xpath="@name"/>
</xsd:unique>
</xsd:element>
<!-- Report the behavior of an implementation for an implementation-defined
item. The implementation-defined-item name should be reported exactly
as provided in XQTSCatalog.
-->
<xsd:element name="implementation-defined-item">
<xsd:complexType>
<xsd:attribute
name="name"
type="xsd:string"
use="required" />
<xsd:attribute
name="value"
type="xsd:string"
use="required" />
</xsd:complexType>
</xsd:element>
<xsd:element name="features">
<xsd:complexType>
<xsd:sequence>
<xsd:element
minOccurs="0"
maxOccurs="unbounded"
ref="xqtsr:feature"></xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:unique name="unique-features">
<xsd:selector xpath=".//xqtsr:feature"/>
<xsd:field xpath="@name"/>
</xsd:unique>
</xsd:element>
<!-- Report whether a conformance feature described in XQTSCatalog
is supported. The feature name should be reported exactly as
provided in XQTSCatalog.
-->
<xsd:element name="feature">
<xsd:complexType>
<xsd:attribute
name="name"
type="xsd:string"
use="required" />
<xsd:attribute
name="supported"
type="xsd:boolean"
use="required" />
<xsd:attribute
name="comment"
type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="context-properties">
<xsd:complexType>
<xsd:sequence>
<xsd:element
maxOccurs="unbounded"
minOccurs="0"
ref="xqtsr:context-property" />
</xsd:sequence>
</xsd:complexType>
<xsd:unique name="unique-context-properties">
<xsd:selector xpath=".//xqtsr:context-property"/>
<xsd:field xpath="@name"/>
</xsd:unique>
</xsd:element>
<!-- Report whether a context item described in XQTSCatalog has been
overwritten or augmented. The context property name should be
reported exactly as provided in XQTSCatalog.
-->
<xsd:element name="context-property">
<xsd:complexType>
<xsd:attribute
name="name"
type="xsd:string"
use="required" />
<xsd:attribute
name="value"
type="xsd:string"
use="required" />
<xsd:attribute
name="context-type"
use="required">
<xsd:simpleType>
<xsd:restriction
base="xsd:string">
<xsd:enumeration
value="static" />
<xsd:enumeration
value="dynamic" />
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
<xsd:element name="test-run">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="xqtsr:test-suite" />
<xsd:element
ref="xqtsr:transformation"
minOccurs="0"
maxOccurs="1" />
<xsd:element
ref="xqtsr:comparison"
minOccurs="0"
maxOccurs="1" />
<xsd:element
ref="xqtsr:otherComments"
minOccurs="0"
maxOccurs="1" />
</xsd:sequence>
<xsd:attribute
name="dateRun"
type="xsd:date"
use="required" />
</xsd:complexType>
</xsd:element>
<xsd:element
name="transformation"
type="xqtsr:commentType" />
<xsd:element
name="comparison"
type="xqtsr:commentType" />
<xsd:element
name="otherComments"
type="xqtsr:commentType" />
<xsd:element name="test-suite">
<xsd:complexType>
<xsd:attribute
name="version"
type="xsd:string"
use="required" />
</xsd:complexType>
</xsd:element>
<!-- Report the result of running a test case described in XQTSCatalog.
The test case name should be reported exactly as provided in
XQTSCatalog.
-->
<xsd:element name="test-case" type="xqtsr:test-caseType" />
<xsd:complexType name="test-caseType">
<xsd:attribute
name="name"
type="xsd:string"
use="required" />
<xsd:attribute
name="result"
type="xqtsr:resultStatusType"
use="required">
</xsd:attribute>
<xsd:attribute
name="comment"
type="xsd:string"
use="optional" />
<xsd:anyAttribute processContents="lax" namespace="##other"/>
</xsd:complexType>
<xsd:simpleType name="resultStatusType">
<xsd:restriction
base="xsd:string">
<xsd:enumeration
value="pass" />
<xsd:enumeration
value="fail" />
<xsd:enumeration
value="not applicable" />
<xsd:enumeration
value="not tested" />
<xsd:enumeration
value="cannot tell" />
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>