SOAP 1.1 classes
[shibboleth/cpp-xmltooling.git] / schemas / soap-envelope.xsd
diff --git a/schemas/soap-envelope.xsd b/schemas/soap-envelope.xsd
new file mode 100644 (file)
index 0000000..224e815
--- /dev/null
@@ -0,0 +1,120 @@
+<?xml version='1.0' encoding='UTF-8' ?>\r
+\r
+<!-- Schema for the SOAP/1.1 envelope\r
+\r
+     This schema has been produced using W3C's SOAP Version 1.2 schema\r
+     found at:\r
+\r
+     http://www.w3.org/2001/06/soap-envelope\r
+\r
+     Copyright 2001 Martin Gudgin, Developmentor.\r
+\r
+     Changes made are the following:\r
+     - reverted namespace to http://schemas.xmlsoap.org/soap/envelope/\r
+     - reverted mustUnderstand to only allow 0 and 1 as lexical values\r
+        - made encodingStyle a global attribute 20020825\r
+\r
+        Further changes:\r
+\r
+        - removed default value from mustUnderstand attribute declaration - 20030314\r
+\r
+     Original copyright:\r
+     \r
+     Copyright 2001 W3C (Massachusetts Institute of Technology,\r
+     Institut National de Recherche en Informatique et en Automatique,\r
+     Keio University). All Rights Reserved.\r
+     http://www.w3.org/Consortium/Legal/\r
+\r
+     This document is governed by the W3C Software License [1] as\r
+     described in the FAQ [2].\r
+\r
+     [1] http://www.w3.org/Consortium/Legal/copyright-software-19980720\r
+     [2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD\r
+-->\r
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"\r
+           xmlns:tns="http://schemas.xmlsoap.org/soap/envelope/"\r
+           targetNamespace="http://schemas.xmlsoap.org/soap/envelope/" >\r
+\r
+     \r
+  <!-- Envelope, header and body -->\r
+  <xs:element name="Envelope" type="tns:Envelope" />\r
+  <xs:complexType name="Envelope" >\r
+    <xs:sequence>\r
+      <xs:element ref="tns:Header" minOccurs="0" />\r
+      <xs:element ref="tns:Body" minOccurs="1" />\r
+      <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="lax" />\r
+    </xs:sequence>\r
+    <xs:anyAttribute namespace="##any" processContents="lax" />\r
+  </xs:complexType>\r
+\r
+  <xs:element name="Header" type="tns:Header" />\r
+  <xs:complexType name="Header" >\r
+    <xs:sequence>\r
+      <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="lax" />\r
+    </xs:sequence>\r
+    <xs:anyAttribute namespace="##any" processContents="lax" />\r
+  </xs:complexType>\r
+  \r
+  <xs:element name="Body" type="tns:Body" />\r
+  <xs:complexType name="Body" >\r
+    <xs:sequence>\r
+      <xs:any namespace="##any" minOccurs="0" maxOccurs="unbounded" processContents="lax" />\r
+    </xs:sequence>\r
+    <xs:anyAttribute namespace="##any" processContents="lax" >\r
+         <xs:annotation>\r
+           <xs:documentation>\r
+                 Prose in the spec does not specify that attributes are allowed on the Body element\r
+               </xs:documentation>\r
+         </xs:annotation>\r
+       </xs:anyAttribute>\r
+  </xs:complexType>\r
+\r
+       \r
+  <!-- Global Attributes.  The following attributes are intended to be usable via qualified attribute names on any complex type referencing them.  -->\r
+  <xs:attribute name="mustUnderstand" >        \r
+     <xs:simpleType>\r
+     <xs:restriction base='xs:boolean'>\r
+          <xs:pattern value='0|1' />\r
+        </xs:restriction>\r
+   </xs:simpleType>\r
+  </xs:attribute>\r
+  <xs:attribute name="actor" type="xs:anyURI" />\r
+\r
+  <xs:simpleType name="encodingStyle" >\r
+    <xs:annotation>\r
+         <xs:documentation>\r
+           '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
+         </xs:documentation>\r
+       </xs:annotation>\r
+    <xs:list itemType="xs:anyURI" />\r
+  </xs:simpleType>\r
+\r
+  <xs:attribute name="encodingStyle" type="tns:encodingStyle" />\r
+  <xs:attributeGroup name="encodingStyle" >\r
+    <xs:attribute ref="tns:encodingStyle" />\r
+  </xs:attributeGroup>\r
+\r
+  <xs:element name="Fault" type="tns:Fault" />\r
+  <xs:complexType name="Fault" final="extension" >\r
+    <xs:annotation>\r
+         <xs:documentation>\r
+           Fault reporting structure\r
+         </xs:documentation>\r
+       </xs:annotation>\r
+    <xs:sequence>\r
+      <xs:element name="faultcode" type="xs:QName" />\r
+      <xs:element name="faultstring" type="xs:string" />\r
+      <xs:element name="faultactor" type="xs:anyURI" minOccurs="0" />\r
+      <xs:element name="detail" type="tns:detail" minOccurs="0" />      \r
+    </xs:sequence>\r
+  </xs:complexType>\r
+\r
+  <xs:complexType name="detail">\r
+    <xs:sequence>\r
+      <xs:any namespace="##any" minOccurs="0" maxOccurs="unbounded" processContents="lax" />\r
+    </xs:sequence>\r
+    <xs:anyAttribute namespace="##any" processContents="lax" /> \r
+  </xs:complexType>\r
+\r
+</xs:schema>\r
+\r