Project

General

Profile

Download (14.5 KB) Statistics
| Branch: | Tag: | Revision:
2e0a7cb1 Sylvain L. Sauvage
<?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>