A Schematron Schema for SOAP based WSDL
Root element should be http://schemas.xmlsoap.org/wsdl/:definitions
should have a name attribute
A service should have a name attribute
A service should have at least one port element
A port should have a name attriubte
A port should have a binding attriubte
A port should define a soap:address element
should reference a binding that exists
a soap:address should have a location attribute
A binding should have a name attribute
A binding should have a type attribute
A binding should have a soap binding element
A binding should have 1 or more operations
should point to a portType that exists.
a soap:binding style should be rpc or document
a soap:binding should have a transport attribute
An operation should have a name attriubte
An operation should have an input element
An operation should have a soap:operation element
should point to an operation that exists in the portType ''
A soap:operation should have a soapAction attriubte
An input should have a soap:body child
An output should have a soap:body child
the use attribute for soap:body should be 'literal' or 'encoded'
soap:body elements with an use='encoded' should have an encodingStyle attriubte
the soap:body element should have a namespace attribute
should have a name attribute
should have at least 1 operation
should have a name attribute
should have an input and/or an output element
should have a message attriubte
should point to a message that exists.
should have a name attribute
should have a name attribute
should have a 'type' or 'element' attriubte