< previous
index

What we do not see...

next >

Schemas and WSDL definitions are very long, and can be complicated. The following is an excerpt from what is hidden for us.

   <xs:element name="definitions" type="wsdl:tDefinitions"/>

   <xs:complexType name="tDefinitions">
     <xs:complexContent>
       <xs:extension base="wsdl:tExtensibleDocumented">
         <xs:sequence>
           <xs:group ref="wsdl:anyTopLevelOptionalElement" minOccurs="0"
              maxOccurs="unbounded"/>
     ...

   <xs:group name="anyTopLevelOptionalElement">
     ...
     <xs:choice>
       <xs:element name="binding" type="wsdl:tBinding"/>
     ...

   <xs:complexType name="tBinding">
     <xs:complexContent>
       <xs:extension base="wsdl:tExtensibleDocumented">
         <xs:sequence>
           <xs:element name="operation" type="wsdl:tBindingOperation"
               minOccurs="0" maxOccurs="unbounded"/>
      ...

   <xs:complexType name="tBindingOperation">
     <xs:complexContent>
       <xs:extension base="wsdl:tExtensibleDocumented">
         <xs:sequence>
           <xs:element name="input" type="wsdl:tBindingOperationMessage" minOccurs="0"/>
     ...

   <xs:complexType name="tBindingOperationMessage">
     <xs:complexContent>
       <xs:extension base="wsdl:tExtensibleDocumented">
         <xs:attribute name="name" type="xs:NCName" use="optional"/>
     ...

   <xs:complexType name="tExtensibleDocumented" abstract="true">
     <xs:complexContent>
       <xs:extension base="wsdl:tDocumented">
         <xs:sequence>
           <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"
               processContents="lax"/>   ##### ANY ####
     ...

   <xs:complexType name="tDocumented">
     <xs:sequence>
       <xs:element name="documentation" type="wsdl:tDocumentation" minOccurs="0"/>
     ...

   <xs:complexType mixed="true" name="tDocumentation">
     <xs:sequence>
       <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
     ...

Just forget it: hidden for you!


YAPC::EU 2007 Vienna, Presentation of XML::Compile second part, by Mark Overmeer.