1<?xml version="1.0" encoding="utf-8"?>
2<!--
3    W3C XML Schema defined in the Web Services Addressing 1.0 specification
4    http://www.w3.org/TR/ws-addr-core
5
6   Copyright © 2005 World Wide Web Consortium,
7
8   (Massachusetts Institute of Technology, European Research Consortium for
9   Informatics and Mathematics, Keio University). All Rights Reserved. This
10   work is distributed under the W3C® Software License [1] in the hope that
11   it will be useful, but WITHOUT ANY WARRANTY; without even the implied
12   warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13
14   [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
15
16   $Id: ws-addr.xsd,v 1.2 2008/07/23 13:38:16 plehegar Exp $
17-->
18<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.w3.org/2005/08/addressing" targetNamespace="http://www.w3.org/2005/08/addressing" blockDefault="#all" elementFormDefault="qualified" finalDefault="" attributeFormDefault="unqualified">
19
20	<!-- Constructs from the WS-Addressing Core -->
21
22	<xs:element name="EndpointReference" type="tns:EndpointReferenceType"/>
23	<xs:complexType name="EndpointReferenceType" mixed="false">
24		<xs:sequence>
25			<xs:element name="Address" type="tns:AttributedURIType"/>
26			<xs:element ref="tns:ReferenceParameters" minOccurs="0"/>
27			<xs:element ref="tns:Metadata" minOccurs="0"/>
28			<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
29		</xs:sequence>
30		<xs:anyAttribute namespace="##other" processContents="lax"/>
31	</xs:complexType>
32
33	<xs:element name="ReferenceParameters" type="tns:ReferenceParametersType"/>
34	<xs:complexType name="ReferenceParametersType" mixed="false">
35		<xs:sequence>
36			<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
37		</xs:sequence>
38		<xs:anyAttribute namespace="##other" processContents="lax"/>
39	</xs:complexType>
40
41	<xs:element name="Metadata" type="tns:MetadataType"/>
42	<xs:complexType name="MetadataType" mixed="false">
43		<xs:sequence>
44			<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
45		</xs:sequence>
46		<xs:anyAttribute namespace="##other" processContents="lax"/>
47	</xs:complexType>
48
49	<xs:element name="MessageID" type="tns:AttributedURIType"/>
50	<xs:element name="RelatesTo" type="tns:RelatesToType"/>
51	<xs:complexType name="RelatesToType" mixed="false">
52		<xs:simpleContent>
53			<xs:extension base="xs:anyURI">
54				<xs:attribute name="RelationshipType" type="tns:RelationshipTypeOpenEnum" use="optional" default="http://www.w3.org/2005/08/addressing/reply"/>
55				<xs:anyAttribute namespace="##other" processContents="lax"/>
56			</xs:extension>
57		</xs:simpleContent>
58	</xs:complexType>
59
60	<xs:simpleType name="RelationshipTypeOpenEnum">
61		<xs:union memberTypes="tns:RelationshipType xs:anyURI"/>
62	</xs:simpleType>
63
64	<xs:simpleType name="RelationshipType">
65		<xs:restriction base="xs:anyURI">
66			<xs:enumeration value="http://www.w3.org/2005/08/addressing/reply"/>
67		</xs:restriction>
68	</xs:simpleType>
69
70	<xs:element name="ReplyTo" type="tns:EndpointReferenceType"/>
71	<xs:element name="From" type="tns:EndpointReferenceType"/>
72	<xs:element name="FaultTo" type="tns:EndpointReferenceType"/>
73	<xs:element name="To" type="tns:AttributedURIType"/>
74	<xs:element name="Action" type="tns:AttributedURIType"/>
75
76	<xs:complexType name="AttributedURIType" mixed="false">
77		<xs:simpleContent>
78			<xs:extension base="xs:anyURI">
79				<xs:anyAttribute namespace="##other" processContents="lax"/>
80			</xs:extension>
81		</xs:simpleContent>
82	</xs:complexType>
83
84	<!-- Constructs from the WS-Addressing SOAP binding -->
85
86	<xs:attribute name="IsReferenceParameter" type="xs:boolean"/>
87
88	<xs:simpleType name="FaultCodesOpenEnumType">
89		<xs:union memberTypes="tns:FaultCodesType xs:QName"/>
90	</xs:simpleType>
91
92	<xs:simpleType name="FaultCodesType">
93		<xs:restriction base="xs:QName">
94			<xs:enumeration value="tns:InvalidAddressingHeader"/>
95			<xs:enumeration value="tns:InvalidAddress"/>
96			<xs:enumeration value="tns:InvalidEPR"/>
97			<xs:enumeration value="tns:InvalidCardinality"/>
98			<xs:enumeration value="tns:MissingAddressInEPR"/>
99			<xs:enumeration value="tns:DuplicateMessageID"/>
100			<xs:enumeration value="tns:ActionMismatch"/>
101			<xs:enumeration value="tns:MessageAddressingHeaderRequired"/>
102			<xs:enumeration value="tns:DestinationUnreachable"/>
103			<xs:enumeration value="tns:ActionNotSupported"/>
104			<xs:enumeration value="tns:EndpointUnavailable"/>
105		</xs:restriction>
106	</xs:simpleType>
107
108	<xs:element name="RetryAfter" type="tns:AttributedUnsignedLongType"/>
109	<xs:complexType name="AttributedUnsignedLongType" mixed="false">
110		<xs:simpleContent>
111			<xs:extension base="xs:unsignedLong">
112				<xs:anyAttribute namespace="##other" processContents="lax"/>
113			</xs:extension>
114		</xs:simpleContent>
115	</xs:complexType>
116
117	<xs:element name="ProblemHeaderQName" type="tns:AttributedQNameType"/>
118	<xs:complexType name="AttributedQNameType" mixed="false">
119		<xs:simpleContent>
120			<xs:extension base="xs:QName">
121				<xs:anyAttribute namespace="##other" processContents="lax"/>
122			</xs:extension>
123		</xs:simpleContent>
124	</xs:complexType>
125
126	<xs:element name="ProblemIRI" type="tns:AttributedURIType"/>
127
128	<xs:element name="ProblemAction" type="tns:ProblemActionType"/>
129	<xs:complexType name="ProblemActionType" mixed="false">
130		<xs:sequence>
131			<xs:element ref="tns:Action" minOccurs="0"/>
132			<xs:element name="SoapAction" minOccurs="0" type="xs:anyURI"/>
133		</xs:sequence>
134		<xs:anyAttribute namespace="##other" processContents="lax"/>
135	</xs:complexType>
136
137</xs:schema>
138