- From: <Patrick.Hung@csiro.au>
- Date: Thu, 15 May 2003 15:12:03 +1000
- To: reagle@w3.org, public-p3p-spec@w3.org
> No, I simply find WSDL confusing and I'm rather ignorant of it.
Hi Joseph, I also find WSDL confusing... This is the first time for me to
touch
the WSDL schema in details. I would suggest that we should ask help from
some WSDL
experts at W3C(?) to validate the proposed WSDL with extensible elements
fragment.
> Cool, that's a good schema for the data instance sent via XForms -- and
that
> can be included in the WSDL *instance's* wsdl:types. My question is about
> the WSDL itself. Does WSDL generically allow you to place any old element
> from a foreign namespace in it's instance? (I don't think so.) If it does
> permit this, does it require you to first provide a schema to validate the
> augmented instance? I think so because of this in the WSDL schema:
Yes, it is true for the second question. You can see a use case here:
http://aspn.activestate.com/ASPN/Mail/Message/WSDL/832328
Thanks for your revised schema for "my:Privacy." Overall, we should have
something
like these + the XForm fragment:
http://registry.example.com/2003/wsdlext.xsd
============================================
<xsd:schema
targetNamespace="http://registry.example.com/2003/wsdlext"
xmlns:my="http://registry.example.com/2003/wsdlext"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
elementFormDefault="qualified">
<xsd:import
namespace="http://schemas.xmlsoap.org/wsdl/"
schemaLocation="http://schemas.xmlsoap.org/wsdl/" />
<xsd:element name="my:Privacy"
substitutionGroup="wsdl:globalExt">
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="wsdl:tExtensibilityElement">
<xsd:sequence />
<xsd:attribute name="rel" type="xsd:string" use="required"/>
<xsd:attribute name="href" type="xsd:anyURI" use="required"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
</xsd:schema>
http://registry.example.com/2003/ns1.xsd
========================================
<schema targetNamespace="http://registry.example.com/2003/ns1"
xmlns="http://www.w3.org/2000/10/XMLSchema">
<complexType name="OrderInfo">
<all>
<complexType name="PersonalInfo">
<all>
<complexType name="Name">
<all>
<element name="First" type="string"/>
<element name="Middle" type="string"/>
<element name="Last" type="string"/>
</all>
</complexType>
<complexType name="Address">
<all>
<element name="Street" type="string"/>
<element name="City" type="string"/>
<element name="State" type="string"/>
<element name="Zip" type="string"/>
</all>
</complexType>
</all>
</complexType>
<complexType name="DomainInfo">
<all>
<element name="TLD" type="string"/>
<element name="DomainName" type="string"/>
</all>
</complexType>
</all>
</complexType>
<element name="RegistrationStatus" type="string"/>
</schema>
http://registry.example.com/2003/registerservice.wsdl
=====================================================
<?xml version="1.0" encoding="utf-8" ?>
<definitions name="RegisterService"
targetNamespace="http://registry.example.com/2003/definitions"
xmlns:tns="http://registry.example.com/2003/definitions"
xmlns:my="http://registry.example.com/2003/wsdlext.xsd"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<import namespace="http://registry.example.com/2003/ns1"
location="http://registry.example.com/2003/ns1.xsd"/>
<my:Privacy my:rel="P3Pv1"
my:href="http://registry.example.com/P3P/PolicyReferences.xml"/>
<message name="RegisterDomainNameInput">
<part name="body" element="tns:OrderInfo"/>
</message>
<message name="RegisterDomainNameOutput">
<part name="body" element="tns:RegistrationStatus"/>
</message>
<portType name="RegisterDomainNamePortType">
<operation name="RegisterDomainName">
<input message="tns:RegisterDomainNameInput"/>
<output message="tns:RegisterDomainNameOutput"/>
</operation>
</portType>
<binding name="RegisterDomainNameSoapBinding"
type="tns:RegisterDomainNamePortType">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="RegisterDomainName">
<soap:operation
soapAction="http://registry.example.com/RegisterService/RegisterDomainName"/
>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="RegisterService">
<documentation>Register Service</documentation>
<port name="RegisterDomainNamePort"
binding="tns:RegisterDomainNameSoapBinding">
<soap:address location="http://registry.example.com/RegisterService"/>
</port>
</service>
</definitions>
Received on Thursday, 15 May 2003 01:12:09 UTC