| <xs:schema |
| xmlns:xs="http://www.w3.org/2001/XMLSchema" |
| xmlns:tns="http://xml.apache.org/xmlbeans/binding-config" |
| targetNamespace="http://xml.apache.org/xmlbeans/binding-config" |
| elementFormDefault="qualified"> |
| |
| <xs:element name="binding-config"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element name="bindings" type="tns:binding-table"/> |
| <xs:element name="xml-to-pojo" type="tns:mapping-table"/> |
| <xs:element name="xml-to-xmlobj" type="tns:mapping-table"/> |
| <xs:element name="java-to-xml" type="tns:mapping-table"/> |
| <xs:element name="java-to-element" type="tns:mapping-table"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| |
| <xs:complexType name="binding-table"> |
| <xs:sequence> |
| <xs:element name="binding-type" type="tns:binding-type" minOccurs="0" maxOccurs="unbounded"/> |
| </xs:sequence> |
| </xs:complexType> |
| |
| <xs:complexType name="mapping-table"> |
| <xs:sequence> |
| <xs:element name="mapping" type="tns:mapping" minOccurs="0" maxOccurs="unbounded"/> |
| </xs:sequence> |
| </xs:complexType> |
| |
| <xs:complexType name="mapping"> |
| <xs:sequence> |
| <xs:element name="xmlcomponent" type="tns:xml-signature"/> |
| <xs:element name="javatype" type="tns:java-class-name"/> |
| </xs:sequence> |
| </xs:complexType> |
| |
| <xs:complexType name="binding-type" abstract="true"> |
| <xs:sequence> |
| <xs:element name="xmlcomponent" type="tns:xml-signature"/> |
| <xs:element name="javatype" type="tns:java-class-name"/> |
| <!-- todo: maybe more java info, e.g., instanceType, is-interface, is-xmlobj etc? --> |
| </xs:sequence> |
| </xs:complexType> |
| |
| <xs:complexType name="simple-type"> |
| <xs:complexContent> |
| <xs:extension base="tns:binding-type"> |
| <xs:sequence> |
| <xs:element name="as-xml" type="tns:as-xml-type"/> |
| </xs:sequence> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| |
| <xs:complexType name="jaxrpc-enum-type"> |
| <xs:annotation> |
| <xs:documentation>represents the binding of a enumerated type in schema to |
| a JAX-RPC style typesafe enum class. See JAX-RPC 1.1 Section 4.2.4 |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexContent> |
| <xs:extension base="tns:binding-type"> |
| <xs:sequence> |
| <xs:element name="base-xmlcomponent" type="tns:xml-signature"/> |
| <xs:element name="base-javatype" type="tns:java-class-name"/> |
| <xs:element name="getValue-method" type="tns:java-method-name"/> |
| <xs:element name="fromValue-method" type="tns:java-method-name"/> |
| <xs:element name="fromString-method" type="tns:java-method-name"/> |
| <xs:element name="toXML-method" type="tns:java-method-name" minOccurs="0"> |
| <xs:annotation> |
| <xs:documentation>not required by jax-rpc, but used if present |
| for more efficient serialization of an enumeration value to xml. |
| Must return a String value that will be used as the xml |
| serialization for the given enum value (method is not static). |
| </xs:documentation> |
| </xs:annotation> |
| </xs:element> |
| </xs:sequence> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| |
| <xs:complexType name="simple-document-binding"> |
| <xs:complexContent> |
| <xs:extension base="tns:binding-type"> |
| <xs:sequence> |
| <xs:element name="type-of-element" type="tns:xml-signature"/> |
| </xs:sequence> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| |
| <xs:complexType name="by-name-bean"> |
| <xs:complexContent> |
| <xs:extension base="tns:binding-type"> |
| <xs:sequence> |
| <xs:element name="any-property" type="tns:generic-xml-property" minOccurs="0"/> |
| <xs:element name="anyAttribute-property" type="tns:generic-xml-property" minOccurs="0"/> |
| <xs:choice minOccurs="0" maxOccurs="unbounded"> |
| <xs:element name="qname-property" type="tns:qname-property"/> |
| </xs:choice> |
| </xs:sequence> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| |
| <xs:complexType name="simple-content-bean"> |
| <xs:complexContent> |
| <xs:extension base="tns:binding-type"> |
| <xs:sequence> |
| <xs:element name="anyAttribute-property" type="tns:generic-xml-property" minOccurs="0"/> |
| <xs:element name="simple-content-property" type="tns:simple-content-property"/> |
| <xs:element name="attribute-property" type="tns:qname-property" |
| minOccurs="0" maxOccurs="unbounded"/> |
| </xs:sequence> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| |
| <xs:complexType name="wrapped-array"> |
| <xs:complexContent> |
| <xs:extension base="tns:binding-type"> |
| <xs:sequence> |
| <xs:element name="item-name" type="xs:QName"/> |
| <xs:element name="item-type" type="tns:mapping"/> |
| <xs:element name="item-nillable" type="xs:boolean" default="false" minOccurs="0"/> |
| </xs:sequence> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| |
| <xs:complexType name="soap-array"> |
| <xs:complexContent> |
| <xs:extension base="tns:binding-type"> |
| <xs:sequence> |
| <xs:element name="item-name" type="xs:QName" minOccurs="0"/> |
| <xs:element name="item-type" type="tns:mapping" minOccurs="0"/> |
| <xs:element name="item-nillable" type="xs:boolean" default="false" minOccurs="0"/> |
| <xs:element name="ranks" type="xs:int" minOccurs="0"/> |
| </xs:sequence> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| |
| <xs:complexType name="list-array"> |
| <xs:complexContent> |
| <xs:extension base="tns:binding-type"> |
| <xs:sequence> |
| <xs:element name="item-type" type="tns:mapping"/> |
| </xs:sequence> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| |
| <xs:complexType name="jaxb-bean"> |
| <xs:complexContent> |
| <xs:extension base="tns:binding-type"> |
| <xs:choice minOccurs="0" maxOccurs="unbounded"> |
| <xs:element name="particle-property" type="tns:particle-property"/> |
| <xs:element name="qname-property" type="tns:qname-property"/> |
| </xs:choice> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| |
| <xs:complexType name="binding-property" abstract="true"> |
| <xs:sequence> |
| <xs:element name="xmlcomponent" type="tns:xml-signature"/> |
| <xs:element name="javatype" type="tns:java-class-name"/> |
| <xs:choice> |
| <xs:sequence> |
| <xs:element name="getter" type="tns:java-method-name"/> |
| <xs:element name="setter" type="tns:java-method-name" minOccurs="0"/> |
| <xs:element name="issetter" type="tns:java-method-name" minOccurs="0"/> |
| </xs:sequence> |
| <xs:element name="field" type="tns:java-field-name"/> |
| <xs:element name="static" type="tns:java-field-name"/> |
| </xs:choice> |
| <xs:element name="collection" type="tns:java-class-name" minOccurs="0"/> |
| <xs:element name="factory" type="tns:java-instance-factory" minOccurs="0"/> |
| </xs:sequence> |
| </xs:complexType> |
| |
| <xs:complexType name="java-instance-factory" abstract="true"> |
| <xs:sequence> |
| </xs:sequence> |
| </xs:complexType> |
| |
| <xs:complexType name="parent-instance-factory"> |
| <xs:complexContent> |
| <xs:extension base="tns:java-instance-factory"> |
| <xs:sequence> |
| <xs:element name="create-object-method" type="tns:java-method-name"> |
| <xs:annotation> |
| <xs:documentation> |
| The create method will not be static, and will be invoked on |
| the parent object. It can optionally have one argument, which |
| will be of type java.lang.Class. The runtime will pass the java |
| class to be created. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:element> |
| </xs:sequence> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| |
| |
| <!-- type must be a simple or builtin type--> |
| <xs:complexType name="simple-content-property"> |
| <xs:complexContent> |
| <xs:extension base="tns:binding-property"> |
| <xs:sequence> |
| </xs:sequence> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| |
| <xs:complexType name="qname-property"> |
| <xs:complexContent> |
| <xs:extension base="tns:binding-property"> |
| <xs:sequence> |
| <xs:element name="qname" type="xs:QName"/> |
| <xs:element name="attribute" type="xs:boolean" default="false" minOccurs="0"/> |
| <xs:element name="multiple" type="xs:boolean" default="false" minOccurs="0"/> |
| <xs:element name="nillable" type="xs:boolean" default="false" minOccurs="0"/> |
| <xs:element name="optional" type="xs:boolean" default="false" minOccurs="0"/> |
| <xs:element name="default" type="xs:string" minOccurs="0"/> |
| </xs:sequence> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| |
| <xs:complexType name="generic-xml-property"> |
| <xs:complexContent> |
| <xs:extension base="tns:binding-property"> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| |
| <xs:complexType name="particle-property"> |
| <xs:complexContent> |
| <!-- implicit restriction: xmlcomponent must be a particle --> |
| <xs:extension base="tns:binding-property"> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| |
| |
| <xs:simpleType name="java-class-name"> |
| <xs:restriction base="xs:token"> |
| </xs:restriction> |
| </xs:simpleType> |
| |
| <xs:complexType name="java-method-name"> |
| <xs:sequence> |
| <xs:element name="method-name" type="xs:token" minOccurs="1"/> |
| <xs:element name="param-type" type="tns:java-class-name" minOccurs="0" maxOccurs="unbounded"/> |
| </xs:sequence> |
| </xs:complexType> |
| |
| <xs:simpleType name="xml-signature"> |
| <xs:restriction base="xs:token"> |
| </xs:restriction> |
| </xs:simpleType> |
| |
| <xs:complexType name="as-xml-type"> |
| <xs:simpleContent> |
| <xs:extension base="tns:xml-signature"> |
| <xs:attribute name="whitespace"> |
| <xs:simpleType> <!--type defn copied from schema for schemas--> |
| <xs:restriction base="xs:NMTOKEN"> |
| <xs:enumeration value="preserve"/> |
| <xs:enumeration value="replace"/> |
| <xs:enumeration value="collapse"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:extension> |
| </xs:simpleContent> |
| </xs:complexType> |
| |
| <xs:simpleType name="java-property-name"> |
| <xs:restriction base="xs:token"> |
| </xs:restriction> |
| </xs:simpleType> |
| |
| <xs:simpleType name="java-field-name"> |
| <xs:restriction base="xs:token"> |
| </xs:restriction> |
| </xs:simpleType> |
| |
| |
| </xs:schema> |