blob: da7ed6b677ddc57ffb82c246f932ed9fbf138088 [file] [log] [blame]
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xb="http://www.bea.com/2002/09/xbean/config"
targetNamespace="http://www.bea.com/2002/09/xbean/config"
elementFormDefault="qualified">
<xs:import namespace="http://www.w3.org/2001/XMLSchema"/>
<xs:element name="config">
<xs:annotation>
<xs:documentation>
The config element is the top-level element for an .xsdconfig file.
It contains configuration information that guides the xsd compiler
when it generates Java classes. You can specify package names to
be used for whole xml namespaces; you can specify class names
to use for individual schema types; and you can supply extension
interfaces and implementations to be extended by the generated
Java classes.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="namespace" type="xb:nsconfig">
<xs:annotation>
<xs:documentation>
Specifies configuration for a namespace.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="qname" type="xb:qnameconfig">
<xs:annotation>
<xs:documentation>
Specifies java mapping for a qname.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:complexType name="nsconfig">
<xs:sequence>
<xs:element name="package" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>
The package name to be used for types generated in this
namespace.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="prefix" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>
A prefix to be used to prepend to top-level Java type names
generated in this namespace. (The prefix is not used for
inner Java type definitions.)
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="suffix" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>
A suffix to be used to append to top-level Java type names
generated in this namespace. (The suffix is not used for
inner Java type definitions.)
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="uri" type="xs:namespaceList">
<xs:annotation>
<xs:documentation>
A list of any number of namespace URIs or ##local for the no-namespace,
or ##any for all namespaces.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="qnameconfig">
<xs:sequence/>
<xs:attribute name="name" type="xs:QName"/>
<xs:attribute name="javaname" type="xs:string"/>
</xs:complexType>
<xs:simpleType name="namespaceList">
<xs:annotation>
<xs:documentation>
A list of namespace URIs, with ##local for no-uri; or ##any for all URIs.
</xs:documentation>
</xs:annotation>
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="##any"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:list>
<xs:simpleType>
<xs:union memberTypes="xs:anyURI">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="##local"/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:list>
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:schema>