You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Simon McClenahan <si...@stellent.com> on 2002/05/10 21:00:55 UTC

XSLT help

I have a WSDL (generated by gSOAP) that I need to slightly modify before it will work with the current version of Axis' WSDL2Java. What is the XSL look like to perform the following transformation? I am using the <style> Ant task to perform the transformation when doing a build of my client.

Transform all references to unsupported Schema unsigned types to regular types supported by Axis/JAXRPC.
Change Schema complexType derivation from restriction to extension when the base is anyType.

Some examples:

Translate xsd:unsignedInt to xsd:int, and xsd:duration to xsd:string

  <complexType name="PoolInfo">
   <all>
    <element name="size" type="xsd:unsignedInt" minOccurs="0" maxOccurs="1"/>
    <element name="agentTimeout" type="xsd:duration" minOccurs="0" maxOccurs="1" nillable="true"/>
   </all>
  </complexType>

to

  <complexType name="PoolInfo">
   <all>
    <element name="size" type="xsd:int" minOccurs="0" maxOccurs="1"/>
    <element name="agentTimeout" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
   </all>
  </complexType>



Translate derivation with base of anyType from restriction to extension.

  <complexType name="IOSpec">
   <complexContent>
    <restriction base="xsd:anyType">
     <sequence>
      <element name="spec" type="ts:stringData" minOccurs="0" maxOccurs="1"/>
      <element name="specType" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
     </sequence>
    </restriction>
   </complexContent>
  </complexType>

to

  <complexType name="IOSpec">
   <complexContent>
    <extension base="xsd:anyType">
     <sequence>
      <element name="spec" type="ts:stringData" minOccurs="0" maxOccurs="1"/>
      <element name="specType" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
     </sequence>
    </extension>
   </complexContent>
  </complexType>