Add latest CD extensions.
[shibboleth/cpp-opensaml.git] / schemas / soap-envelope.xsd
1 <?xml version='1.0' encoding='UTF-8' ?>\r
2 \r
3 <!-- Schema for the SOAP/1.1 envelope\r
4 \r
5      This schema has been produced using W3C's SOAP Version 1.2 schema\r
6      found at:\r
7 \r
8      http://www.w3.org/2001/06/soap-envelope\r
9 \r
10      Copyright 2001 Martin Gudgin, Developmentor.\r
11 \r
12      Changes made are the following:\r
13      - reverted namespace to http://schemas.xmlsoap.org/soap/envelope/\r
14      - reverted mustUnderstand to only allow 0 and 1 as lexical values\r
15          - made encodingStyle a global attribute 20020825\r
16 \r
17          Further changes:\r
18 \r
19          - removed default value from mustUnderstand attribute declaration - 20030314\r
20 \r
21      Original copyright:\r
22      \r
23      Copyright 2001 W3C (Massachusetts Institute of Technology,\r
24      Institut National de Recherche en Informatique et en Automatique,\r
25      Keio University). All Rights Reserved.\r
26      http://www.w3.org/Consortium/Legal/\r
27 \r
28      This document is governed by the W3C Software License [1] as\r
29      described in the FAQ [2].\r
30 \r
31      [1] http://www.w3.org/Consortium/Legal/copyright-software-19980720\r
32      [2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD\r
33 -->\r
34 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"\r
35            xmlns:tns="http://schemas.xmlsoap.org/soap/envelope/"\r
36            targetNamespace="http://schemas.xmlsoap.org/soap/envelope/" >\r
37 \r
38      \r
39   <!-- Envelope, header and body -->\r
40   <xs:element name="Envelope" type="tns:Envelope" />\r
41   <xs:complexType name="Envelope" >\r
42     <xs:sequence>\r
43       <xs:element ref="tns:Header" minOccurs="0" />\r
44       <xs:element ref="tns:Body" minOccurs="1" />\r
45       <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="lax" />\r
46     </xs:sequence>\r
47     <xs:anyAttribute namespace="##any" processContents="lax" />\r
48   </xs:complexType>\r
49 \r
50   <xs:element name="Header" type="tns:Header" />\r
51   <xs:complexType name="Header" >\r
52     <xs:sequence>\r
53       <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="lax" />\r
54     </xs:sequence>\r
55     <xs:anyAttribute namespace="##any" processContents="lax" />\r
56   </xs:complexType>\r
57   \r
58   <xs:element name="Body" type="tns:Body" />\r
59   <xs:complexType name="Body" >\r
60     <xs:sequence>\r
61       <xs:any namespace="##any" minOccurs="0" maxOccurs="unbounded" processContents="lax" />\r
62     </xs:sequence>\r
63     <xs:anyAttribute namespace="##any" processContents="lax" >\r
64           <xs:annotation>\r
65             <xs:documentation>\r
66                   Prose in the spec does not specify that attributes are allowed on the Body element\r
67                 </xs:documentation>\r
68           </xs:annotation>\r
69         </xs:anyAttribute>\r
70   </xs:complexType>\r
71 \r
72        \r
73   <!-- Global Attributes.  The following attributes are intended to be usable via qualified attribute names on any complex type referencing them.  -->\r
74   <xs:attribute name="mustUnderstand" > \r
75      <xs:simpleType>\r
76      <xs:restriction base='xs:boolean'>\r
77            <xs:pattern value='0|1' />\r
78          </xs:restriction>\r
79    </xs:simpleType>\r
80   </xs:attribute>\r
81   <xs:attribute name="actor" type="xs:anyURI" />\r
82 \r
83   <xs:simpleType name="encodingStyle" >\r
84     <xs:annotation>\r
85           <xs:documentation>\r
86             'encodingStyle' indicates any canonicalization conventions followed in the contents of the containing element.  For example, the value 'http://schemas.xmlsoap.org/soap/encoding/' indicates the pattern described in SOAP specification\r
87           </xs:documentation>\r
88         </xs:annotation>\r
89     <xs:list itemType="xs:anyURI" />\r
90   </xs:simpleType>\r
91 \r
92   <xs:attribute name="encodingStyle" type="tns:encodingStyle" />\r
93   <xs:attributeGroup name="encodingStyle" >\r
94     <xs:attribute ref="tns:encodingStyle" />\r
95   </xs:attributeGroup>\r
96 \r
97   <xs:element name="Fault" type="tns:Fault" />\r
98   <xs:complexType name="Fault" final="extension" >\r
99     <xs:annotation>\r
100           <xs:documentation>\r
101             Fault reporting structure\r
102           </xs:documentation>\r
103         </xs:annotation>\r
104     <xs:sequence>\r
105       <xs:element name="faultcode" type="xs:QName" />\r
106       <xs:element name="faultstring" type="xs:string" />\r
107       <xs:element name="faultactor" type="xs:anyURI" minOccurs="0" />\r
108       <xs:element name="detail" type="tns:detail" minOccurs="0" />      \r
109     </xs:sequence>\r
110   </xs:complexType>\r
111 \r
112   <xs:complexType name="detail">\r
113     <xs:sequence>\r
114       <xs:any namespace="##any" minOccurs="0" maxOccurs="unbounded" processContents="lax" />\r
115     </xs:sequence>\r
116     <xs:anyAttribute namespace="##any" processContents="lax" /> \r
117   </xs:complexType>\r
118 \r
119 </xs:schema>\r
120 \r