|
<?xml version="1.0" encoding="UTF-8"?>
|
|
<xsd:schema xmlns:epcis="urn:epcglobal:epcis:xsd:1" xmlns:epcismd="urn:epcglobal:epcis-masterdata:xsd:1" xmlns:epcisq="urn:epcglobal:epcis-query:xsd:1" xmlns:epcglobal="urn:epcglobal:xsd:1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:epcglobal:epcis-query:xsd:1" elementFormDefault="unqualified" attributeFormDefault="unqualified" version="1.0">
|
|
<xsd:annotation>
|
|
<xsd:documentation xml:lang="en">
|
|
<epcglobal:copyright>
|
|
Copyright (C) 2006, 2005 EPCglobal Inc., All Rights Reserved.
|
|
</epcglobal:copyright>
|
|
<epcglobal:disclaimer>
|
|
EPCglobal Inc., its members, officers, directors, employees, or
|
|
agents shall not be liable for any injury, loss, damages, financial
|
|
or otherwise, arising from, related to, or caused by the use of
|
|
this document. The use of said document shall constitute your
|
|
express consent to the foregoing exculpation.
|
|
</epcglobal:disclaimer>
|
|
<epcglobal:specification>
|
|
EPCIS Query 1.0
|
|
</epcglobal:specification>
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:import namespace="urn:epcglobal:xsd:1" schemaLocation="./EPCglobal.xsd"/>
|
|
<xsd:import namespace="urn:epcglobal:epcis:xsd:1" schemaLocation="./EPCglobal-epcis-1_0.xsd"/>
|
|
<xsd:import namespace="urn:epcglobal:epcis-masterdata:xsd:1" schemaLocation="./EPCglobal-epcis-masterdata-1_0.xsd"/>
|
|
<xsd:element name="EPCISQueryDocument" type="epcisq:EPCISQueryDocumentType"/>
|
|
<xsd:complexType name="EPCISQueryDocumentType">
|
|
<xsd:complexContent>
|
|
<xsd:extension base="epcglobal:Document">
|
|
<xsd:sequence>
|
|
<xsd:element name="EPCISHeader" type="epcis:EPCISHeaderType" minOccurs="0"/>
|
|
<xsd:element name="EPCISBody" type="epcisq:EPCISQueryBodyType"/>
|
|
<xsd:element name="extension" type="epcisq:EPCISQueryDocumentExtensionType" minOccurs="0"/>
|
|
<xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xsd:sequence>
|
|
<xsd:anyAttribute processContents="lax"/>
|
|
</xsd:extension>
|
|
</xsd:complexContent>
|
|
</xsd:complexType>
|
|
<xsd:complexType name="EPCISQueryDocumentExtensionType">
|
|
<xsd:sequence>
|
|
<xsd:any namespace="##local" processContents="lax" maxOccurs="unbounded"/>
|
|
</xsd:sequence>
|
|
<xsd:anyAttribute processContents="lax"/>
|
|
</xsd:complexType>
|
|
<xsd:complexType name="EPCISQueryBodyType">
|
|
<xsd:choice>
|
|
<xsd:element ref="epcisq:GetQueryNames"/>
|
|
<xsd:element ref="epcisq:GetQueryNamesResult"/>
|
|
<xsd:element ref="epcisq:Subscribe"/>
|
|
<xsd:element ref="epcisq:SubscribeResult"/>
|
|
<xsd:element ref="epcisq:Unsubscribe"/>
|
|
<xsd:element ref="epcisq:UnsubscribeResult"/>
|
|
<xsd:element ref="epcisq:GetSubscriptionIDs"/>
|
|
<xsd:element ref="epcisq:GetSubscriptionIDsResult"/>
|
|
<xsd:element ref="epcisq:Poll"/>
|
|
<xsd:element ref="epcisq:GetStandardVersion"/>
|
|
<xsd:element ref="epcisq:GetStandardVersionResult"/>
|
|
<xsd:element ref="epcisq:GetVendorVersion"/>
|
|
<xsd:element ref="epcisq:GetVendorVersionResult"/>
|
|
<xsd:element ref="epcisq:DuplicateNameException"/>
|
|
<!-- queryValidationException unimplemented in EPCIS 1.0
|
|
<xsd:element ref="epcisq:QueryValidationException"/>
|
|
-->
|
|
<xsd:element ref="epcisq:InvalidURIException"/>
|
|
<xsd:element ref="epcisq:NoSuchNameException"/>
|
|
<xsd:element ref="epcisq:NoSuchSubscriptionException"/>
|
|
<xsd:element ref="epcisq:DuplicateSubscriptionException"/>
|
|
<xsd:element ref="epcisq:QueryParameterException"/>
|
|
<xsd:element ref="epcisq:QueryTooLargeException"/>
|
|
<xsd:element ref="epcisq:QueryTooComplexException"/>
|
|
<xsd:element ref="epcisq:SubscriptionControlsException"/>
|
|
<xsd:element ref="epcisq:SubscribeNotPermittedException"/>
|
|
<xsd:element ref="epcisq:SecurityException"/>
|
|
<xsd:element ref="epcisq:ValidationException"/>
|
|
<xsd:element ref="epcisq:ImplementationException"/>
|
|
<xsd:element ref="epcisq:QueryResults"/>
|
|
</xsd:choice>
|
|
</xsd:complexType>
|
|
<!-- EPCISSERVICE MESSAGE WRAPPERS -->
|
|
<xsd:element name="GetQueryNames" type="epcisq:EmptyParms"/>
|
|
<xsd:element name="GetQueryNamesResult" type="epcisq:ArrayOfString"/>
|
|
<xsd:element name="Subscribe" type="epcisq:Subscribe"/>
|
|
<xsd:complexType name="Subscribe">
|
|
<xsd:sequence>
|
|
<xsd:element name="queryName" type="xsd:string"/>
|
|
<xsd:element name="params" type="epcisq:QueryParams"/>
|
|
<xsd:element name="dest" type="xsd:anyURI"/>
|
|
<xsd:element name="controls" type="epcisq:SubscriptionControls"/>
|
|
<xsd:element name="subscriptionID" type="xsd:string"/>
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
<xsd:element name="SubscribeResult" type="epcisq:VoidHolder"/>
|
|
<xsd:element name="Unsubscribe" type="epcisq:Unsubscribe"/>
|
|
<xsd:complexType name="Unsubscribe">
|
|
<xsd:sequence>
|
|
<xsd:element name="subscriptionID" type="xsd:string"/>
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
<xsd:element name="UnsubscribeResult" type="epcisq:VoidHolder"/>
|
|
<xsd:element name="GetSubscriptionIDs" type="epcisq:GetSubscriptionIDs"/>
|
|
<xsd:complexType name="GetSubscriptionIDs">
|
|
<xsd:sequence>
|
|
<xsd:element name="queryName" type="xsd:string"/>
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
<xsd:element name="GetSubscriptionIDsResult" type="epcisq:ArrayOfString"/>
|
|
<xsd:element name="Poll" type="epcisq:Poll"/>
|
|
<xsd:complexType name="Poll">
|
|
<xsd:sequence>
|
|
<xsd:element name="queryName" type="xsd:string"/>
|
|
<xsd:element name="params" type="epcisq:QueryParams"/>
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
<!-- The response from a Poll method is the QueryResults element, defined below.
|
|
The QueryResults element is also used to deliver standing query results
|
|
through the Query Callback Interface -->
|
|
<xsd:element name="GetStandardVersion" type="epcisq:EmptyParms"/>
|
|
<xsd:element name="GetStandardVersionResult" type="xsd:string"/>
|
|
<xsd:element name="GetVendorVersion" type="epcisq:EmptyParms"/>
|
|
<xsd:element name="GetVendorVersionResult" type="xsd:string"/>
|
|
<xsd:element name="VoidHolder" type="epcisq:VoidHolder"/>
|
|
<xsd:complexType name="VoidHolder">
|
|
<xsd:sequence/>
|
|
</xsd:complexType>
|
|
<xsd:complexType name="EmptyParms"/>
|
|
<xsd:complexType name="ArrayOfString">
|
|
<xsd:sequence>
|
|
<xsd:element name="string" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
<xsd:complexType name="SubscriptionControls">
|
|
<xsd:sequence>
|
|
<xsd:element name="schedule" type="epcisq:QuerySchedule" minOccurs="0"/>
|
|
<xsd:element name="trigger" type="xsd:anyURI" minOccurs="0"/>
|
|
<xsd:element name="initialRecordTime" type="xsd:dateTime" minOccurs="0"/>
|
|
<xsd:element name="reportIfEmpty" type="xsd:boolean"/>
|
|
<xsd:element name="extension" type="epcisq:SubscriptionControlsExtensionType" minOccurs="0"/>
|
|
<xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
<xsd:complexType name="SubscriptionControlsExtensionType">
|
|
<xsd:sequence>
|
|
<xsd:any namespace="##local" processContents="lax" maxOccurs="unbounded"/>
|
|
</xsd:sequence>
|
|
<xsd:anyAttribute processContents="lax"/>
|
|
</xsd:complexType>
|
|
<xsd:complexType name="QuerySchedule">
|
|
<xsd:sequence>
|
|
<xsd:element name="second" type="xsd:string" minOccurs="0"/>
|
|
<xsd:element name="minute" type="xsd:string" minOccurs="0"/>
|
|
<xsd:element name="hour" type="xsd:string" minOccurs="0"/>
|
|
<xsd:element name="dayOfMonth" type="xsd:string" minOccurs="0"/>
|
|
<xsd:element name="month" type="xsd:string" minOccurs="0"/>
|
|
<xsd:element name="dayOfWeek" type="xsd:string" minOccurs="0"/>
|
|
<xsd:element name="extension" type="epcisq:QueryScheduleExtensionType" minOccurs="0"/>
|
|
<xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
<xsd:complexType name="QueryScheduleExtensionType">
|
|
<xsd:sequence>
|
|
<xsd:any namespace="##local" processContents="lax" maxOccurs="unbounded"/>
|
|
</xsd:sequence>
|
|
<xsd:anyAttribute processContents="lax"/>
|
|
</xsd:complexType>
|
|
<xsd:complexType name="QueryParams">
|
|
<xsd:sequence>
|
|
<xsd:element name="param" type="epcisq:QueryParam" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
<xsd:complexType name="QueryParam">
|
|
<xsd:sequence>
|
|
<xsd:element name="name" type="xsd:string"/>
|
|
<!-- See note in EPCIS spec text regarding the value for this element -->
|
|
<xsd:element name="value" type="xsd:anyType"/>
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
<xsd:element name="QueryResults" type="epcisq:QueryResults"/>
|
|
<xsd:complexType name="QueryResults">
|
|
<xsd:sequence>
|
|
<xsd:element name="queryName" type="xsd:string"/>
|
|
<xsd:element name="subscriptionID" type="xsd:string" minOccurs="0"/>
|
|
<xsd:element name="resultsBody" type="epcisq:QueryResultsBody"/>
|
|
<xsd:element name="extension" type="epcisq:QueryResultsExtensionType" minOccurs="0"/>
|
|
<xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
<xsd:complexType name="QueryResultsExtensionType">
|
|
<xsd:sequence>
|
|
<xsd:any namespace="##local" processContents="lax" maxOccurs="unbounded"/>
|
|
</xsd:sequence>
|
|
<xsd:anyAttribute processContents="lax"/>
|
|
</xsd:complexType>
|
|
<xsd:complexType name="QueryResultsBody">
|
|
<xsd:choice>
|
|
<xsd:element name="EventList" type="epcis:EventListType"/>
|
|
<xsd:element name="VocabularyList" type="epcismd:VocabularyListType"/>
|
|
</xsd:choice>
|
|
</xsd:complexType>
|
|
<!-- EPCIS EXCEPTIONS -->
|
|
<xsd:element name="EPCISException" type="epcisq:EPCISException"/>
|
|
<xsd:complexType name="EPCISException">
|
|
<xsd:sequence>
|
|
<xsd:element name="reason" type="xsd:string"/>
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
<xsd:element name="DuplicateNameException" type="epcisq:DuplicateNameException"/>
|
|
<xsd:complexType name="DuplicateNameException">
|
|
<xsd:complexContent>
|
|
<xsd:extension base="epcisq:EPCISException">
|
|
<xsd:sequence/>
|
|
</xsd:extension>
|
|
</xsd:complexContent>
|
|
</xsd:complexType>
|
|
<!-- QueryValidationException not implemented in EPCIS 1.0
|
|
<xsd:element name="QueryValidationException" type="epcisq:QueryValidationException"/>
|
|
<xsd:complexType name="QueryValidationException">
|
|
<xsd:complexContent>
|
|
<xsd:extension base="epcisq:EPCISException">
|
|
<xsd:sequence/>
|
|
</xsd:extension>
|
|
</xsd:complexContent>
|
|
</xsd:complexType>
|
|
-->
|
|
<xsd:element name="InvalidURIException" type="epcisq:InvalidURIException"/>
|
|
<xsd:complexType name="InvalidURIException">
|
|
<xsd:complexContent>
|
|
<xsd:extension base="epcisq:EPCISException">
|
|
<xsd:sequence/>
|
|
</xsd:extension>
|
|
</xsd:complexContent>
|
|
</xsd:complexType>
|
|
<xsd:element name="NoSuchNameException" type="epcisq:NoSuchNameException"/>
|
|
<xsd:complexType name="NoSuchNameException">
|
|
<xsd:complexContent>
|
|
<xsd:extension base="epcisq:EPCISException">
|
|
<xsd:sequence/>
|
|
</xsd:extension>
|
|
</xsd:complexContent>
|
|
</xsd:complexType>
|
|
<xsd:element name="NoSuchSubscriptionException" type="epcisq:NoSuchSubscriptionException"/>
|
|
<xsd:complexType name="NoSuchSubscriptionException">
|
|
<xsd:complexContent>
|
|
<xsd:extension base="epcisq:EPCISException">
|
|
<xsd:sequence/>
|
|
</xsd:extension>
|
|
</xsd:complexContent>
|
|
</xsd:complexType>
|
|
<xsd:element name="DuplicateSubscriptionException" type="epcisq:DuplicateSubscriptionException"/>
|
|
<xsd:complexType name="DuplicateSubscriptionException">
|
|
<xsd:complexContent>
|
|
<xsd:extension base="epcisq:EPCISException">
|
|
<xsd:sequence/>
|
|
</xsd:extension>
|
|
</xsd:complexContent>
|
|
</xsd:complexType>
|
|
<xsd:element name="QueryParameterException" type="epcisq:QueryParameterException"/>
|
|
<xsd:complexType name="QueryParameterException">
|
|
<xsd:complexContent>
|
|
<xsd:extension base="epcisq:EPCISException">
|
|
<xsd:sequence/>
|
|
</xsd:extension>
|
|
</xsd:complexContent>
|
|
</xsd:complexType>
|
|
<xsd:element name="QueryTooLargeException" type="epcisq:QueryTooLargeException"/>
|
|
<xsd:complexType name="QueryTooLargeException">
|
|
<xsd:complexContent>
|
|
<xsd:extension base="epcisq:EPCISException">
|
|
<xsd:sequence>
|
|
<xsd:element name="queryName" type="xsd:string" minOccurs="0"/>
|
|
<xsd:element name="subscriptionID" type="xsd:string" minOccurs="0"/>
|
|
</xsd:sequence>
|
|
</xsd:extension>
|
|
</xsd:complexContent>
|
|
</xsd:complexType>
|
|
<xsd:element name="QueryTooComplexException" type="epcisq:QueryTooComplexException"/>
|
|
<xsd:complexType name="QueryTooComplexException">
|
|
<xsd:complexContent>
|
|
<xsd:extension base="epcisq:EPCISException">
|
|
<xsd:sequence/>
|
|
</xsd:extension>
|
|
</xsd:complexContent>
|
|
</xsd:complexType>
|
|
<xsd:element name="SubscriptionControlsException" type="epcisq:SubscriptionControlsException"/>
|
|
<xsd:complexType name="SubscriptionControlsException">
|
|
<xsd:complexContent>
|
|
<xsd:extension base="epcisq:EPCISException">
|
|
<xsd:sequence/>
|
|
</xsd:extension>
|
|
</xsd:complexContent>
|
|
</xsd:complexType>
|
|
<xsd:element name="SubscribeNotPermittedException" type="epcisq:SubscribeNotPermittedException"/>
|
|
<xsd:complexType name="SubscribeNotPermittedException">
|
|
<xsd:complexContent>
|
|
<xsd:extension base="epcisq:EPCISException">
|
|
<xsd:sequence/>
|
|
</xsd:extension>
|
|
</xsd:complexContent>
|
|
</xsd:complexType>
|
|
<xsd:element name="SecurityException" type="epcisq:SecurityException"/>
|
|
<xsd:complexType name="SecurityException">
|
|
<xsd:complexContent>
|
|
<xsd:extension base="epcisq:EPCISException">
|
|
<xsd:sequence/>
|
|
</xsd:extension>
|
|
</xsd:complexContent>
|
|
</xsd:complexType>
|
|
<xsd:element name="ValidationException" type="epcisq:ValidationException"/>
|
|
<xsd:complexType name="ValidationException">
|
|
<xsd:complexContent>
|
|
<xsd:extension base="epcisq:EPCISException">
|
|
<xsd:sequence/>
|
|
</xsd:extension>
|
|
</xsd:complexContent>
|
|
</xsd:complexType>
|
|
<xsd:element name="ImplementationException" type="epcisq:ImplementationException"/>
|
|
<xsd:complexType name="ImplementationException">
|
|
<xsd:complexContent>
|
|
<xsd:extension base="epcisq:EPCISException">
|
|
<xsd:sequence>
|
|
<xsd:element name="severity" type="epcisq:ImplementationExceptionSeverity"/>
|
|
<xsd:element name="queryName" type="xsd:string" minOccurs="0"/>
|
|
<xsd:element name="subscriptionID" type="xsd:string" minOccurs="0"/>
|
|
</xsd:sequence>
|
|
</xsd:extension>
|
|
</xsd:complexContent>
|
|
</xsd:complexType>
|
|
<xsd:simpleType name="ImplementationExceptionSeverity">
|
|
<xsd:restriction base="xsd:NCName">
|
|
<xsd:enumeration value="ERROR"/>
|
|
<xsd:enumeration value="SEVERE"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
</xsd:schema>
|