| <definitions name="demoService" targetNamespace="http://tempuri.org/4s4c/1/3/wsdl/def/demoService" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/1999/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://tempuri.org/4s4c/1/3/wsdl/def/demoService" xmlns:ns1="http://tempuri.org/4s4c/1/3/wsdl/types/"> <portType name="structsPortType"> <operation name="GetPerson"> <input message="tns:GetPersonRequest" name="GetPerson"/> <output message="tns:GetPersonResponse" name="GetPersonResponse"/> </operation> </portType> <binding name="structsBinding" type="tns:structsPortType"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="GetPerson"> <soap:operation soapAction="urn:demoService#GetPerson"/> <input><soap:body use="encoded" namespace="http://simon.fell.com/structs" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> </input> <output><soap:body use="encoded" namespace="http://simon.fell.com/structs" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> </output> </operation> </binding> <binding name="structsBinding" type="tns:Not-specified"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="GetPerson"> <soap:operation soapAction="urn:demoService#GetPerson"/> <input><soap:body use="encoded" namespace="http://simon.fell.com/structs" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> </input> <output><soap:body use="encoded" namespace="http://simon.fell.com/structs" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> </output> </operation> </binding> </definitions> |
<sch:schema xmlns:sch="http://www.ascc.net/xml/schematron" xmlns:zvon="http://zvon.org/schematron" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> <sch:title>Test 8 - key</sch:title> <sch:key name="type" match="wsdl:portType" use="@name"/> <sch:pattern name="The first pattern" see="someDoc1"> <sch:rule context="wsdl:binding/@type"> <sch:report test="key('type',substring-after(.,':'))"><sch:name zvon:fullPath='yes'/> Match O.K.</sch:report> <sch:assert test="key('type',substring-after(.,':'))"><sch:name zvon:fullPath='yes'/> not matched.</sch:assert> </sch:rule> </sch:pattern> </sch:schema> |