--
-- This file is automatically generated by xsd2sql.awk, please do not edit
--


-- wsrm.xsd

CREATE PROCEDURE WSRM_WSRM_XSD ()
{
  declare ses any;
  ses := string_output ();
  http ('<?xml version="1.0" encoding="UTF-8"?>\n', ses);
  http ('<xsd:schema\n', ses);
  http ('    	targetNamespace="http://schemas.xmlsoap.org/ws/2004/03/rm"\n', ses);
  http ('	xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility"\n', ses);
  http ('	xmlns:wsrm="http://schemas.xmlsoap.org/ws/2004/03/rm"\n', ses);
  http ('	xmlns:xsd="http://www.w3.org/2001/XMLSchema"\n', ses);
  http ('	xmlns:wssu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"\n', ses);
  http ('	elementFormDefault="qualified" attributeFormDefault="unqualified">\n', ses);
  http ('\n', ses);
  http ('	<!-- *** BASE ***\n', ses);
  http ('	-->\n', ses);
  http ('    <xsd:complexType name="SequenceType">\n', ses);
  http ('	<xsd:sequence>\n', ses);
  http ('	    <xsd:element ref="wsu:Identifier"/>\n', ses);
  http ('	    <xsd:element name="MessageNumber" type="xsd:unsignedLong"/>\n', ses);
  http ('	    <xsd:element name="LastMessage" type="xsd:ENTITY" minOccurs="0"/>\n', ses);
  http ('	</xsd:sequence>\n', ses);
  http ('	<xsd:attribute ref="wssu:Id" />\n', ses);
  http ('    </xsd:complexType>\n', ses);
  http ('\n', ses);
  http ('\n', ses);
  http ('    <xsd:complexType name="SequenceTerminate_t">\n', ses);
  http ('	<xsd:sequence>\n', ses);
  http ('	    <xsd:element ref="wsu:Identifier"/>\n', ses);
  http ('	</xsd:sequence>\n', ses);
  http ('	<xsd:attribute ref="wssu:Id" />\n', ses);
  http ('    </xsd:complexType>\n', ses);
  http ('\n', ses);
  http ('\n', ses);
  http ('    <xsd:complexType name="AcknowledgmentRange_t">\n', ses);
  http ('	<xsd:sequence/>\n', ses);
  http ('	<xsd:attribute name="Upper" type="xsd:unsignedLong" use="required"/>\n', ses);
  http ('	<xsd:attribute name="Lower" type="xsd:unsignedLong" use="required"/>\n', ses);
  http ('    </xsd:complexType>\n', ses);
  http ('\n', ses);
  http ('    <xsd:complexType name="SequenceAcknowledgment_t">\n', ses);
  http ('	<xsd:sequence>\n', ses);
  http ('	    <xsd:element ref="wsu:Identifier"/>\n', ses);
  http ('	    <xsd:element name="AcknowledgmentRange" type="wsrm:AcknowledgmentRange_t" maxOccurs="unbounded">\n', ses);
  http ('	    </xsd:element>\n', ses);
  http ('	</xsd:sequence>\n', ses);
  http ('	<xsd:attribute ref="wssu:Id" />\n', ses);
  http ('    </xsd:complexType>\n', ses);
  http ('\n', ses);
  http ('    <xsd:complexType name="SequenceAcknowledgement_t">\n', ses);
  http ('	<xsd:sequence>\n', ses);
  http ('	    <xsd:element ref="wsu:Identifier"/>\n', ses);
  http ('	    <xsd:element name="AcknowledgementRange" type="wsrm:AcknowledgmentRange_t" maxOccurs="unbounded">\n', ses);
  http ('	    </xsd:element>\n', ses);
  http ('	</xsd:sequence>\n', ses);
  http ('	<xsd:attribute ref="wssu:Id" />\n', ses);
  http ('    </xsd:complexType>\n', ses);
  http ('\n', ses);
  http ('\n', ses);
  http ('    <xsd:complexType name="AckRequestedType">\n', ses);
  http ('	<xsd:sequence>\n', ses);
  http ('	    <xsd:element ref="wsu:Identifier"/>\n', ses);
  http ('	</xsd:sequence>\n', ses);
  http ('    </xsd:complexType>\n', ses);
  http ('\n', ses);
  http ('    <xsd:element name="Sequence" type="wsrm:SequenceType"/>\n', ses);
  http ('    <xsd:element name="SequenceTerminate" type="wsrm:SequenceTerminate_t"/>\n', ses);
  http ('    <xsd:element name="SequenceAcknowledgment" type="wsrm:SequenceAcknowledgment_t" />\n', ses);
  http ('    <xsd:element name="SequenceAcknowledgement" type="wsrm:SequenceAcknowledgement_t" />\n', ses);
  http ('    <xsd:element name="AckRequested" type="wsrm:AckRequestedType"/>\n', ses);
  http ('\n', ses);
  http ('    <!-- *** FAULTS ***\n', ses);
  http ('    -->\n', ses);
  http ('\n', ses);
  http ('    <xsd:simpleType name="FaultCodes">\n', ses);
  http ('	<xsd:restriction base="xsd:QName">\n', ses);
  http ('	    <xsd:enumeration value="wsrm:UnknownSequence"/>\n', ses);
  http ('	    <xsd:enumeration value="wsrm:SequenceTerminated"/>\n', ses);
  http ('	    <xsd:enumeration value="wsrm:InvalidAcknowledgement"/>\n', ses);
  http ('	    <xsd:enumeration value="wsrm:MessageNumberRollover"/>\n', ses);
  http ('	</xsd:restriction>\n', ses);
  http ('    </xsd:simpleType>\n', ses);
  http ('\n', ses);
  http ('    <xsd:complexType name="SequenceFaultType">\n', ses);
  http ('	<xsd:sequence>\n', ses);
  http ('	    <xsd:element ref="wsu:Identifier"/>\n', ses);
  http ('	    <xsd:element name="FaultCode" type="wsrm:FaultCodes"/>\n', ses);
  http ('	</xsd:sequence>\n', ses);
  http ('    </xsd:complexType>\n', ses);
  http ('\n', ses);
  http ('    <xsd:element name="SequenceFault" type="wsrm:SequenceFaultType"/>\n', ses);
  http ('\n', ses);
  http ('    <!-- *** ASSERTATIONS ***\n', ses);
  http ('    -->\n', ses);
  http ('    <xsd:complexType name="InactivityTimeout_t">\n', ses);
  http ('	<xsd:sequence/>\n', ses);
  http ('	<xsd:attribute name="Milliseconds" type="xsd:unsignedLong" use="required"/>\n', ses);
  http ('    </xsd:complexType>\n', ses);
  http ('\n', ses);
  http ('    <xsd:complexType name="BaseRetransmissionInterval_t">\n', ses);
  http ('	<xsd:sequence/>\n', ses);
  http ('	<xsd:attribute name="Milliseconds" type="xsd:unsignedLong" use="required"/>\n', ses);
  http ('    </xsd:complexType>\n', ses);
  http ('\n', ses);
  http ('    <xsd:complexType name="AcknowledgementInterval_t">\n', ses);
  http ('	<xsd:sequence/>\n', ses);
  http ('	<xsd:attribute name="Milliseconds" type="xsd:unsignedLong" use="required"/>\n', ses);
  http ('    </xsd:complexType>\n', ses);
  http ('\n', ses);
  http ('    <xsd:complexType name="PolicyAssertionType">\n', ses);
  http ('	<xsd:sequence>\n', ses);
  http ('	    <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\n', ses);
  http ('	</xsd:sequence>\n', ses);
  http ('	<xsd:anyAttribute namespace="##other"/>\n', ses);
  http ('    </xsd:complexType>\n', ses);
  http ('\n', ses);
  http ('    <xsd:simpleType name="DeliveryAssuranceEnum">\n', ses);
  http ('	<xsd:restriction base="xsd:QName">\n', ses);
  http ('	    <xsd:enumeration value="wsrm:AtMostOnce"/>\n', ses);
  http ('	    <xsd:enumeration value="wsrm:AtLeastOnce"/>\n', ses);
  http ('	    <xsd:enumeration value="wsrm:ExactlyOnce"/>\n', ses);
  http ('	    <xsd:enumeration value="wsrm:InOrder"/>\n', ses);
  http ('	</xsd:restriction>\n', ses);
  http ('    </xsd:simpleType>\n', ses);
  http ('\n', ses);
  http ('    <xsd:complexType name="DeliveryAssurance_t">\n', ses);
  http ('	<xsd:sequence/>\n', ses);
  http ('	<xsd:attribute name="Value" type="xsd:QName" use="required"/>\n', ses);
  http ('    </xsd:complexType>\n', ses);
  http ('\n', ses);
  http ('    <xsd:element name="InactivityTimeout" type="wsrm:InactivityTimeout_t" />\n', ses);
  http ('    <xsd:element name="BaseRetransmissionInterval" type="wsrm:BaseRetransmissionInterval_t" />\n', ses);
  http ('    <xsd:element name="ExponentialBackoff" type="wsrm:PolicyAssertionType"/>\n', ses);
  http ('    <xsd:element name="AcknowledgementInterval" type="wsrm:AcknowledgementInterval_t"/>\n', ses);
  http ('    <xsd:element name="DeliveryAssurance" type="wsrm:DeliveryAssurance_t"/>\n', ses);
  http ('\n', ses);
  http ('    <!-- *** Sequence Reference ***\n', ses);
  http ('    -->\n', ses);
  http ('    <xsd:complexType name="SequenceRefType">\n', ses);
  http ('	<xsd:sequence />\n', ses);
  http ('	<xsd:attribute name="Identifier" type="xsd:anyURI" use="required"/>\n', ses);
  http ('	<xsd:attribute name="Match" type="wsrm:MatchChoiceType" use="optional"/>\n', ses);
  http ('    </xsd:complexType>\n', ses);
  http ('\n', ses);
  http ('    <xsd:simpleType name="MatchChoiceType">\n', ses);
  http ('	<xsd:restriction base="xsd:QName">\n', ses);
  http ('	    <xsd:enumeration value="wsrm:Exact"/>\n', ses);
  http ('	    <xsd:enumeration value="wsrm:Prefix"/>\n', ses);
  http ('	</xsd:restriction>\n', ses);
  http ('    </xsd:simpleType>\n', ses);
  http ('    <xsd:element name="SequenceRef" type="wsrm:SequenceRefType"/>\n', ses);
  http ('\n', ses);
  http ('  <xsd:element name="CreateSequence" type="wsrm:CreateSequenceType"/>\n', ses);
  http ('  <xsd:complexType name="CreateSequenceType">\n', ses);
  http ('     <xsd:sequence />\n', ses);
  http ('	<xsd:attribute ref="wssu:Id" />\n', ses);
  http ('  </xsd:complexType>\n', ses);
  http ('  <xsd:element name="CreateSequenceResponse" type="wsrm:HandshakeType"/>\n', ses);
  http ('  <xsd:element name="TerminateSequence" type="wsrm:HandshakeType"/>\n', ses);
  http ('  <xsd:complexType name="HandshakeType">\n', ses);
  http ('    <xsd:sequence>\n', ses);
  http ('      <xsd:element ref="wsu:Identifier"/>\n', ses);
  http ('    </xsd:sequence>\n', ses);
  http ('  </xsd:complexType>\n', ses);
  http ('\n', ses);
  http ('</xsd:schema>\n', ses);
  return string_output_string (ses);
}
;


-- wsp.xsd

CREATE PROCEDURE WSRM_WSP_XSD ()
{
  declare ses any;
  ses := string_output ();
  http ('<?xml version="1.0" encoding="UTF-8"?>\n', ses);
  http ('<xsd:schema\n', ses);
  http ('    targetNamespace="http://schemas.xmlsoap.org/ws/2002/12/policy"\n', ses);
  http ('    xmlns:xsd="http://www.w3.org/2001/XMLSchema"\n', ses);
  http ('    xmlns:wsp="http://schemas.xmlsoap.org/ws/2002/12/policy"\n', ses);
  http ('    xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility"\n', ses);
  http ('    xmlns:wsrm="http://schemas.xmlsoap.org/ws/2004/03/rm"\n', ses);
  http ('    xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing"\n', ses);
  http ('    elementFormDefault="qualified" blockDefault="#all">\n', ses);
  http ('\n', ses);
  http ('    <xsd:simpleType name="UsageType">\n', ses);
  http ('	<xsd:restriction base="xsd:QName">\n', ses);
  http ('	    <xsd:enumeration value="wsp:Required"/>\n', ses);
  http ('	    <xsd:enumeration value="wsp:Optional"/>\n', ses);
  http ('	    <xsd:enumeration value="wsp:Rejected"/>\n', ses);
  http ('	    <xsd:enumeration value="wsp:Ignored"/>\n', ses);
  http ('	    <xsd:enumeration value="wsp:Observed"/>\n', ses);
  http ('	</xsd:restriction>\n', ses);
  http ('    </xsd:simpleType>\n', ses);
  http ('\n', ses);
  http ('    <xsd:complexType name="SpecVersionAssertion">\n', ses);
  http ('	<xsd:sequence />\n', ses);
  http ('	<xsd:attribute name="URI" type="xsd:anyURI" use="required"/>\n', ses);
  http ('	<xsd:attribute name ="Usage" type="xsd:string" use="optional"/>\n', ses);
  http ('	<xsd:attribute name="Preference" type="xsd:int" use="optional"/>\n', ses);
  http ('	<xsd:attribute name="Id" type="xsd:ID" use="optional"/>\n', ses);
  http ('    </xsd:complexType>\n', ses);
  http ('\n', ses);
  http ('    <xsd:complexType name="PolicyExpression">\n', ses);
  http ('	<xsd:sequence minOccurs="0" maxOccurs="unbounded">\n', ses);
  http ('	    <xsd:element ref="wsp:SpecVersion" />\n', ses);
  http ('	    <xsd:element ref="wsrm:DeliveryAssurance" />\n', ses);
  http ('	    <xsd:element ref="wsu:Expires" minOccurs="0" maxOccurs="1"/>\n', ses);
  http ('	    <xsd:element ref="wsrm:InactivityTimeout" />\n', ses);
  http ('	    <xsd:element ref="wsrm:BaseRetransmissionInterval" />\n', ses);
  http ('	    <xsd:element ref="wsrm:AcknowledgementInterval" />\n', ses);
  http ('	</xsd:sequence>\n', ses);
  http ('	<xsd:attribute name="Name" type="xsd:NCName" use="optional"/>\n', ses);
  http ('	<xsd:attribute name="TargetNamespace" type="xsd:anyURI" use="optional"/>\n', ses);
  http ('	<xsd:attribute name="Id" type="xsd:ID" use="optional"/>\n', ses);
  http ('    </xsd:complexType>\n', ses);
  http ('\n', ses);
  http ('    <xsd:complexType name="PolicyAttachmentType">\n', ses);
  http ('	<xsd:sequence>\n', ses);
  http ('	    <xsd:element ref="wsp:AppliesTo"/>\n', ses);
  http ('	    <xsd:element ref="wsp:Policy" minOccurs="0" />\n', ses);
  http ('	    <xsd:element ref="wsp:PolicyReference" minOccurs="0"/>\n', ses);
  http ('	</xsd:sequence>\n', ses);
  http ('    </xsd:complexType>\n', ses);
  http ('\n', ses);
  http ('    <xsd:complexType name="AppliesTo">\n', ses);
  http ('	<xsd:sequence>\n', ses);
  http ('	    <xsd:element ref="wsrm:SequenceRef" minOccurs="0" maxOccurs="1"/>\n', ses);
  http ('	    <xsd:element ref="wsa:EndpointReference" minOccurs="0" maxOccurs="1"/>\n', ses);
  http ('	</xsd:sequence>\n', ses);
  http ('    </xsd:complexType>\n', ses);
  http ('\n', ses);
  http ('    <xsd:complexType name="PolicyReferenceType">\n', ses);
  http ('	<xsd:sequence />\n', ses);
  http ('	<xsd:attribute name="URI" type="xsd:anyURI" use="optional"/>\n', ses);
  http ('	<xsd:attribute name="Ref" type="xsd:QName" use="optional"/>\n', ses);
  http ('	<xsd:attribute name="Digest" type="xsd:base64Binary" use="optional"/>\n', ses);
  http ('	<xsd:attribute name="DigestAlgorithm" type="xsd:QName" use="optional"/>\n', ses);
  http ('    </xsd:complexType>\n', ses);
  http ('\n', ses);
  http ('    <xsd:element name="AppliesTo" type="wsp:AppliesTo"/>\n', ses);
  http ('    <xsd:element name="SpecVersion" type="wsp:SpecVersionAssertion"/>\n', ses);
  http ('    <xsd:element name="Policy" type="wsp:PolicyExpression"/>\n', ses);
  http ('    <xsd:element name="PolicyAttachment" type="wsp:PolicyAttachmentType"/>\n', ses);
  http ('    <xsd:element name="PolicyReference" type="wsp:PolicyReferenceType"/>\n', ses);
  http ('</xsd:schema>\n', ses);
  return string_output_string (ses);
}
;


-- wsa.xsd

CREATE PROCEDURE WSRM_WSA_XSD ()
{
  declare ses any;
  ses := string_output ();
  http ('<?xml version="1.0"?>\n', ses);
  http ('<xs:schema targetNamespace="http://schemas.xmlsoap.org/ws/2003/03/addressing" xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility" xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ora="http://schemas.oracle.com/bpel" elementFormDefault="qualified" blockDefault="#all">\n', ses);
  http ('\n', ses);
  http ('	<xs:element name="EndpointReference" type="wsa:EndpointReferenceType"/>\n', ses);
  http ('	<xs:complexType name="EndpointReferenceType">\n', ses);
  http ('		<xs:sequence>\n', ses);
  http ('			<xs:element name="Address" type="xs:anyURI"/>\n', ses);
  http ('			<xs:element name="ReferenceProperties" type="wsa:ReferencePropertiesType" minOccurs="0"/>\n', ses);
  http ('			<xs:element name="PortType" type="wsa:AttributedQName" minOccurs="0"/>\n', ses);
  http ('			<xs:element name="ServiceName" type="wsa:ServiceNameType" minOccurs="0"/>\n', ses);
  http ('		</xs:sequence>\n', ses);
  http ('	<xs:attribute ref="wsu:Id" />\n', ses);
  http ('	</xs:complexType>\n', ses);
  http ('	<xs:complexType name="ReferencePropertiesType">\n', ses);
  http ('		<xs:sequence>\n', ses);
  http ('			<xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\n', ses);
  http ('		</xs:sequence>\n', ses);
  http ('	</xs:complexType>\n', ses);
  http ('	<xs:complexType name="ServiceNameType">\n', ses);
  http ('		<xs:simpleContent>\n', ses);
  http ('			<xs:extension base="xs:QName">\n', ses);
  http ('				<xs:attribute name="PortName" type="xs:NCName"/>\n', ses);
  http ('			</xs:extension>\n', ses);
  http ('		</xs:simpleContent>\n', ses);
  http ('	</xs:complexType>\n', ses);
  http ('\n', ses);
  http ('\n', ses);
  http ('    	<xs:complexType name="AttributedURI">\n', ses);
  http ('		<xs:simpleContent>\n', ses);
  http ('	    		<xs:extension base="xs:anyURI">\n', ses);
  http ('				<xs:attribute ref="wsu:Id" use="optional"/>\n', ses);
  http ('				<xs:attribute ref="ora:rootId" use="optional"/>\n', ses);
  http ('				<xs:attribute ref="ora:parentId" use="optional"/>\n', ses);
  http ('				<xs:attribute ref="ora:priority" use="optional"/>\n', ses);
  http ('	    		</xs:extension>\n', ses);
  http ('		</xs:simpleContent>\n', ses);
  http ('    	</xs:complexType>\n', ses);
  http ('\n', ses);
  http ('	<xs:element name="MessageID" type="wsa:AttributedURI"/>\n', ses);
  http ('	<xs:element name="RelatesTo" type="wsa:Relationship"/>\n', ses);
  http ('	<xs:element name="To" type="wsa:AttributedURI"/>\n', ses);
  http ('	<xs:element name="Action" type="wsa:AttributedURI" nillable="false" />\n', ses);
  http ('	<xs:element name="From" type="wsa:EndpointReferenceType"/>\n', ses);
  http ('	<xs:element name="ReplyTo" type="wsa:EndpointReferenceType"/>\n', ses);
  http ('	<xs:element name="FaultTo" type="wsa:EndpointReferenceType"/>\n', ses);
  http ('	<xs:element name="Recipient" type="wsa:EndpointReferenceType"/>\n', ses);
  http ('	<xs:complexType name="Relationship">\n', ses);
  http ('		<xs:simpleContent>\n', ses);
  http ('			<xs:extension base="xs:anyURI">\n', ses);
  http ('				<xs:attribute name="RelationshipType" type="xs:QName" use="optional"/>\n', ses);
  http ('				<xs:attribute ref="wsu:Id" />\n', ses);
  http ('			</xs:extension>\n', ses);
  http ('		</xs:simpleContent>\n', ses);
  http ('	</xs:complexType>\n', ses);
  http ('	<xs:simpleType name="RelationshipTypeValues">\n', ses);
  http ('		<xs:restriction base="xs:QName">\n', ses);
  http ('			<xs:enumeration value="wsa:Response"/>\n', ses);
  http ('		</xs:restriction>\n', ses);
  http ('	</xs:simpleType>\n', ses);
  http ('\n', ses);
  http ('	<xs:complexType name="AttributedQName">\n', ses);
  http ('		<xs:simpleContent>\n', ses);
  http ('			<xs:extension base="xs:QName">\n', ses);
  http ('			</xs:extension>\n', ses);
  http ('		</xs:simpleContent>\n', ses);
  http ('	</xs:complexType>\n', ses);
  http ('</xs:schema>\n', ses);
  return string_output_string (ses);
}
;


-- utility.xsd

CREATE PROCEDURE WSRM_UTILITY_XSD ()
{
  declare ses any;
  ses := string_output ();
  http ('<?xml version="1.0" encoding="UTF-8"?>\n', ses);
  http ('<xsd:schema targetNamespace="http://schemas.xmlsoap.org/ws/2002/07/utility" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility" xmlns="http://schemas.xmlsoap.org/ws/2002/07/utility" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.1">\n', ses);
  http ('    <xsd:complexType name="AttributedURI">\n', ses);
  http ('	<xsd:simpleContent>\n', ses);
  http ('	    <xsd:extension base="xsd:anyURI">\n', ses);
  http ('		<xsd:attribute ref="wsu:Id" use="optional"/>\n', ses);
  http ('	    </xsd:extension>\n', ses);
  http ('	</xsd:simpleContent>\n', ses);
  http ('    </xsd:complexType>\n', ses);
  http ('    <xsd:complexType name="TimestampType">\n', ses);
  http ('	<xsd:sequence>\n', ses);
  http ('	    <xsd:element name="Created" type="wsu:TimestampType_t" minOccurs="0"/>\n', ses);
  http ('	    <xsd:element name="Expires" type="wsu:TimestampType_t" minOccurs="0"/>\n', ses);
  http ('	</xsd:sequence>\n', ses);
  http ('    </xsd:complexType>\n', ses);
  http ('\n', ses);
  http ('    <xsd:complexType name="TimestampType_t">\n', ses);
  http ('	<xsd:simpleContent>\n', ses);
  http ('	    <xsd:extension base="xsd:dateTime">\n', ses);
  http ('		<xsd:attribute ref="wsu:Id" use="optional"/>\n', ses);
  http ('	    </xsd:extension>\n', ses);
  http ('	</xsd:simpleContent>\n', ses);
  http ('    </xsd:complexType>\n', ses);
  http ('\n', ses);
  http ('    <xsd:element name="Timestamp" type="wsu:TimestampType" />\n', ses);
  http ('\n', ses);
  http ('    <xsd:attribute name="Id" type="xsd:ID"/>\n', ses);
  http ('    <xsd:element name="Identifier" type="wsu:AttributedURI" />\n', ses);
  http ('    <xsd:element name="Expires" type="wsu:TimestampType_t" />\n', ses);
  http ('    <xsd:element name="Created" type="wsu:TimestampType_t" />\n', ses);
  http ('\n', ses);
  http ('</xsd:schema>\n', ses);
  return string_output_string (ses);
}
;


-- utility200306.xsd

CREATE PROCEDURE WSRM_UTILITY200306_XSD ()
{
  declare ses any;
  ses := string_output ();
  http ('<?xml version="1.0" encoding="UTF-8"?>\n', ses);
  http ('<xsd:schema targetNamespace="http://schemas.xmlsoap.org/ws/2003/06/utility" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsu="http://schemas.xmlsoap.org/ws/2003/06/utility" xmlns="http://schemas.xmlsoap.org/ws/2002/07/utility" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.1">\n', ses);
  http ('    <xsd:complexType name="TimestampType">\n', ses);
  http ('	<xsd:sequence>\n', ses);
  http ('	    <xsd:element ref="wsu:Created" minOccurs="0"/>\n', ses);
  http ('	    <xsd:element ref="wsu:Expires" minOccurs="0"/>\n', ses);
  http ('	</xsd:sequence>\n', ses);
  http ('	<xsd:attribute type="xsd:ID" use="optional"/>\n', ses);
  http ('    </xsd:complexType>\n', ses);
  http ('\n', ses);
  http ('    <xsd:element name="Timestamp" type="wsu:TimestampType" />\n', ses);
  http ('\n', ses);
  http ('    <xsd:element name="Expires" type="xsd:dateTime" />\n', ses);
  http ('    <xsd:element name="Created" type="xsd:dateTime" />\n', ses);
  http ('</xsd:schema>\n', ses);
  return string_output_string (ses);
}
;


-- wss.xsd

CREATE PROCEDURE WSRM_WSS_XSD ()
{
  declare ses any;
  ses := string_output ();
  http ('<?xml version="1.0" encoding="UTF-8"?>\n', ses);
  http ('<xsd:schema \n', ses);
  http ('    targetNamespace="http://schemas.xmlsoap.org/ws/2003/06/secext" \n', ses);
  http ('    xmlns:xsd="http://www.w3.org/2001/XMLSchema" \n', ses);
  http ('    xmlns:wsu="http://schemas.xmlsoap.org/ws/2003/06/utility" \n', ses);
  http ('    xmlns:wsse="http://schemas.xmlsoap.org/ws/2003/06/secext" \n', ses);
  http ('    xmlns="http://schemas.xmlsoap.org/ws/2003/06/secext" \n', ses);
  http ('    xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" \n', ses);
  http ('    elementFormDefault="qualified" attributeFormDefault="unqualified">\n', ses);
  http ('	<xsd:element name="Security" type="wsse:SecurityHeaderType" />\n', ses);
  http ('	<xsd:complexType name="SecurityHeaderType">\n', ses);
  http ('	        <xsd:sequence>\n', ses);
  http ('		  <xsd:element ref="wsu:Timestamp" minOccurs="0" maxOccurs="1" />\n', ses);
  http ('		</xsd:sequence>\n', ses);
  http ('	</xsd:complexType>\n', ses);
  http ('</xsd:schema>\n', ses);
  return string_output_string (ses);
}
;


-- wss0212.xsd

CREATE PROCEDURE WSRM_WSS0212_XSD ()
{
  declare ses any;
  ses := string_output ();
  http ('<?xml version="1.0" encoding="UTF-8"?>\n', ses);
  http ('<xsd:schema targetNamespace="http://schemas.xmlsoap.org/ws/2002/12/secext" \n', ses);
  http ('            xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" \n', ses);
  http ('            xmlns="http://schemas.xmlsoap.org/ws/2002/12/secext" \n', ses);
  http ('            xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext" \n', ses);
  http ('            xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility" \n', ses);
  http ('	    xmlns:wsp="http://schemas.xmlsoap.org/ws/2002/12/policy"\n', ses);
  http ('            xmlns:xsd="http://www.w3.org/2001/XMLSchema" \n', ses);
  http ('            xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing"\n', ses);
  http ('            xmlns:xs="http://www.w3.org/2001/XMLSchema" \n', ses);
  http ('            xmlns:ds="http://www.w3.org/2000/09/xmldsig#" \n', ses);
  http ('            elementFormDefault="qualified" \n', ses);
  http ('            attributeFormDefault="unqualified" \n', ses);
  http ('            blockDefault="#all" \n', ses);
  http ('            version="0.3">\n', ses);
  http ('\n', ses);
  http ('	<xsd:import namespace="http://schemas.xmlsoap.org/ws/2002/07/utility" schemaLocation="http://schemas.xmlsoap.org/ws/2002/07/utility"/>\n', ses);
  http ('    <xsd:import namespace="http://schemas.xmlsoap.org/ws/2002/12/policy" schemaLocation="http://schemas.xmlsoap.org/ws/2002/12/policy" />\n', ses);
  http ('	<xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>\n', ses);
  http ('	<xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd"/>\n', ses);
  http ('\n', ses);
  http ('	<xsd:complexType name="AttributedString">\n', ses);
  http ('		<xsd:simpleContent>\n', ses);
  http ('				<xsd:attribute ref="wsu:Id"/>\n', ses);
  http ('				<xsd:anyAttribute namespace="##other" processContents="lax"/>\n', ses);
  http ('		</xsd:simpleContent>\n', ses);
  http ('	</xsd:complexType>\n', ses);
  http ('	<xsd:complexType name="PasswordString">\n', ses);
  http ('		<xsd:simpleContent>\n', ses);
  http ('				<xsd:attribute name="Type" type="xsd:QName"/>\n', ses);
  http ('		</xsd:simpleContent>\n', ses);
  http ('	</xsd:complexType>\n', ses);
  http ('	<xsd:complexType name="EncodedString">\n', ses);
  http ('		<xsd:simpleContent>\n', ses);
  http ('				<xsd:attribute name="EncodingType" type="xsd:QName"/>\n', ses);
  http ('		</xsd:simpleContent>\n', ses);
  http ('	</xsd:complexType>\n', ses);
  http ('	<xsd:complexType name="UsernameTokenType">\n', ses);
  http ('		<xsd:sequence>\n', ses);
  http ('			<xsd:element name="Username" type="wsse:AttributedString"/>\n', ses);
  http ('			<xsd:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\n', ses);
  http ('		</xsd:sequence>\n', ses);
  http ('		<xsd:attribute ref="wsu:Id"/>\n', ses);
  http ('		<xsd:anyAttribute namespace="##other" processContents="lax"/>\n', ses);
  http ('	</xsd:complexType>\n', ses);
  http ('\n', ses);
  http ('	<xsd:complexType name="BinarySecurityTokenType">\n', ses);
  http ('		<xsd:attribute name="ValueType" type="xsd:QName"/>\n', ses);
  http ('		<xsd:attribute name="EncodingType" type="xsd:QName"/>\n', ses);
  http ('		<xsd:attribute ref="wsu:Id"/>\n', ses);
  http ('	</xsd:complexType>\n', ses);
  http ('\n', ses);
  http ('	<xsd:complexType name="KeyIdentifierType">\n', ses);
  http ('		<xsd:simpleContent>\n', ses);
  http ('				<xsd:attribute name="ValueType" type="xsd:QName"/>\n', ses);
  http ('		</xsd:simpleContent>\n', ses);
  http ('	</xsd:complexType>\n', ses);
  http ('\n', ses);
  http ('    <xs:attribute name=\'RefType\' type=\'xs:QName\' />\n', ses);
  http ('	<xsd:complexType name="ReferenceType">\n', ses);
  http ('		<xsd:attribute name="URI" type="xsd:anyURI"/>\n', ses);
  http ('		<xsd:attribute ref="wsse:RefType" use="optional" />\n', ses);
  http ('		<xsd:anyAttribute namespace="##other" processContents="lax"/>\n', ses);
  http ('	</xsd:complexType>\n', ses);
  http ('	<xsd:complexType name="SecurityTokenReferenceType">\n', ses);
  http ('		<xsd:choice minOccurs="0" maxOccurs="unbounded">\n', ses);
  http ('			<xsd:any processContents="lax"/>\n', ses);
  http ('		</xsd:choice>\n', ses);
  http ('		<xsd:attribute ref="wsu:Id"/>\n', ses);
  http ('		<xsd:anyAttribute namespace="##other" processContents="lax"/>\n', ses);
  http ('	</xsd:complexType>\n', ses);
  http ('	<xsd:complexType name="SecurityHeaderType">\n', ses);
  http ('		<xsd:sequence>\n', ses);
  http ('			<xsd:any processContents="lax" minOccurs="0" maxOccurs="unbounded">\n', ses);
  http ('			</xsd:any>\n', ses);
  http ('		</xsd:sequence>\n', ses);
  http ('		<xsd:anyAttribute namespace="##other" processContents="lax"/>\n', ses);
  http ('	</xsd:complexType>\n', ses);
  http ('	<xsd:element name="UsernameToken" type="wsse:UsernameTokenType">\n', ses);
  http ('	</xsd:element>\n', ses);
  http ('	<xsd:element name="BinarySecurityToken" type="wsse:BinarySecurityTokenType">\n', ses);
  http ('	</xsd:element>\n', ses);
  http ('	<xsd:element name="Reference" type="wsse:ReferenceType">\n', ses);
  http ('	</xsd:element>\n', ses);
  http ('	<xsd:element name="KeyIdentifier" type="wsse:KeyIdentifierType">\n', ses);
  http ('	</xsd:element>\n', ses);
  http ('	<xsd:element name="SecurityTokenReference" type="wsse:SecurityTokenReferenceType">\n', ses);
  http ('	</xsd:element>\n', ses);
  http ('	<xsd:element name="Security" type="wsse:SecurityHeaderType">\n', ses);
  http ('	</xsd:element>\n', ses);
  http ('	<xsd:element name="Password" type="wsse:PasswordString"/>\n', ses);
  http ('	<xsd:element name="Nonce" type="wsse:EncodedString"/>\n', ses);
  http ('	<xsd:simpleType name="PasswordTypeEnum">\n', ses);
  http ('		<xsd:restriction base="xsd:QName">\n', ses);
  http ('			<xsd:enumeration value="wsse:PasswordText"/>\n', ses);
  http ('			<xsd:enumeration value="wsse:PasswordDigest"/>\n', ses);
  http ('		</xsd:restriction>\n', ses);
  http ('	</xsd:simpleType>\n', ses);
  http ('	<xsd:simpleType name="ValueTypeEnum">\n', ses);
  http ('		<xsd:restriction base="xsd:QName">\n', ses);
  http ('			<xsd:enumeration value="wsse:X509v3"/>\n', ses);
  http ('			<xsd:enumeration value="wsse:Kerberosv5TGT"/>\n', ses);
  http ('			<xsd:enumeration value="wsse:Kerberosv5ST"/>\n', ses);
  http ('			<xsd:enumeration value="wsse:PKCS7"/>\n', ses);
  http ('			<xsd:enumeration value="wsse:PKIPath"/>\n', ses);
  http ('		</xsd:restriction>\n', ses);
  http ('	</xsd:simpleType>\n', ses);
  http ('	<xsd:simpleType name="EncodingTypeEnum">\n', ses);
  http ('		<xsd:restriction base="xsd:QName">\n', ses);
  http ('			<xsd:enumeration value="wsse:Base64Binary"/>\n', ses);
  http ('			<xsd:enumeration value="wsse:HexBinary"/>\n', ses);
  http ('		</xsd:restriction>\n', ses);
  http ('	</xsd:simpleType>\n', ses);
  http ('	<xsd:simpleType name="FaultcodeEnum">\n', ses);
  http ('		<xsd:restriction base="xsd:QName">\n', ses);
  http ('			<xsd:enumeration value="wsse:UnsupportedSecurityToken"/>\n', ses);
  http ('			<xsd:enumeration value="wsse:UnsupportedAlgorithm"/>\n', ses);
  http ('			<xsd:enumeration value="wsse:InvalidSecurity"/>\n', ses);
  http ('			<xsd:enumeration value="wsse:InvalidSecurityToken"/>\n', ses);
  http ('			<xsd:enumeration value="wsse:FailedAuthentication"/>\n', ses);
  http ('			<xsd:enumeration value="wsse:FailedCheck"/>\n', ses);
  http ('			<xsd:enumeration value="wsse:SecurityTokenUnavailable"/>\n', ses);
  http ('			<xsd:enumeration value="wsse:InvalidRequest" />\n', ses);
  http ('			<xsd:enumeration value="wsse:RequestFailed" />\n', ses);
  http ('			<xsd:enumeration value="wsse:AuthenticationBadElements" />\n', ses);
  http ('			<xsd:enumeration value="wsse:BadRequest" />\n', ses);
  http ('			<xsd:enumeration value="wsse:ExpiredData" />\n', ses);
  http ('			<xsd:enumeration value="wsse:InvalidTimeRange" />\n', ses);
  http ('			<xsd:enumeration value="wsse:BadContextToken" />\n', ses);
  http ('			<xsd:enumeration value="wsse:UnknownDerivationSource" />\n', ses);
  http ('		</xsd:restriction>\n', ses);
  http ('	</xsd:simpleType>\n', ses);
  http ('\n', ses);
  http ('  <xsd:complexType name=\'RequestSecurityTokenType\' >\n', ses);
  http ('    <xsd:sequence>\n', ses);
  http ('       <xsd:element name=\'TokenType\' type=\'xsd:string\' minOccurs="0" maxOccurs="1" />\n', ses);
  http ('       <xsd:element name=\'RequestType\' type=\'xsd:string\' minOccurs="0" maxOccurs="1" />\n', ses);
  http ('       <xsd:element ref=\'wsp:AppliesTo\' minOccurs="0" maxOccurs="1" />\n', ses);
  http ('    </xsd:sequence>\n', ses);
  http ('  </xsd:complexType>\n', ses);
  http ('\n', ses);
  http ('  <xsd:element name=\'RequestSecurityToken\' type=\'wsse:RequestSecurityTokenType\' />\n', ses);
  http ('\n', ses);
  http ('  <xsd:complexType name=\'RequestedSecurityTokenType\' >\n', ses);
  http ('    <xsd:sequence>\n', ses);
  http ('       <xsd:element name="BinarySecurityToken" type="wsse:BinarySecurityTokenType"/>\n', ses);
  http ('    </xsd:sequence>\n', ses);
  http ('  </xsd:complexType>\n', ses);
  http ('\n', ses);
  http ('  <xsd:complexType name=\'RequestSecurityTokenResponseType\' >\n', ses);
  http ('    <xsd:sequence>\n', ses);
  http ('       <xsd:element name=\'TokenType\' type=\'xsd:string\' minOccurs="0" maxOccurs="1" />\n', ses);
  http ('       <xsd:element name=\'RequestedSecurityToken\' type=\'wsse:RequestedSecurityTokenType\' minOccurs="0" maxOccurs="1" />\n', ses);
  http ('    </xsd:sequence>\n', ses);
  http ('  </xsd:complexType>\n', ses);
  http ('\n', ses);
  http ('  <xsd:element name=\'RequestSecurityTokenResponse\' type=\'wsse:RequestSecurityTokenResponseType\' />\n', ses);
  http ('\n', ses);
  http ('  <xs:element name=\'Challenge\' type=\'wsse:ChallengeOrIntegrity\' />\n', ses);
  http ('  <xs:element name=\'BinaryNegotiation\' type=\'wsse:BinarySecurityTokenType\' /> \n', ses);
  http ('  <xs:element name=\'RequestedProofToken\' type=\'wsse:RequestedSecurityTokenType\' />\n', ses);
  http ('\n', ses);
  http ('\n', ses);
  http ('  <xsd:complexType name=\'RequestedSecurityTokenType_h\' >\n', ses);
  http ('    <xsd:sequence>\n', ses);
  http ('	<xsd:element name="wsa:MessageID" type="wsa:AttributedURI"/>\n', ses);
  http ('	<xsd:element name="wsa:From" type="wsa:EndpointReferenceType"/>\n', ses);
  http ('    </xsd:sequence>\n', ses);
  http ('  </xsd:complexType>\n', ses);
  http ('\n', ses);
  http ('  <xs:element name=\'RequestedProofToken_h\' type=\'wsse:RequestedSecurityTokenType_h\' />\n', ses);
  http ('\n', ses);
  http ('\n', ses);
  http ('  <xs:element name=\'SecurityHeader\' type=\'wsse:SecurityHeaderPolType\' />\n', ses);
  http ('  <xs:complexType name=\'SecurityHeaderPolType\' >\n', ses);
  http ('    <xs:sequence>\n', ses);
  http ('	  <xs:any namespace=\'##any\' processContents=\'lax\' minOccurs=\'0\' maxOccurs=\'unbounded\' />\n', ses);
  http ('	</xs:sequence>\n', ses);
  http ('    <xs:attribute ref=\'wsp:Usage\' use=\'required\' />\n', ses);
  http ('	<xs:attribute name=\'MustPrepend\' type=\'xs:boolean\' />\n', ses);
  http ('	<xs:attribute name=\'MustManifestEncryption\' type=\'xs:boolean\' />\n', ses);
  http ('	<xs:anyAttribute namespace=\'##any\' processContents=\'lax\' />\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('\n', ses);
  http ('\n', ses);
  http ('  <xs:element name=\'MessageAge\' type=\'wsse:MessageAgeType\' />\n', ses);
  http ('  <xs:complexType name=\'MessageAgeType\' >\n', ses);
  http ('    <xs:attribute ref=\'wsp:Usage\' use=\'required\' />\n', ses);
  http ('	<xs:attribute ref=\'wsp:Preference\' use=\'optional\' />\n', ses);
  http ('	<xs:attribute name=\'Age\' type=\'xs:unsignedInt\' use=\'required\' />\n', ses);
  http ('	<xs:anyAttribute namespace=\'##any\' processContents=\'lax\' />\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('\n', ses);
  http ('  \n', ses);
  http ('  <xs:element name=\'MessageParts\' type=\'wsse:XPathSoap\' />\n', ses);
  http ('  <xs:element name=\'TokenIssuer\' type=\'xs:string\' />\n', ses);
  http ('\n', ses);
  http ('\n', ses);
  http ('  <xs:element name=\'Confidentiality\' type=\'wsse:Confidentiality\' />\n', ses);
  http ('  <xs:complexType name=\'Confidentiality\' >\n', ses);
  http ('	<xs:sequence>\n', ses);
  http ('	  <xs:any namespace=\'##any\' processContents=\'lax\' minOccurs=\'0\' maxOccurs=\'unbounded\' />\n', ses);
  http ('	</xs:sequence>\n', ses);
  http ('    <xs:attribute name=\'Actor\' type=\'xs:anyURI\' use=\'optional\' />\n', ses);
  http ('    <xs:attribute ref=\'wsp:Preference\' use=\'optional\' />\n', ses);
  http ('    <xs:attribute ref=\'wsp:Usage\' use=\'required\' />\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('\n', ses);
  http ('\n', ses);
  http ('  <xs:element name=\'Integrity\' type=\'wsse:ChallengeOrIntegrity\' />\n', ses);
  http ('  <xs:complexType name=\'ChallengeOrIntegrity\' >\n', ses);
  http ('	<xs:sequence>\n', ses);
  http ('	  <xs:any namespace=\'##any\' processContents=\'lax\' minOccurs=\'0\' maxOccurs=\'unbounded\' />\n', ses);
  http ('	</xs:sequence>\n', ses);
  http ('    <xs:attribute ref=\'wsp:Preference\' use=\'optional\' />\n', ses);
  http ('    <xs:attribute ref=\'wsp:Usage\' use=\'required\' />\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('\n', ses);
  http ('  <xs:element name=\'Algorithm\' type=\'wsse:AlgorithmType\' />\n', ses);
  http ('\n', ses);
  http ('\n', ses);
  http ('  <xs:complexType name=\'AlgorithmType\' >\n', ses);
  http ('    <xs:sequence>\n', ses);
  http ('      <xs:any namespace=\'##any\' processContents=\'lax\' minOccurs=\'0\' maxOccurs=\'unbounded\' />\n', ses);
  http ('    </xs:sequence>\n', ses);
  http ('    <xs:attribute name=\'Type\' type=\'wsse:AlgorithmTypeOpenEnum\' use=\'optional\' />\n', ses);
  http ('    <xs:attribute name=\'URI\' type=\'xs:anyURI\' use=\'optional\' />\n', ses);
  http ('    <xs:attribute ref=\'wsp:Preference\' use=\'optional\' />\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('\n', ses);
  http ('  <xs:simpleType name=\'AlgorithmTypeEnum\' >\n', ses);
  http ('    <xs:restriction base=\'xs:QName\' >\n', ses);
  http ('	  <xs:enumeration value=\'wsse:AlgCanonicalization\' />\n', ses);
  http ('	  <xs:enumeration value=\'wsse:AlgSignature\' />\n', ses);
  http ('	  <xs:enumeration value=\'wsse:AlgTransform\' />\n', ses);
  http ('	  <xs:enumeration value=\'wsse:AlgDigest\' />\n', ses);
  http ('	  <xs:enumeration value=\'wsse:AlgEncryption\' />\n', ses);
  http ('    </xs:restriction>\n', ses);
  http ('  </xs:simpleType>\n', ses);
  http ('\n', ses);
  http ('  <xs:simpleType name=\'AlgorithmTypeOpenEnum\' >\n', ses);
  http ('    <xs:union memberTypes=\'wsse:AlgorithmTypeEnum xs:QName\' />\n', ses);
  http ('  </xs:simpleType>\n', ses);
  http ('\n', ses);
  http ('  <xs:element name=\'KeyInfo\' type=\'wsse:KeyInfoType\' />  \n', ses);
  http ('  <xs:complexType name=\'KeyInfoType\' >\n', ses);
  http ('    <xs:sequence>\n', ses);
  http ('	  <xs:element ref=\'wsse:SecurityToken\' minOccurs=\'0\' />\n', ses);
  http ('	</xs:sequence>\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('\n', ses);
  http ('\n', ses);
  http ('  <xs:element name=\'SecurityToken\' type=\'wsse:SecurityTokenType\' />\n', ses);
  http ('  <xs:complexType name=\'SecurityTokenType\' >\n', ses);
  http ('	<xs:sequence>\n', ses);
  http ('	  <xs:any namespace=\'##any\' processContents=\'lax\' minOccurs=\'0\' maxOccurs=\'unbounded\' />	 \n', ses);
  http ('	</xs:sequence>\n', ses);
  http ('	<xs:attribute ref=\'wsp:Preference\' use=\'optional\' />\n', ses);
  http ('    <xs:attribute ref=\'wsp:Usage\' use=\'required\' />\n', ses);
  http ('	<xs:anyAttribute namespace=\'##other\' processContents=\'lax\' />\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('\n', ses);
  http ('  <xs:simpleType name=\'TokenTypeEnum\' >\n', ses);
  http ('    <xs:restriction base=\'xs:QName\' >\n', ses);
  http ('      <xs:enumeration value=\'wsse:X509v3\' />\n', ses);
  http ('      <xs:enumeration value=\'wsse:Kerberosv5TGT\' />\n', ses);
  http ('      <xs:enumeration value=\'wsse:Kerberosv5ST\' />\n', ses);
  http ('      <xs:enumeration value=\'wsse:UserNameToken\' />\n', ses);
  http ('      <xs:enumeration value=\'wsse:SAMLAssertion\' />\n', ses);
  http ('      <xs:enumeration value=\'wsse:XrMLLicense\' />\n', ses);
  http ('    </xs:restriction>\n', ses);
  http ('  </xs:simpleType>\n', ses);
  http ('  <xs:simpleType name=\'TokenTypeOpenEnum\' >\n', ses);
  http ('    <xs:union memberTypes=\'wsse:TokenTypeEnum xs:QName\' />\n', ses);
  http ('  </xs:simpleType>\n', ses);
  http ('\n', ses);
  http ('  <xs:element name=\'Visibility\' type=\'wsse:VisibilityType\' />\n', ses);
  http ('  <xs:complexType name=\'VisibilityType\' >\n', ses);
  http ('    <xs:sequence>\n', ses);
  http ('	  <xs:any namespace=\'##any\' processContents=\'lax\' minOccurs=\'0\' maxOccurs=\'unbounded\' />\n', ses);
  http ('	</xs:sequence>\n', ses);
  http ('	<xs:attribute ref=\'wsp:Usage\' use=\'required\' />\n', ses);
  http ('	<xs:anyAttribute namespace=\'##any\' processContents=\'lax\' />\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('\n', ses);
  http ('  <xs:simpleType name=\'SignerType\'>\n', ses);
  http ('    <xs:list itemType=\'xs:anyURI\' />\n', ses);
  http ('  </xs:simpleType>\n', ses);
  http ('\n', ses);
  http ('  <xs:element name=\'SubjectName\' type=\'wsse:SubjectNameType\' />\n', ses);
  http ('  <xs:complexType name=\'SubjectNameType\' >\n', ses);
  http ('    <xs:sequence>\n', ses);
  http ('	  <xs:any namespace=\'##any\' processContents=\'lax\' minOccurs=\'0\' maxOccurs=\'unbounded\' />\n', ses);
  http ('	</xs:sequence>\n', ses);
  http ('	<xs:attribute name=\'MatchType\' type=\'wsse:MatchTypeEnum\' use=\'optional\' /> \n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('  <xs:element name=\'X509Extension\' type=\'wsse:X509ExtensionType\' />\n', ses);
  http ('  <xs:complexType name=\'X509ExtensionType\' >\n', ses);
  http ('    <xs:sequence>\n', ses);
  http ('	  <xs:any namespace=\'##any\' processContents=\'lax\' minOccurs=\'0\' maxOccurs=\'unbounded\' />\n', ses);
  http ('	</xs:sequence>\n', ses);
  http ('	<xs:attribute name=\'MatchType\' type=\'wsse:MatchTypeEnum\' use=\'optional\' /> \n', ses);
  http ('	<xs:attribute name=\'OID\' type=\'xs:string\' use=\'required\' />\n', ses);
  http ('	<xs:attribute name=\'Critical\' type=\'xs:boolean\' use=\'optional\' />\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('  <xs:element name=\'UsePassword\' type=\'wsse:UsePasswordType\' />\n', ses);
  http ('  <xs:complexType name=\'UsePasswordType\' >\n', ses);
  http ('    <xs:attribute name=\'Type\' type=\'wsse:PasswordTypeEnum\' use=\'optional\' /> \n', ses);
  http ('	<xs:attribute ref=\'wsp:Usage\' use=\'required\' />\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('\n', ses);
  http ('  <xs:simpleType name=\'MatchTypeEnum\' >\n', ses);
  http ('    <xs:restriction base=\'xs:QName\' >\n', ses);
  http ('	  <xs:enumeration value=\'wsse:Exact\' />\n', ses);
  http ('	  <xs:enumeration value=\'wsse:Prefix\' />\n', ses);
  http ('	  <xs:enumeration value=\'wsse:Regexp\' />\n', ses);
  http ('	</xs:restriction>\n', ses);
  http ('  </xs:simpleType>\n', ses);
  http ('\n', ses);
  http ('  <xs:element name=\'ServiceName\' type=\'xs:string\' />\n', ses);
  http ('\n', ses);
  http ('  <xs:simpleType name=\'RequestTypeEnum\' >\n', ses);
  http ('    <xs:restriction base=\'xs:QName\' >\n', ses);
  http ('	  <xs:enumeration value=\'wsse:ReqIssue\' />\n', ses);
  http ('	  <xs:enumeration value=\'wsse:ReqValidate\' />\n', ses);
  http ('	  <xs:enumeration value=\'wsse:ReqExchange\' />\n', ses);
  http ('	</xs:restriction>\n', ses);
  http ('  </xs:simpleType>\n', ses);
  http ('  <xs:simpleType name=\'RequestTypeOpenEnum\' >\n', ses);
  http ('    <xs:union memberTypes=\'wsse:RequestTypeEnum xs:QName\' />\n', ses);
  http ('  </xs:simpleType>\n', ses);
  http ('  <xs:element name=\'RequestType\' type=\'wsse:RequestTypeOpenEnum\' />\n', ses);
  http ('\n', ses);
  http ('  <xs:element name=\'Base\' type=\'wsse:SecurityTokenReferenceType\' />\n', ses);
  http ('  <xs:element name=\'Supporting\' type=\'wsse:SecurityTokenReferenceType\' />\n', ses);
  http ('  <xs:element name=\'Claims\' />\n', ses);
  http ('\n', ses);
  http ('  <xs:simpleType name=\'KeyEnum\' >\n', ses);
  http ('    <xs:restriction base=\'xs:QName\' >\n', ses);
  http ('	  <xs:enumeration value=\'wsse:PublicKey\' />\n', ses);
  http ('	  <xs:enumeration value=\'wsse:SymmetricKey\' />\n', ses);
  http ('	</xs:restriction>\n', ses);
  http ('  </xs:simpleType>\n', ses);
  http ('  <xs:simpleType name=\'KeyOpenEnum\' >\n', ses);
  http ('    <xs:union memberTypes=\'wsse:KeyEnum xs:QName\' />\n', ses);
  http ('  </xs:simpleType>\n', ses);
  http ('  <xs:element name=\'KeyType\' type=\'wsse:KeyOpenEnum\' />\n', ses);
  http ('  <xs:element name=\'RequestKeyType\' type=\'wsse:KeyOpenEnum\' />\n', ses);
  http ('  <xs:element name=\'KeySize\' type=\'xs:unsignedInt\' />\n', ses);
  http ('  <xs:element name=\'RequestKeySize\' type=\'xs:unsignedInt\' />\n', ses);
  http ('  <xs:element name=\'RequestSignatureAlgorithm\' type=\'xs:anyURI\' />\n', ses);
  http ('  <xs:element name=\'RequestEncryption\' type=\'wsse:SecurityTokenReferenceType\' />\n', ses);
  http ('  <xs:element name=\'RequestProofEncryption\' type=\'wsse:SecurityTokenReferenceType\' />\n', ses);
  http ('  <xs:complexType name=\'SecurityTokenReferences\' >\n', ses);
  http ('    <xs:sequence>\n', ses);
  http ('      <xs:element ref=\'wsse:SecurityTokenReference\' maxOccurs=\'unbounded\' />\n', ses);
  http ('    </xs:sequence>\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('\n', ses);
  http ('  <xs:complexType name=\'UseBase\' >\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('\n', ses);
  http ('  <xs:element name=\'UsePublicKey\' type=\'wsse:UsePublicKeyType\' />\n', ses);
  http ('  <xs:complexType name=\'UsePublicKeyType\' >\n', ses);
  http ('    <xs:sequence>\n', ses);
  http ('      <xs:element ref=\'ds:KeyInfo\' />\n', ses);
  http ('	</xs:sequence>\n', ses);
  http ('    <xs:attribute name=\'Sig\' type=\'xs:anyURI\' use=\'optional\' />\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('\n', ses);
  http ('  <xs:element name=\'OnBehalfOf\' type=\'wsse:TokenOrRef\' />\n', ses);
  http ('  <xs:element name=\'DelegateTo\' type=\'wsse:TokenOrRef\' />\n', ses);
  http ('  <xs:complexType name=\'TokenOrRef\' >\n', ses);
  http ('	<xs:sequence>\n', ses);
  http ('	  <xs:any namespace=\'##any\' processContents=\'lax\' minOccurs=\'0\' maxOccurs=\'unbounded\' />\n', ses);
  http ('	</xs:sequence>\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('\n', ses);
  http ('  <xs:element name=\'Forwardable\' />\n', ses);
  http ('  <xs:element name=\'Delegatable\' />\n', ses);
  http ('  <xs:element name=\'Proxiable\' />\n', ses);
  http ('  <xs:element name=\'AllowPostdating\' />\n', ses);
  http ('  <xs:element name=\'Renewing\' type=\'wsse:RenewingType\' />\n', ses);
  http ('  <xs:complexType name=\'RenewingType\' >\n', ses);
  http ('    <xs:attribute name=\'Allow\' type=\'xs:boolean\' />\n', ses);
  http ('    <xs:attribute name=\'OK\' type=\'xs:boolean\' />\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('\n', ses);
  http ('  <xs:element name=\'LifeTime\' type=\'wsse:LifeTimeType\' />\n', ses);
  http ('  <xs:complexType name=\'LifeTimeType\' >\n', ses);
  http ('    <xs:sequence>\n', ses);
  http ('      <xs:element ref=\'wsu:Created\' minOccurs=\'0\' /> \n', ses);
  http ('      <xs:element ref=\'wsu:Expires\' minOccurs=\'0\' />\n', ses);
  http ('    </xs:sequence>\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('\n', ses);
  http ('\n', ses);
  http ('\n', ses);
  http ('\n', ses);
  http ('  <xs:element name=\'SignChallenge\' type=\'wsse:SignChallengeType\' />\n', ses);
  http ('  <xs:complexType name=\'SignChallengeType\' >\n', ses);
  http ('	<xs:sequence>\n', ses);
  http ('	  <xs:any namespace=\'##any\' processContents=\'lax\' minOccurs=\'0\' maxOccurs=\'unbounded\' />\n', ses);
  http ('	</xs:sequence>\n', ses);
  http ('	<xs:anyAttribute namespace=\'##any\' processContents=\'lax\' />\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('  <xs:element name=\'SignChallengeResponse\' type=\'wsse:SignChallengeResponseType\' />\n', ses);
  http ('  <xs:complexType name=\'SignChallengeResponseType\' >\n', ses);
  http ('    <xs:sequence>\n', ses);
  http ('	  <xs:any namespace=\'##any\' processContents=\'lax\' minOccurs=\'0\' maxOccurs=\'unbounded\' />\n', ses);
  http ('	</xs:sequence>\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('\n', ses);
  http ('\n', ses);
  http ('  <xs:element name=\'SecurityContextToken\' type=\'wsse:SecurityContextTokenType\' />\n', ses);
  http ('  <xs:complexType name=\'SecurityContextTokenType\' >\n', ses);
  http ('    <xs:sequence>\n', ses);
  http ('	   <xs:any namespace=\'##any\' processContents=\'lax\' minOccurs=\'0\' maxOccurs=\'unbounded\' />\n', ses);
  http ('    </xs:sequence>\n', ses);
  http ('	<xs:attribute ref=\'wsu:Id\' use=\'optional\' />\n', ses);
  http ('	<xs:anyAttribute namespace=\'##other\' processContents=\'lax\' />\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('\n', ses);
  http ('  <xs:element name=\'Keys\' type=\'wsse:KeysType\' />\n', ses);
  http ('  <xs:complexType name=\'KeysType\' >\n', ses);
  http ('	<xs:sequence>\n', ses);
  http ('		<xs:any namespace=\'##any\' processContents=\'lax\' minOccurs=\'0\' maxOccurs=\'unbounded\' />\n', ses);
  http ('	</xs:sequence>  \n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('\n', ses);
  http ('  <xs:element name=\'DerivedKeyToken\' type=\'wsse:Key\' />\n', ses);
  http ('  <xs:complexType name=\'Key\' >\n', ses);
  http ('    <xs:sequence>\n', ses);
  http ('      <xs:element ref=\'wsse:SecurityTokenReference\' minOccurs=\'0\' />\n', ses);
  http ('	  <xs:element name=\'Properties\' type=\'wsse:PropertiesType\' minOccurs=\'0\' />\n', ses);
  http ('	  <xs:choice minOccurs=\'0\' >\n', ses);
  http ('        <xs:element name=\'Generation\' type=\'xs:unsignedLong\' />\n', ses);
  http ('        <xs:sequence>\n', ses);
  http ('          <xs:element name=\'Offset\' type=\'xs:unsignedLong\' />\n', ses);
  http ('		  <xs:element name=\'Length\' type=\'xs:unsignedLong\' minOccurs=\'0\' />\n', ses);
  http ('        </xs:sequence>\n', ses);
  http ('      </xs:choice>\n', ses);
  http ('      <xs:element ref=\'wsse:Label\' minOccurs=\'0\' />\n', ses);
  http ('      <xs:element ref=\'wsse:Nonce\' minOccurs=\'0\' />\n', ses);
  http ('    </xs:sequence>\n', ses);
  http ('    <xs:attribute ref=\'wsu:Id\' />\n', ses);
  http ('    <xs:attribute name=\'Algorithm\' type=\'wsse:AlgorithmTypeOpenEnum\' form=\'qualified\' use=\'optional\' />\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('\n', ses);
  http ('  <xs:element name=\'Label\' type=\'xs:string\' />\n', ses);
  http ('  <xs:element name=\'Name\' type=\'xs:anyURI\' />\n', ses);
  http ('  <xs:complexType name=\'PropertiesType\' >\n', ses);
  http ('    <xs:sequence>\n', ses);
  http ('      <xs:any namespace=\'##any\' processContents=\'lax\' minOccurs=\'0\' maxOccurs=\'unbounded\' />\n', ses);
  http ('    </xs:sequence>\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('</xsd:schema>\n', ses);
  return string_output_string (ses);
}
;


-- wsa200403.xsd

CREATE PROCEDURE WSRM_WSA200403_XSD ()
{
  declare ses any;
  ses := string_output ();
  http ('<?xml version="1.0"?>\n', ses);
  http ('<xs:schema xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://schemas.xmlsoap.org/ws/2004/03/addressing" elementFormDefault="qualified" blockDefault="#all" xmlns:wssu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">\n', ses);
  http ('  <xs:element name="EndpointReference" type="wsa:EndpointReferenceType"/>\n', ses);
  http ('  <xs:complexType name="EndpointReferenceType">\n', ses);
  http ('    <xs:sequence>\n', ses);
  http ('      <xs:element name="Address" type="xs:anyURI"/>\n', ses);
  http ('      <xs:element name="ReferenceProperties" type="wsa:ReferencePropertiesType" minOccurs="0"/>\n', ses);
  http ('      <xs:element name="PortType" type="wsa:AttributedQName" minOccurs="0"/>\n', ses);
  http ('      <xs:element name="ServiceName" type="wsa:ServiceNameType" minOccurs="0"/>\n', ses);
  http ('    </xs:sequence>\n', ses);
  http ('    <xs:attribute ref="wssu:Id"/>\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('  <xs:complexType name="ReferencePropertiesType">\n', ses);
  http ('    <xs:sequence>\n', ses);
  http ('      <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\n', ses);
  http ('    </xs:sequence>\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('  <xs:complexType name="ServiceNameType">\n', ses);
  http ('    <xs:simpleContent>\n', ses);
  http ('      <xs:extension base="xs:QName">\n', ses);
  http ('        <xs:attribute name="PortName" type="xs:NCName"/>\n', ses);
  http ('      </xs:extension>\n', ses);
  http ('    </xs:simpleContent>\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('  <xs:complexType name="AttributedURI">\n', ses);
  http ('    <xs:simpleContent>\n', ses);
  http ('      <xs:extension base="xs:anyURI">\n', ses);
  http ('        <xs:attribute ref="wssu:Id"/>\n', ses);
  http ('      </xs:extension>\n', ses);
  http ('    </xs:simpleContent>\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('  <xs:element name="MessageID" type="wsa:AttributedURI"/>\n', ses);
  http ('  <xs:element name="RelatesTo" type="wsa:Relationship"/>\n', ses);
  http ('  <xs:element name="To" type="wsa:AttributedURI"/>\n', ses);
  http ('  <xs:element name="Action" type="wsa:AttributedURI" nillable="false"/>\n', ses);
  http ('  <xs:element name="From" type="wsa:EndpointReferenceType"/>\n', ses);
  http ('  <xs:element name="ReplyTo" type="wsa:EndpointReferenceType"/>\n', ses);
  http ('  <xs:element name="FaultTo" type="wsa:EndpointReferenceType"/>\n', ses);
  http ('  <xs:element name="Recipient" type="wsa:EndpointReferenceType"/>\n', ses);
  http ('  <xs:complexType name="Relationship">\n', ses);
  http ('    <xs:simpleContent>\n', ses);
  http ('      <xs:extension base="xs:anyURI">\n', ses);
  http ('        <xs:attribute name="RelationshipType" type="xs:QName" use="optional"/>\n', ses);
  http ('        <xs:attribute ref="wssu:Id"/>\n', ses);
  http ('      </xs:extension>\n', ses);
  http ('    </xs:simpleContent>\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('  <xs:simpleType name="RelationshipTypeValues">\n', ses);
  http ('    <xs:restriction base="xs:QName">\n', ses);
  http ('      <xs:enumeration value="wsa:Reply"/>\n', ses);
  http ('    </xs:restriction>\n', ses);
  http ('  </xs:simpleType>\n', ses);
  http ('  <xs:complexType name="AttributedQName">\n', ses);
  http ('    <xs:simpleContent>\n', ses);
  http ('      <xs:extension base="xs:QName">\n', ses);
  http ('			</xs:extension>\n', ses);
  http ('    </xs:simpleContent>\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('  <xs:element name="ReplyAfter"/>\n', ses);
  http ('  <xs:simpleType name="FaultSubcodeValues">\n', ses);
  http ('    <xs:restriction base="xs:QName">\n', ses);
  http ('      <xs:enumeration value="wsa:InvalidMessageInformationHeader"/>\n', ses);
  http ('      <xs:enumeration value="wsa:MessageInformationHeaderRequired"/>\n', ses);
  http ('      <xs:enumeration value="wsa:DestinationUnreachable"/>\n', ses);
  http ('      <xs:enumeration value="wsa:ActionNotSupported"/>\n', ses);
  http ('      <xs:enumeration value="wsa:EndpointUnavailable"/>\n', ses);
  http ('    </xs:restriction>\n', ses);
  http ('  </xs:simpleType>\n', ses);
  http ('  <xs:attribute name="Action" type="xs:anyURI"/>\n', ses);
  http ('</xs:schema>\n', ses);
  return string_output_string (ses);
}
;


-- oasis200401wssutility.xsd

CREATE PROCEDURE WSRM_OASIS200401WSSUTILITY_XSD ()
{
  declare ses any;
  ses := string_output ();
  http ('<?xml version="1.0" encoding="UTF-8"?>\n', ses);
  http ('<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" targetNamespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.1">\n', ses);
  http ('  <xsd:simpleType name="tTimestampFault">\n', ses);
  http ('    <xsd:restriction base="xsd:QName">\n', ses);
  http ('      <xsd:enumeration value="wsu:MessageExpired"/>\n', ses);
  http ('    </xsd:restriction>\n', ses);
  http ('  </xsd:simpleType>\n', ses);
  http ('  <xsd:attribute name="Id" type="xsd:ID" />\n', ses);
  http ('  <xsd:complexType name="AttributedDateTime">\n', ses);
  http ('    <xsd:simpleContent>\n', ses);
  http ('      <xsd:extension base="xsd:string">\n', ses);
  http ('    <xsd:attribute ref="wsu:Id" use="optional"/>\n', ses);
  http ('      </xsd:extension>\n', ses);
  http ('    </xsd:simpleContent>\n', ses);
  http ('  </xsd:complexType>\n', ses);
  http ('  <xsd:complexType name="AttributedURI">\n', ses);
  http ('    <xsd:simpleContent>\n', ses);
  http ('      <xsd:extension base="xsd:anyURI">\n', ses);
  http ('    <xsd:attribute ref="wsu:Id" use="optional"/>\n', ses);
  http ('      </xsd:extension>\n', ses);
  http ('    </xsd:simpleContent>\n', ses);
  http ('  </xsd:complexType>\n', ses);
  http ('  <xsd:complexType name="TimestampType">\n', ses);
  http ('    <xsd:sequence>\n', ses);
  http ('      <xsd:element ref="wsu:Created" minOccurs="0"/>\n', ses);
  http ('      <xsd:element ref="wsu:Expires" minOccurs="0"/>\n', ses);
  http ('    </xsd:sequence>\n', ses);
  http ('    <xsd:attribute ref="wsu:Id" use="optional"/>\n', ses);
  http ('  </xsd:complexType>\n', ses);
  http ('  <xsd:element name="Timestamp" type="wsu:TimestampType"/>\n', ses);
  http ('  <xsd:element name="Expires" type="wsu:AttributedDateTime"/>\n', ses);
  http ('  <xsd:element name="Created" type="wsu:AttributedDateTime"/>\n', ses);
  http ('</xsd:schema>\n', ses);
  return string_output_string (ses);
}
;


-- orabpel.xsd

CREATE PROCEDURE WSRM_ORABPEL_XSD ()
{
  declare ses any;
  ses := string_output ();
  http ('<?xml version="1.0"?>\n', ses);
  http ('<xsd:schema targetNamespace="http://schemas.oracle.com/bpel" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">\n', ses);
  http ('	<xsd:attribute name="rootId" type="xsd:string" />\n', ses);
  http ('	<xsd:attribute name="parentId" type="xsd:string" />\n', ses);
  http ('	<xsd:attribute name="priority" type="xsd:string" />\n', ses);
  http ('</xsd:schema>\n', ses);
  return string_output_string (ses);
}
;


-- wsrm_2005_02.xsd

CREATE PROCEDURE WSRM_WSRM_2005_02_XSD ()
{
  declare ses any;
  ses := string_output ();
  http ('<?xml version="1.0" encoding="UTF-8"?>\n', ses);
  http ('<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"\n', ses);
  http ('	   xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"\n', ses);
  http ('	   xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm"\n', ses);
  http ('	   xmlns:wssu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"\n', ses);
  http ('	   targetNamespace="http://schemas.xmlsoap.org/ws/2005/02/rm"\n', ses);
  http ('	   elementFormDefault="qualified"\n', ses);
  http ('	   attributeFormDefault="unqualified">\n', ses);
  http ('  <xs:import namespace="http://schemas.xmlsoap.org/ws/2004/08/addressing"\n', ses);
  http ('	     schemaLocation="http://schemas.xmlsoap.org/ws/2004/08/addressing"/>\n', ses);
  http ('  <xs:complexType name="SequenceType">\n', ses);
  http ('    <xs:sequence>\n', ses);
  http ('      <xs:element ref="wsrm:Identifier"/>\n', ses);
  http ('      <xs:element name="MessageNumber" type="xs:unsignedLong"/>\n', ses);
  http ('      <xs:element name="LastMessage" type="xs:ENTITY" minOccurs="0"/>\n', ses);
  http ('    </xs:sequence>\n', ses);
  http ('    <xs:attribute ref="wssu:Id" />\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('  <xs:element name="Sequence" type="wsrm:SequenceType"/>\n', ses);
  http ('  <xs:element name="SequenceAcknowledgement" type="wsrm:SequenceAcknowledgement_t">\n', ses);
  http ('  </xs:element>\n', ses);
  http ('    <xs:complexType name="SequenceAcknowledgement_t">\n', ses);
  http ('      <xs:sequence>\n', ses);
  http ('        <xs:element ref="wsrm:Identifier"/>\n', ses);
  http ('          <xs:element name="AcknowledgementRange" maxOccurs="unbounded" type="wsrm:AcknowledgementRange_t" minOccurs="0">\n', ses);
  http ('          </xs:element>\n', ses);
  http ('          <xs:element name="Nack" type="xs:unsignedLong" maxOccurs="unbounded" minOccurs="0"/>\n', ses);
  http ('      </xs:sequence>\n', ses);
  http ('      <xs:anyAttribute namespace="##other" processContents="lax"/>\n', ses);
  http ('    </xs:complexType>\n', ses);
  http ('            <xs:complexType name="AcknowledgementRange_t">\n', ses);
  http ('              <xs:sequence/>\n', ses);
  http ('              <xs:attribute name="Upper" type="xs:unsignedLong" use="required"/>\n', ses);
  http ('              <xs:attribute name="Lower" type="xs:unsignedLong" use="required"/>\n', ses);
  http ('              <xs:anyAttribute namespace="##other" processContents="lax"/>\n', ses);
  http ('            </xs:complexType>\n', ses);
  http ('  <xs:complexType name="AckRequestedType">\n', ses);
  http ('    <xs:sequence>\n', ses);
  http ('      <xs:element ref="wsrm:Identifier"/>\n', ses);
  http ('    </xs:sequence>\n', ses);
  http ('    <xs:anyAttribute namespace="##other" processContents="lax"/>\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('  <xs:element name="AckRequested" type="wsrm:AckRequestedType"/>\n', ses);
  http ('  <xs:element name="Identifier">\n', ses);
  http ('    <xs:complexType>\n', ses);
  http ('      <xs:simpleContent>\n', ses);
  http ('        <xs:extension base="xs:anyURI">\n', ses);
  http ('        </xs:extension>\n', ses);
  http ('      </xs:simpleContent>\n', ses);
  http ('    </xs:complexType>\n', ses);
  http ('  </xs:element>\n', ses);
  http ('  <xs:simpleType name="FaultCodes">\n', ses);
  http ('    <xs:restriction base="xs:QName">\n', ses);
  http ('      <xs:enumeration value="wsrm:UnknownSequence"/>\n', ses);
  http ('      <xs:enumeration value="wsrm:SequenceTerminated"/>\n', ses);
  http ('      <xs:enumeration value="wsrm:InvalidAcknowledgement"/>\n', ses);
  http ('      <xs:enumeration value="wsrm:MessageNumberRollover"/>\n', ses);
  http ('      <xs:enumeration value="wsrm:CreateSequenceRefused"/>\n', ses);
  http ('      <xs:enumeration value="wsrm:LastMessageNumberExceeded"/>\n', ses);
  http ('    </xs:restriction>\n', ses);
  http ('  </xs:simpleType>\n', ses);
  http ('  <xs:complexType name="SequenceFaultType">\n', ses);
  http ('    <xs:sequence>\n', ses);
  http ('      <xs:element name="FaultCode" type="xs:QName" minOccurs="0" />\n', ses);
  http ('    </xs:sequence>\n', ses);
  http ('    <xs:anyAttribute namespace="##any" processContents="lax"/>\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('  <xs:element name="SequenceFault" type="wsrm:SequenceFaultType"/>\n', ses);
  http ('  <xs:element name="CreateSequence" type="wsrm:CreateSequenceType"/>\n', ses);
  http ('  <xs:element name="CreateSequenceResponse" type="wsrm:CreateSequenceResponseType"/>\n', ses);
  http ('  <xs:element name="TerminateSequence" type="wsrm:TerminateSequenceType"/>\n', ses);
  http ('  <xs:complexType name="CreateSequenceType">\n', ses);
  http ('    <xs:sequence>\n', ses);
  http ('      <xs:element ref="wsrm:AcksTo"/>\n', ses);
  http ('      <xs:element ref="wsrm:Expires" minOccurs="0"/>\n', ses);
  http ('      <xs:element name="Offer" type="wsrm:OfferType" minOccurs="0"/>\n', ses);
  http ('      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">\n', ses);
  http ('      </xs:any>\n', ses);
  http ('    </xs:sequence>\n', ses);
  http ('    <xs:anyAttribute namespace="##other" processContents="lax"/>\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('  <xs:complexType name="CreateSequenceResponseType">\n', ses);
  http ('    <xs:sequence>\n', ses);
  http ('      <xs:element ref="wsrm:Identifier"/>\n', ses);
  http ('      <xs:element name="Accept" type="wsrm:AcceptType" minOccurs="0"/>\n', ses);
  http ('      <xs:element ref="wsrm:Expires" minOccurs="0"/>\n', ses);
  http ('      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\n', ses);
  http ('    </xs:sequence>\n', ses);
  http ('    <xs:anyAttribute namespace="##other" processContents="lax"/>\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('  <xs:complexType name="TerminateSequenceType">\n', ses);
  http ('    <xs:sequence>\n', ses);
  http ('      <xs:element ref="wsrm:Identifier"/>\n', ses);
  http ('      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\n', ses);
  http ('    </xs:sequence>\n', ses);
  http ('    <xs:anyAttribute namespace="##other" processContents="lax"/>\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('  <xs:element name="AcksTo" type="wsa:EndpointReferenceType"/>\n', ses);
  http ('  <xs:complexType name="OfferType">\n', ses);
  http ('    <xs:sequence>\n', ses);
  http ('      <xs:element ref="wsrm:Identifier"/>\n', ses);
  http ('      <xs:element ref="wsrm:Expires" minOccurs="0"/>\n', ses);
  http ('      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\n', ses);
  http ('    </xs:sequence>\n', ses);
  http ('    <xs:anyAttribute namespace="##other" processContents="lax"/>\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('  <xs:complexType name="AcceptType">\n', ses);
  http ('    <xs:sequence>\n', ses);
  http ('      <xs:element ref="wsrm:AcksTo"/>\n', ses);
  http ('      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\n', ses);
  http ('    </xs:sequence>\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('  <xs:element name="Expires">\n', ses);
  http ('    <xs:complexType>\n', ses);
  http ('      <xs:simpleContent>\n', ses);
  http ('        <xs:extension base="xs:duration">\n', ses);
  http ('          <xs:anyAttribute namespace="##other" processContents="lax"/>\n', ses);
  http ('        </xs:extension>\n', ses);
  http ('      </xs:simpleContent>\n', ses);
  http ('    </xs:complexType>\n', ses);
  http ('  </xs:element>\n', ses);
  http ('</xs:schema>\n', ses);
  return string_output_string (ses);
}
;


-- wsa200408.xsd

CREATE PROCEDURE WSRM_WSA200408_XSD ()
{
  declare ses any;
  ses := string_output ();
  http ('<?xml version="1.0"?>\n', ses);
  http ('<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" targetNamespace="http://schemas.xmlsoap.org/ws/2004/08/addressing" elementFormDefault="qualified" blockDefault="#all"\n', ses);
  http ('  xmlns:wssu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">\n', ses);
  http ('  <xs:element name="EndpointReference" type="wsa:EndpointReferenceType"/>\n', ses);
  http ('  <xs:complexType name="EndpointReferenceType">\n', ses);
  http ('    <xs:sequence>\n', ses);
  http ('      <xs:element name="Address" type="xs:anyURI"/>\n', ses);
  http ('      <xs:element name="ReferenceProperties" type="wsa:ReferencePropertiesType" minOccurs="0"/>\n', ses);
  http ('      <xs:element name="ReferenceParameters" type="wsa:ReferenceParametersType" minOccurs="0"/>\n', ses);
  http ('      <xs:element name="PortType" type="wsa:AttributedQName" minOccurs="0"/>\n', ses);
  http ('      <xs:element name="ServiceName" type="wsa:ServiceNameType" minOccurs="0"/>\n', ses);
  http ('    </xs:sequence>\n', ses);
  http ('    <xs:attribute ref="wssu:Id"/>\n', ses);
  http ('    <xs:anyAttribute namespace="##other" processContents="lax"/>\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('  <xs:complexType name="ReferencePropertiesType">\n', ses);
  http ('    <xs:sequence>\n', ses);
  http ('      <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\n', ses);
  http ('    </xs:sequence>\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('  <xs:complexType name="ReferenceParametersType">\n', ses);
  http ('    <xs:sequence>\n', ses);
  http ('      <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\n', ses);
  http ('    </xs:sequence>\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('  <xs:complexType name="ServiceNameType">\n', ses);
  http ('    <xs:simpleContent>\n', ses);
  http ('      <xs:extension base="xs:QName">\n', ses);
  http ('        <xs:attribute name="PortName" type="xs:NCName"/>\n', ses);
  http ('        <xs:anyAttribute namespace="##other" processContents="lax"/>\n', ses);
  http ('      </xs:extension>\n', ses);
  http ('    </xs:simpleContent>\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('  <xs:element name="MessageID" type="wsa:AttributedURI"/>\n', ses);
  http ('  <xs:element name="RelatesTo" type="wsa:Relationship"/>\n', ses);
  http ('  <xs:element name="To" type="wsa:AttributedURI"/>\n', ses);
  http ('  <xs:element name="Action" type="wsa:AttributedURI"/>\n', ses);
  http ('  <xs:element name="From" type="wsa:EndpointReferenceType"/>\n', ses);
  http ('  <xs:element name="ReplyTo" type="wsa:EndpointReferenceType"/>\n', ses);
  http ('  <xs:element name="FaultTo" type="wsa:EndpointReferenceType"/>\n', ses);
  http ('  <xs:complexType name="Relationship">\n', ses);
  http ('    <xs:simpleContent>\n', ses);
  http ('      <xs:extension base="xs:anyURI">\n', ses);
  http ('        <xs:attribute name="RelationshipType" type="xs:QName" use="optional"/>\n', ses);
  http ('        <xs:anyAttribute namespace="##other" processContents="lax"/>\n', ses);
  http ('      </xs:extension>\n', ses);
  http ('    </xs:simpleContent>\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('  <xs:simpleType name="RelationshipTypeValues">\n', ses);
  http ('    <xs:restriction base="xs:QName">\n', ses);
  http ('      <xs:enumeration value="wsa:Reply"/>\n', ses);
  http ('    </xs:restriction>\n', ses);
  http ('  </xs:simpleType>\n', ses);
  http ('  <xs:element name="ReplyAfter" type="wsa:ReplyAfterType"/>\n', ses);
  http ('  <xs:complexType name="ReplyAfterType">\n', ses);
  http ('    <xs:simpleContent>\n', ses);
  http ('      <xs:extension base="xs:nonNegativeInteger">\n', ses);
  http ('        <xs:anyAttribute namespace="##other"/>\n', ses);
  http ('      </xs:extension>\n', ses);
  http ('    </xs:simpleContent>\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('  <xs:simpleType name="FaultSubcodeValues">\n', ses);
  http ('    <xs:restriction base="xs:QName">\n', ses);
  http ('      <xs:enumeration value="wsa:InvalidMessageInformationHeader"/>\n', ses);
  http ('      <xs:enumeration value="wsa:MessageInformationHeaderRequired"/>\n', ses);
  http ('      <xs:enumeration value="wsa:DestinationUnreachable"/>\n', ses);
  http ('      <xs:enumeration value="wsa:ActionNotSupported"/>\n', ses);
  http ('      <xs:enumeration value="wsa:EndpointUnavailable"/>\n', ses);
  http ('    </xs:restriction>\n', ses);
  http ('  </xs:simpleType>\n', ses);
  http ('  <xs:attribute name="Action" type="xs:anyURI"/>\n', ses);
  http ('  <xs:complexType name="AttributedQName">\n', ses);
  http ('    <xs:simpleContent>\n', ses);
  http ('      <xs:extension base="xs:QName">\n', ses);
  http ('        <xs:anyAttribute namespace="##other" processContents="lax"/>\n', ses);
  http ('      </xs:extension>\n', ses);
  http ('    </xs:simpleContent>\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('  <xs:complexType name="AttributedURI">\n', ses);
  http ('    <xs:simpleContent>\n', ses);
  http ('      <xs:extension base="xs:anyURI">\n', ses);
  http ('        <xs:anyAttribute namespace="##other" processContents="lax"/>\n', ses);
  http ('      </xs:extension>\n', ses);
  http ('    </xs:simpleContent>\n', ses);
  http ('  </xs:complexType>\n', ses);
  http ('</xs:schema>\n', ses);
  return string_output_string (ses);
}
;
