update appendix C

Signed-off-by: Lukas Jungmann <lukas.jungmann@oracle.com>
diff --git a/spec/src/main/asciidoc/appC-normative_schema.adoc b/spec/src/main/asciidoc/appC-normative_schema.adoc
index 6443475..73d3a5f 100644
--- a/spec/src/main/asciidoc/appC-normative_schema.adoc
+++ b/spec/src/main/asciidoc/appC-normative_schema.adoc
@@ -3,924 +3,469 @@
 //
 
 [appendix]
-== [[a4270]]Normative Binding Schema Syntax
+== Normative Binding Schema Syntax
 
-=== JAXB Binding Schema
+=== XML Binding Schema
 
-Online versions of JAXB Binding Schema are
-available at:
+Online version of XML Binding Schema is available at `https://jakarta.ee/xml/ns/jaxb/bindingschema_3_0.xsd`.
 
-
-_http://java.sun.com/xml/ns/jaxb/bindingschema_2_0.xsd[]http://java.sun.com/xml/ns/jaxb/bindingschema_1_0.xsd[http://java.sun.com/xml/ns/jaxb/bindingschema_2_0.xsd +
-http://java.sun.com/xml/ns/jaxb/bindingschema_1_0.xsd +
-]_
-
-Additions to JAXB 1.0 binding schema are in
-_bold_ .
-
-<?xml version = "1.0" encoding = "UTF-8"?>
-
+[source,xml]
+----
 <xs:schema
+   targetNamespace = "https://jakarta.ee/xml/ns/jaxb"
+   xmlns:jaxb = "https://jakarta.ee/xml/ns/jaxb"
+   xmlns:xs = "http://www.w3.org/2001/XMLSchema"
+   elementFormDefault = "qualified"
+   attributeFormDefault = "unqualified">
+  <xs:annotation>
+    <xs:documentation>
+      This is the XML Schema for the Jakarta XML Binding binding
+      customization descriptor.
+      All binding customization descriptors must indicate
+      the descriptor schema by using the Jakarta XML Binding namespace:
 
- targetNamespace =
-"http://java.sun.com/xml/ns/jaxb"
+      https://jakarta.ee/xml/ns/jaxb
 
- xmlns:jaxb =
-"http://java.sun.com/xml/ns/jaxb"
+      and by indicating the version of the schema by
+      using the version element as shown below:
 
- xmlns:xs =
-"http://www.w3.org/2001/XMLSchema"
+        <bindings xmlns="https://jakarta.ee/xml/ns/jaxb"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="https://jakarta.ee/xml/ns/jaxb
+              https://jakarta.ee/xml/ns/jaxb/bindingschema_3_0.xsd"
+          version="3.0">
+          ...
+        </bindings>
 
- elementFormDefault = "qualified" +
-attributeFormDefault = "unqualified">
+      The instance documents may indicate the published version of
+      the schema using the xsi:schemaLocation attribute for Jakarta XML Binding
+      namespace with the following location:
 
-<xs:group name = "declaration">
+      https://jakarta.ee/xml/ns/jaxb/bindingschema_3_0.xsd
+    </xs:documentation>
+  </xs:annotation>
+  <xs:group name = "declaration">
+    <xs:annotation>
+      <xs:documentation>
+        Model group that represents a binding declaration. Each new binding
+        declaration added to the jaxb namespace that is not restricted to
+        globalBindings should be added as a child element to this model group.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:choice>
+      <xs:element ref = "jaxb:globalBindings"/>
+      <xs:element ref = "jaxb:schemaBindings"/>
+      <xs:element ref = "jaxb:class"/>
+      <xs:element ref = "jaxb:property"/>
+      <xs:element ref = "jaxb:typesafeEnumClass"/>
+      <xs:element ref = "jaxb:typesafeEnumMember"/>
+      <xs:element ref = "jaxb:javaType"/>
+      <xs:element ref = "jaxb:dom"/>
+      <xs:element ref = "jaxb:inlineBinaryData"/>
+      <xs:any namespace = "##other" processContents = "lax"/>
+    </xs:choice>
+  </xs:group>
+  <xs:attribute name = "version" type="xs:token" >
+    <xs:annotation>
+      <xs:documentation>
+        Used to specify the version of the binding schema on the schema element for
+        inline annotations or jaxb:bindings for external binding.
+      </xs:documentation>
+    </xs:annotation>
+  </xs:attribute>
+  <xs:attributeGroup name = "propertyAttributes">
+      <xs:annotation><xs:documentation>
+        Attributes used for property customization. The attribute group can be
+        referenced either from the globalBindings declaration or from the
+        property declaration. The following defaults are defined by the JAXB
+        specification in global scope only. Thus they apply when the
+        propertyAttributes group is referenced from the globalBindings declaration
+        but not when referenced from the property declaration.
+          collectionType            a class that implements java.util.List.
+          fixedAttributeAsConstantProperty  false
+          enableFailFastCheck        false
+          generateIsSetMethod        false
+          optionalProperty           wrapper
+          generateElementProperty    false
+          attachmentRef              default
+      </xs:documentation></xs:annotation>
+    <xs:attribute name = "collectionType" type="jaxb:referenceCollectionType"/>
+    <xs:attribute name = "fixedAttributeAsConstantProperty" type = "xs:boolean"/>
+    <xs:attribute name = "enableFailFastCheck" type = "xs:boolean"/>
+    <xs:attribute name = "generateIsSetMethod" type = "xs:boolean"/>
+    <xs:attribute name = "optionalProperty">
+      <xs:simpleType>
+        <xs:restriction base="xs:NCName">
+          <xs:enumeration value="wrapper"/>
+          <xs:enumeration value="primitive"/>
+          <xs:enumeration value="isSet"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+    <xs:attribute name = "generateElementProperty" type="xs:boolean"/>
+    <xs:attribute name = "attachmentRef">
+      <xs:simpleType>
+        <xs:restriction base="xs:NCName">
+          <xs:enumeration value="resolve"/>
+          <xs:enumeration value="doNotResolve"/>
+          <xs:enumeration value="default"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+  </xs:attributeGroup>
+  <xs:attributeGroup name = "XMLNameToJavaIdMappingDefaults">
+    <xs:annotation>
+      <xs:documentation>Customize XMLNames to Java id mapping
+      </xs:documentation>
+    </xs:annotation>
+    <xs:attribute name = "underscoreBinding" default = "asWordSeparator" type = "jaxb:underscoreBindingType"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name = "typesafeEnumClassDefaults">
+    <xs:attribute name = "typesafeEnumMemberName" default = "skipGeneration" type = "jaxb:typesafeEnumMemberNameType"/>
+    <xs:attribute name = "typesafeEnumBase" default = "xs:string" type = "jaxb:typesafeEnumBaseType"/>
+    <xs:attribute name = "typesafeEnumMaxMembers" type="xs:int" default="256"/>
+  </xs:attributeGroup>
+  <xs:element name = "globalBindings">
+    <xs:annotation>
+      <xs:documentation>Customization values defined in global scope.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence minOccurs = "0">
+        <xs:element ref = "jaxb:javaType" minOccurs = "0" maxOccurs = "unbounded"/>
+        <xs:element ref = "jaxb:serializable" minOccurs = "0"/>
+        <xs:any namespace = "##other" processContents = "lax">
+          <xs:annotation> 
+            <xs:documentation>allows extension binding declarations to be specified.</xs:documentation>
+          </xs:annotation>
+        </xs:any>
+      </xs:sequence>
+      <xs:attributeGroup ref = "jaxb:XMLNameToJavaIdMappingDefaults"/>
+      <xs:attributeGroup ref = "jaxb:typesafeEnumClassDefaults"/>
+      <xs:attributeGroup ref = "jaxb:propertyAttributes"/>
+      <xs:attribute name="generateValueClass" type="xs:boolean"
+                    default= "true"/>
+      <xs:attribute name="generateElementClass" type="xs:boolean"
+                    default= "false"/>
+      <xs:attribute name="mapSimpleTypeDef" type="xs:boolean"
+                    default= "false"/>
+      <xs:attribute name="localScoping" default= "nested">
+        <xs:simpleType>
+          <xs:restriction base="xs:NCName">
+            <xs:enumeration value="nested"/>
+            <xs:enumeration value="toplevel"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name = "enableJavaNamingConventions" default = "true" type = "xs:boolean"/>
+      <xs:attribute name = "choiceContentProperty" default = "false" type = "xs:boolean"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name = "schemaBindings">
+    <xs:annotation>
+      <xs:documentation>Customization values with schema scope</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:all>
+        <xs:element name = "package" type = "jaxb:packageType" minOccurs = "0"/>
+        <xs:element name = "nameXmlTransform" type = "jaxb:nameXmlTransformType" minOccurs = "0"/>
+      </xs:all>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name = "class">
+    <xs:annotation>
+      <xs:documentation>Customize interface and implementation class.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name = "javadoc" type = "xs:string" minOccurs = "0"/>
+      </xs:sequence>
+      <xs:attribute name = "name" type = "jaxb:javaIdentifierType">
+        <xs:annotation>
+          <xs:documentation>Java class name without package prefix.</xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name = "implClass" type = "jaxb:javaIdentifierType">
+        <xs:annotation>
+          <xs:documentation>Implementation class name including package prefix.</xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name="generateValueClass" type="xs:boolean">
+        <xs:annotation>
+          <xs:documentation>Default value derived from [jaxb:globalBindings]@generateValueClass.</xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name = "property">
+    <xs:annotation>
+      <xs:documentation>Customize property.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:all>
+        <xs:element name = "javadoc" type = "xs:string" minOccurs="0"/>
+        <xs:element name = "baseType" type="jaxb:propertyBaseType" minOccurs="0"/>
+      </xs:all>
+      <xs:attribute name = "name" type = "jaxb:javaIdentifierType"/>
+      <xs:attributeGroup ref = "jaxb:propertyAttributes"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name = "javaType">
+    <xs:annotation>
+      <xs:documentation>Data type conversions; overriding builtins</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:attribute name = "name" use = "required" type = "jaxb:javaIdentifierType">
+        <xs:annotation>
+          <xs:documentation>name of the java type to which xml type is to be bound.</xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name = "xmlType" type = "xs:QName">
+        <xs:annotation>
+          <xs:documentation> xml type to which java datatype has to be bound.Must be present when javaType is scoped to globalBindings</xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name = "parseMethod" type = "jaxb:javaIdentifierType"/>
+      <xs:attribute name = "printMethod" type = "jaxb:javaIdentifierType"/>
+      <xs:attribute name = "hasNsContext" default = "false" type = "xs:boolean" >
+        <xs:annotation>
+          <xs:documentation>
+            If true, the parsMethod and printMethod must reference a method
+            signtature that has a second parameter of type NamespaceContext.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name = "typesafeEnumClass">
+    <xs:annotation>
+      <xs:documentation> Bind to a type safe enumeration class.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name = "javadoc" type = "xs:string" minOccurs = "0"/>
+        <xs:element ref = "jaxb:typesafeEnumMember" minOccurs = "0" maxOccurs = "unbounded"/>
+      </xs:sequence>
+      <xs:attribute name = "name" type = "jaxb:javaIdentifierType"/>
+      <xs:attribute name = "map" type = "xs:boolean" default = "true"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name = "typesafeEnumMember">
+    <xs:annotation>
+      <xs:documentation> Enumeration member name in a type safe enumeration class.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name = "javadoc" type = "xs:string" minOccurs = "0"/>
+      </xs:sequence>
+      <xs:attribute name = "value" type="xs:anySimpleType"/>
+      <xs:attribute name = "name" use = "required" type = "jaxb:javaIdentifierType"/>
+    </xs:complexType>
+  </xs:element>
 
- <xs:choice>
+  <!-- TYPE DEFINITIONS -->
 
- <xs:element ref = "jaxb:globalBindings"/>
+  <xs:complexType name = "propertyBaseType">
+    <xs:all>
+      <xs:element ref = "jaxb:javaType" minOccurs = "0"/>
+    </xs:all>
+    <xs:attribute name = "name" type = "jaxb:javaIdentifierType">
+      <xs:annotation>
+        <xs:documentation>
+          The name attribute for [baseType] enables more precise control over the actual base type for a JAXB property. This customization enables specifying a more general base type than the property's default base type. The name attribute value must be a fully qualified Java class name. Additionally, this Java class must be a super interface/class of the default Java base type for the property. When the default base type is a primitive type, consider the default Java base type to be the Java wrapper class of that primitive type.This customization is useful to enable simple type substitution for a JAXB property representing with too restrictive of a default base type.
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+  </xs:complexType>
 
- <xs:element ref = "jaxb:schemaBindings"/>
-
- <xs:element ref = "jaxb:class"/>
-
- <xs:element ref = "jaxb:property"/>
-
- <xs:element ref = "jaxb:typesafeEnumClass"/>
-
- <xs:element ref =
-"jaxb:typesafeEnumMember"/>
-
- <xs:element ref = "jaxb:javaType"/>
-
- <xs:element ref = "jaxb:dom"/>
-
- <xs:element ref = "jaxb:inlineBinaryData"/>
-
- <xs:any namespace = "##other"
-processContents = "lax"/>
-
- </xs:choice>
-
- </xs:group>
-
- <xs:attribute name = "version"
-type="xs:token" >
-
- _<xs:annotation><xs:documentation>_
-
- _Used to specify the version of the binding
-schema on the schema element for inline annotations or jaxb:bindings for
-external binding._
-
- _</xs:documentation></xs:annotation>_
-
- </xs:attribute>
-
- <xs:attributeGroup name =
-"propertyAttributes">
-
- _<xs:annotation>_
-
- _<xs:documentation>_
-
- _Attributes used for property customization.
-The attribute group can be referenced either from the globalBindings
-declaration or from the_
-
- _property declaration. The following
-defaults are defined by the JAXB specification in global scope only.
-Thus they apply when the propertyAttributes group is referenced from the
-globalBindings declaration but not when referenced from the property
-declaration._
-
- _collectionType a class that implements
-java.util.List._
-
- _fixedAttributeAsConstantProperty false_
-
- _enableFailFastCheck false_
-
- _generateIsSetMethod false_
-
- __ _optionalProperty wrapper_
-
- _generateElementProperty false_
-
- _</xs:documentation>_
-
- _</xs:annotation>_
-
- <xs:attribute name = "collectionType"
-type="jaxb:referenceCollectionType"/>
-
- <xs:attribute name =
-"fixedAttributeAsConstantProperty" type = "xs:boolean"/>
-
- <xs:attribute name = "enableFailFastCheck"
-type = "xs:boolean"/>
-
- <xs:attribute name = "generateIsSetMethod"
-type = "xs:boolean"/>
-
- _<xs:attribute name = "optionalProperty">_
-
- _<xs:simpleType>_
-
- _<xs:restriction base="xs:NCName">_
-
- _<xs:enumeration value="wrapper"/>_
-
- _<xs:enumeration value="primitive"/>_
-
- _<xs:enumeration value="isSet"/>_
-
- _</xs:restriction>_
-
- _</xs:simpleType>_
-
- _</xs:attribute>_
-
- _<xs:attribute name =
-"generateElementProperty" type="xs:boolean"/>_
-
-</xs:attributeGroup>
-
- <xs:attributeGroup name =
-"XMLNameToJavaIdMappingDefaults">
-
- _<xs:annotation>_
-
- _<xs:documentation>Customize XMLNames to
-Java id mapping</xs:documentation>_
-
- _</xs:annotation>_
-
- <xs:attribute name = "underscoreBinding"
-default = "asWordSeparator" type = "jaxb:underscoreBindingType"/>
-
- </xs:attributeGroup>
-
- <xs:attributeGroup name =
-"typesafeEnumClassDefaults">
-
- <xs:attribute name =
-"typesafeEnumMemberName" _default = "skipGeneration"_ type =
-"jaxb:typesafeEnumMemberNameType"/>
-
- <xs:attribute name = "typesafeEnumBase"
-_default = "xs:string"_ type = "jaxb:typesafeEnumBaseType"/>
-
- _<xs:attribute name =
-"typesafeEnumMaxMembers" type="xs:int" default="256"/>_
-
- </xs:attributeGroup>
-
- <xs:element name = "globalBindings">
-
- _<xs:annotation>_
-
- _<xs:documentation>Customization values
-defined in global scope.</xs:documentation>_
-
- _</xs:annotation>_
-
- <xs:complexType>
-
- <xs:sequence minOccurs = "0"> +
-<xs:element ref = "jaxb:javaType" minOccurs = "0" maxOccurs =
-"unbounded"/> +
-_<xs:element ref = "jaxb:serializable" minOccurs = "0"/>_
-
- <xs:any namespace = "##other"
-processContents = "lax">
-
- _<xs:annotation> <xs:documentation>_
-
- _allows extension binding declarations to be
-specified._
-
- _</xs:documentation></xs:annotation>_
-
- </xs:any>
-
- </xs:sequence>
-
- <xs:attributeGroup ref =
-"jaxb:XMLNameToJavaIdMappingDefaults"/>
-
- <xs:attributeGroup ref =
-"jaxb:typesafeEnumClassDefaults"/>
-
- <xs:attributeGroup ref =
-"jaxb:propertyAttributes"/>
-
- _<xs:attribute name="generateValueClass"
-type="xs:boolean"_
-
- _default= "true"/>_
-
- _<xs:attribute name="generateElementClass"
-type="xs:boolean"_
-
- _default= "false"/>_
-
- _<xs:attribute name="mapSimpleTypeDef"
-type="xs:boolean"_
-
- _default= "false"/>_
-
- _<xs:attribute name="localScoping" default=
-"nested">_
-
- _<xs:simpleType>_
-
- _<xs:restriction base="xs:NCName">_
-
- _<xs:enumeration value="nested"/>_
-
- _<xs:enumeration value="toplevel"/>_
-
- _</xs:restriction>_
-
- _</xs:simpleType>_
-
- _</xs:attribute>_
-
- <xs:attribute name =
-"enableJavaNamingConventions" default = "true" type = "xs:boolean"/>
-
- <xs:attribute name = "choiceContentProperty"
-default = "false" type = "xs:boolean"/>
-
- </xs:complexType>
-
- </xs:element>
-
- <xs:element name = "schemaBindings">
-
- <xs:annotation>
-
- <xs:documentation>Customization values with
-schema scope<xs:documentation>
-
- </xs:annotation>
-
- <xs:complexType>
-
- <xs:all>
-
- <xs:element name = "package" type =
-"jaxb:packageType" minOccurs = "0"/>
-
- <xs:element name = "nameXmlTransform" type =
-"jaxb:nameXmlTransformType" minOccurs = "0"/>
-
- </xs:all>
-
- </xs:complexType>
-
- </xs:element>
-
- <xs:element name = "class">
-
- _<xs:annotation>_
-
- _<xs:documentation>Customize interface and
-implementation class.</xs:documentation>_
-
- _</xs:annotation>_
-
- <xs:complexType>
-
- <xs:sequence>
-
- <xs:element name = "javadoc" type =
-"xs:string" minOccurs = "0"/>
-
- </xs:sequence>
-
- <xs:attribute name = "name" type =
-"jaxb:javaIdentifierType">
-
- _<xs:annotation>_
-
- _<xs:documentation>Java class name without
-package prefix.</xs:documentation>_
-
- _</xs:annotation>_
-
- </xs:attribute>
-
- <xs:attribute name = "implClass" type =
-"jaxb:javaIdentifierType">
-
- _<xs:annotation>_
-
- _<xs:documentation>Implementation class name
-including package prefix. </xs:documentation>_
-
- _</xs:annotation>_
-
- </xs:attribute>
-
- _<xs:attribute name="generateValueClass"
-type="xs:boolean" default= "true"/>_
-
- </xs:complexType>
-
- </xs:element>
-
- <xs:element name = "property">
-
- _<xs:annotation>_
-
- _<xs:documentation>Customize
-property.</xs:documentation>_
-
- _</xs:annotation>_
-
- <xs:complexType>
-
- <xs:all>
-
- <xs:element name = "javadoc" type =
-"xs:string" minOccurs="0"/>
-
- <xs:element name = "baseType"
-type="jaxb:propertyBaseType" minOccurs="0"/>
-
- </xs:all>
-
- _<xs:attribute name = "name" type =
-"jaxb:javaIdentifierType"/> +
-<xs:attribute name = "attachmentRef" default="default">_
-
- _<xs:simpleType>_
-
- _<xs:restriction base="xs:NCName">_
-
- _<xs:enumeration value="resolve"/>_
-
- _<xs:enumeration value="doNotResolve"/>_
-
- _<xs:enumeration value="default"/>_
-
- _</xs:restriction>_
-
- _</xs:simpleType>_
-
- _</xs:attribute>_
-
- <xs:attributeGroup ref =
-"jaxb:propertyAttributes"/>
-
- </xs:complexType>
-
- </xs:element>
-
- <xs:element name = "javaType">
-
- _<xs:annotation>_
-
- _<xs:documentation>Data type conversions;
-overriding builtins</xs:documentation>_
-
- _</xs:annotation>_
-
- <xs:complexType>
-
- <xs:attribute name = "name" use = "required"
-type = "jaxb:javaIdentifierType">
-
- _<xs:annotation>_
-
- _<xs:documentation>name of the java type to
-which xml type is to be bound.</xs:documentation>_
-
- _</xs:annotation>_
-
- </xs:attribute>
-
- <xs:attribute name = "xmlType" type =
-"xs:QName">
-
- _<xs:annotation>_
-
- _<xs:documentation> xml type to which java
-datatype has to be bound._
-
- _Must be present when javaType is scoped to
-globalBindings._
-
- _</xs:documentation>_
-
- </xs:annotation>
-
- </xs:attribute>
-
- <xs:attribute name = "parseMethod" type =
-"jaxb:javaIdentifierType"/>
-
- <xs:attribute name = "printMethod" type =
-"jaxb:javaIdentifierType"/>
-
- _<xs:annotation>_
-
- _<xs:documentation>_
-
- _If true, the parsMethod and printMethod
-must reference a method_
-
- _signtature that has a second parameter of
-type NamespaceContext._
-
- _</xs:documentation>_
-
- _</xs:annotation>_
-
- </xs:attribute>
-
- </xs:complexType>
-
- </xs:element>
-
-<xs:element name = "typesafeEnumClass">
-
- _<xs:annotation>_
-
- _<xs:documentation> Bind to a type safe
-enumeration class.</xs:documentation>_
-
- _</xs:annotation>_
-
- <xs:complexType>
-
- <xs:sequence>
-
- <xs:element name = "javadoc" type =
-"xs:string" minOccurs = "0"/>
-
- <xs:element ref = "jaxb:typesafeEnumMember"
-minOccurs = "0" maxOccurs = "unbounded"/>
-
- </xs:sequence>
-
- <xs:attribute name = "name" type =
-"jaxb:javaIdentifierType"/>
-
- _<xs:attribute name = "map" type =
-"xs:boolean" default = "true"/>_
-
- </xs:complexType>
-
- </xs:element>
-
- <xs:element name = "typesafeEnumMember">
-
- _<xs:annotation>_
-
- _<xs:documentation> Enumeration member name
-in a type safe enumeration class.</xs:documentation>_
-
- _</xs:annotation>_
-
- <xs:complexType>
-
- <xs:sequence>
-
- <xs:element name = "javadoc" type =
-"xs:string" minOccurs = "0"/>
-
- </xs:sequence>
-
- <xs:attribute name = "value"
-type="xs:anySimpleType"/>
-
- <xs:attribute name = "name" use = "required"
-type = "jaxb:javaIdentifierType"/>
-
- </xs:complexType>
-
- </xs:element>
-
-
-
- _<!-- TYPE DEFINITIONS -->_
-
-
-
- <xs:complexType name = "propertyBaseType">
-
- <xs:all>
-
- <xs:element ref = "jaxb:javaType" minOccurs
-= "0"/>
-
- </xs:all>
-
- _<xs:attribute name = "name" type =
-"jaxb:javaIdentifierType">_
-
- _<xs:annotation><xs:documentation>_
-
- _The name attribute for [baseType] enables
-more precise control over the actual base type for a JAXB property. This
-customization enables specifying a more general/specialized base type
-than the property's default base type. The name attribute value must be
-a fully qualified Java class name. Additionally, this Java class must be
-a super interface/class or subclass of the default Java base type for
-the property. When the default base type is a primitive type, consider
-the default Java base type to be the Java wrapper class of that
-primitive type.This customization is useful to enable simple type
-substitution for a JAXB property representing with too restrictive of a
-default base type. It also can be used to provide stronger typing for
-the binding of an element/attribute of type xs:IDREF._
-
- _</xs:documentation></xs:annotation>_
-
- _</xs:attribute>_
-
- </xs:complexType>
-
-<xs:complexType name = "packageType">
-
- <xs:sequence>
-
- <xs:element name = "javadoc" type =
-"xs:string" minOccurs = "0"/>
-
- </xs:sequence>
-
- <xs:attribute name = "name" type =
-"jaxb:javaIdentifierType"/>
-
- </xs:complexType>
-
- <xs:simpleType name =
-"underscoreBindingType">
-
- _<xs:annotation>_
-
- _<xs:documentation> +
-Treate underscore in XML Name to Java identifier mapping. +
-</xs:documentation>_
-
- _</xs:annotation>_
-
- <xs:restriction base = "xs:string">
-
- <xs:enumeration value = "asWordSeparator"/>
-
- <xs:enumeration value = "asCharInWord"/>
-
- </xs:restriction>
-
- </xs:simpleType>
-
- <xs:simpleType name =
-"typesafeEnumBaseType">
-
- _<xs:annotation>_
-
- _<xs:documentation> +
-XML types or types derived from them which have enumeration facet(s)
-which are be mapped to typesafeEnumClass by default. The following types
-cannot be specified in this list: "xsd:QName", "xsd:base64Binary",
-"xsd:hexBinary", "xsd:date", "xsd:time", "xsd:dateTime",
-"xsd:duration","xsd:gDay", "xsd:gMonth", "xsd:Year", "xsd:gMonthDay",
-"xsd:gYearMonth",_ _"xsd:ID", "xsd:IDREF", "xsd:NOTATION"_
-
- _</xs:documentation>_
-
- _</xs:annotation>_
-
- <xs:list itemType = "xs:QName"/>
-
- </xs:simpleType>
-
- <xs:simpleType name =
-"typesafeEnumMemberNameType">
-
- _<xs:annotation><xs:documentation> +
-Used to customize how to handle name collisions._
-
- _</xs:documentation></xs:annotation>_
-
- <xs:restriction base = "xs:string">
-
- <xs:enumeration value = "generateName"/>
-
- <xs:enumeration value = "generateError"/>
-
- _<xs:enumeration value = "skipGeneration"/>_
-
- </xs:restriction>
-
- </xs:simpleType>
-
- <xs:simpleType name = "javaIdentifierType">
-
- _<xs:annotation>_
-
- _<xs:documentation>Placeholder type to
-indicate Legal Java identifier.</xs:documentation>_
-
- _</xs:annotation>_
-
- <xs:list itemType = "xs:NCName"/>
-
- </xs:simpleType>
-
- <xs:complexType name =
-"nameXmlTransformRule">
-
- _<xs:annotation>_
-
- _<xs:documentation>Rule to transform an Xml
-name into another Xml name</xs:documentation>_
-
- _</xs:annotation>_
-
- <xs:attribute name = "prefix" type =
-"xs:string">
-
- _<xs:annotation>_
-
- _<xs:documentation>prepend the string to
-QName.</xs:documentation>_
-
- _</xs:annotation>_
-
- </xs:attribute>
-
- <xs:attribute name = "suffix" type =
-"xs:string">
-
- _<xs:annotation>_
-
- _<xs:documentation>Append the string to
-QName.</xs:documentation>_
-
- _</xs:annotation>_
-
- </xs:attribute>
-
- </xs:complexType>
-
- <xs:complexType name =
-"nameXmlTransformType">
-
- _<xs:annotation><xs:documentation>_
-
- _Allows transforming an xml name into
-another xml name. Use case UDDI 2.0
-schema.</xs:documentation></xs:annotation>_
-
- <xs:all>
-
- <xs:element name = "typeName" type =
-"jaxb:nameXmlTransformRule" minOccurs = "0">
-
- _<xs:annotation><xs:documentation>Mapping
-rule for type definitions.</xs:documentation></xs:annotation>_
-
- </xs:element>
-
- <xs:element name = "elementName" type =
-"jaxb:nameXmlTransformRule" minOccurs = "0">
-
- _<xs:annotation><xs:documentation>Mapping
-rule for elements</xs:documentation></xs:annotation>_
-
- </xs:element>
-
- <xs:element name = "modelGroupName" type =
-"jaxb:nameXmlTransformRule" minOccurs = "0">
-
- _<xs:annotation>_
-
- _<xs:documentation>Mapping rule for model
-group</xs:documentation>_
-
- _</xs:annotation>_
-
- </xs:element>
-
- <xs:element name = "anonymousTypeName" type
-= "jaxb:nameXmlTransformRule" minOccurs = "0">
-
- _<xs:annotation>_
-
- _<xs:documentation>Mapping rule for class
-names generated for an anonymous type.</xs:documentation>_
-
- _</xs:annotation>_
-
- </xs:element>
-
- </xs:all>
-
- </xs:complexType>
-
- <xs:attribute name =
-"extensionBindingPrefixes">
-
- _<xs:annotation>_
-
- _<xs:documentation>_
-
- _A schema compiler only processes this
-attribute when it occurs on an_
-
- _an instance of xs:schema element. The value
-of this attribute is a_
-
- _whitespace-separated list of namespace
-prefixes. The namespace bound_
-
- _to each of the prefixes is designated as a
-customization declaration_
-
- _namespace._
-
- _</xs:documentation>_
-
- _</xs:annotation>_
-
- <xs:simpleType>
-
- <xs:list itemType = "xs:normalizedString"/>
-
- </xs:simpleType>
-
- </xs:attribute>
-
- <xs:element name = "bindings">
-
- _<xs:annotation>_
-
- _<xs:documentation> +
-Binding declaration(s) for a remote schema. If attribute node is set,
-the binding declaraions are associated with part of the remote schema
-designated by schemaLocation attribute. The node attribute identifies
-the node in the remote schema to associate the binding declaration(s)
-with._
-
- _</xs:documentation>_
-
- _</xs:annotation>_
-
- _<!-- a <bindings> element can contain
-arbitrary number of binding declarations or nested <bindings> elements
--->_
-
- <xs:complexType>
-
- <xs:sequence>
-
- <xs:choice minOccurs = "0" maxOccurs =
-"unbounded">
-
- <xs:group ref = "jaxb:declaration"/>
-
- <xs:element ref = "jaxb:bindings"/>
-
- </xs:choice>
-
- </xs:sequence>
-
- <xs:attribute name = "schemaLocation" type =
-"xs:anyURI">
-
- _<xs:annotation>_
-
- _<xs:documentation>_
-
- _Location of the remote schema to associate
-binding declarations with._
-
- _</xs:documentation>_
-
- _</xs:annotation>_
-
- </xs:attribute>
-
- <xs:attribute name = "node" type =
-"xs:string">
-
- _<xs:annotation>_
-
- _<xs:documentation>_
-
- _The value of the string is an XPATH 1.0
-compliant string that resolves to a node in a remote schema to associate
-binding declarations with. The remote schema is specified by the
-schemaLocation attribute occuring in the current element or in a parent
-of this element. </xs:documentation>_
-
- _</xs:annotation>_
-
- </xs:attribute>
-
- <xs:attribute name = "version" type =
-"xs:token">
-
- _<xs:annotation>_
-
- _<xs:documentation>_
-
- _Used to indicate the version of binding
-declarations. Only valid on root level bindings element. Either this or
-"jaxb:version" attribute but not both may be specified.
-</xs:documentation>_
-
- _</xs:annotation>_
-
- </xs:attribute>
-
- <xs:attribute ref = "jaxb:version">
-
- _<xs:annotation>_
-
- _<xs:documentation>_
-
- _Used to indicate the version of binding
-declarations. Only valid on root level bindings element. Either this
-attribute or "version" attribute but not both may be
-specified.</xs:documentation>_
-
- _</xs:annotation>_
-
- _</xs:attribute>_
-
- </xs:complexType>
-
- </xs:element>
-
- <xs:simpleType
-name="referenceCollectionType">
-
- <xs:union>
-
- <xs:simpleType>
-
- <xs:restriction base="xs:string">
-
- <xs:enumeration value="indexed"/>
-
- </xs:restriction>
-
- </xs:simpleType>
-
- <xs:simpleType>
-
- <xs:restriction
-base="jaxb:javaIdentifierType"/>
-
- </xs:simpleType>
-
- </xs:union>
-
- </xs:simpleType>
-
- _<xs:element name="dom">_
-
- _<xs:complexType>_
-
- _<xs:attribute name = "type"
-type="xs:NCName" default="w3c">_
-
- _<xs:annotation><xs:documentation>Specify
-DOM API to bind to JAXB property to.<xs:documentation></xs:annotation>_
-
- _</xs:attribute>_
-
- _</xs:complexType>_
-
- _</xs:element>_
-
- _<xs:element name="inlineBinaryData">_
-
- _<xs:annotation> <xs:documentation> +
-Disable MTOM/XOP encoding for this binary data. Annotation can be placed
-on a type defintion that derives from a W3C XSD binary data type or on
-an element that has a type that is or derives from a W3C XSD binary data
-type._
-
- _</xs:documentation></xs:annotation>_
-
- _</xs:element>_
-
- _<xs:element name = "serializable">_
-
- _<xs:complexType>_
-
- _<xs:attribute name="uid" type="xs:long"
-default="1"/> +
-</xs:complexType>_
-
- _</xs:element>_
-
+  <xs:complexType name = "packageType">
+    <xs:sequence>
+      <xs:element name = "javadoc" type = "xs:string" minOccurs = "0"/>
+    </xs:sequence>
+    <xs:attribute name = "name" type = "jaxb:javaIdentifierType"/>
+  </xs:complexType>
+  <xs:simpleType name = "underscoreBindingType">
+    <xs:annotation>
+      <xs:documentation>Treate underscore  in XML Name to Java identifier mapping.</xs:documentation>
+    </xs:annotation>
+    <xs:restriction base = "xs:string">
+      <xs:enumeration value = "asWordSeparator"/>
+      <xs:enumeration value = "asCharInWord"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name = "typesafeEnumBaseType">
+    <xs:annotation>
+      <xs:documentation>
+        XML types or types derived from them which have enumeration facet(s)
+        which are be mapped to typesafeEnumClass by default.
+        The following types cannot be specified in this list:
+         "xsd:QName", "xsd:base64Binary", "xsd:hexBinary",
+         "xsd:date", "xsd:time", "xsd:dateTime", "xsd:duration",
+         "xsd:gDay", "xsd:gMonth", "xsd:Year", "xsd:gMonthDay", "xsd:YearMonth"
+      </xs:documentation>
+    </xs:annotation>
+    <xs:list itemType = "xs:QName"/>
+  </xs:simpleType>
+  <xs:simpleType name = "typesafeEnumMemberNameType">
+    <xs:annotation>
+      <xs:documentation>Used to customize how to handle name collisions.</xs:documentation>
+    </xs:annotation>
+    <xs:restriction base = "xs:string">
+      <xs:enumeration value = "generateName"/>
+      <xs:enumeration value = "generateError"/>
+      <xs:enumeration value = "skipGeneration"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name = "javaIdentifierType">
+    <xs:annotation>
+      <xs:documentation>Placeholder type to indicate Legal Java identifier.</xs:documentation>
+    </xs:annotation>
+    <xs:list itemType = "xs:NCName"/>
+  </xs:simpleType>
+  <xs:complexType name = "nameXmlTransformRule">
+    <xs:annotation>
+      <xs:documentation>Rule to transform an Xml name into another Xml name</xs:documentation>
+    </xs:annotation>
+    <xs:attribute name = "prefix" type = "xs:string">
+      <xs:annotation>
+        <xs:documentation>prepend the string to QName.</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name = "suffix" type = "xs:string">
+      <xs:annotation>
+        <xs:documentation>Append the string to QName.</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+  </xs:complexType>
+  <xs:complexType name = "nameXmlTransformType">
+    <xs:annotation>
+      <xs:documentation>Allows transforming an xml name into another xml name. Use case UDDI 2.0 schema.</xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element name = "typeName" type = "jaxb:nameXmlTransformRule" minOccurs = "0">
+        <xs:annotation>
+          <xs:documentation>Mapping rule for type definitions.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name = "elementName" type = "jaxb:nameXmlTransformRule" minOccurs = "0">
+        <xs:annotation>
+          <xs:documentation>Mapping rule for elements</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name = "modelGroupName" type = "jaxb:nameXmlTransformRule" minOccurs = "0">
+        <xs:annotation>
+          <xs:documentation>Mapping rule  for model group</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name = "anonymousTypeName" type = "jaxb:nameXmlTransformRule" minOccurs = "0">
+        <xs:annotation>
+          <xs:documentation>Mapping rule for class names generated for an anonymous type.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:attribute name = "extensionBindingPrefixes">
+    <xs:annotation>
+      <xs:documentation>
+        A binding compiler only processes this attribute when it occurs on an
+        an instance of xs:schema element.  The value of this attribute is a
+        whitespace-separated list of namespace prefixes.  The namespace bound
+        to each of the prefixes is designated as a customization declaration
+        namespace.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:simpleType>
+      <xs:list itemType = "xs:normalizedString"/>
+    </xs:simpleType>
+  </xs:attribute>
+  <xs:element name = "bindings">
+    <xs:annotation>
+      <xs:documentation>
+        Binding declaration(s) for a remote schema.
+        If attribute node is set, the binding declaraions
+        are associated with part of the remote schema
+        designated by schemaLocation attribute. The node
+        attribute identifies the node in the remote schema
+        to associate the binding declaration(s) with.
+      </xs:documentation>
+    </xs:annotation>
+    <!-- a <bindings> element can contain arbitrary number of binding declarations or nested <bindings> elements -->
+    <xs:complexType>
+      <xs:sequence>
+        <xs:choice minOccurs = "0" maxOccurs = "unbounded">
+          <xs:group ref = "jaxb:declaration"/>
+          <xs:element ref = "jaxb:bindings"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name = "schemaLocation" type = "xs:anyURI">
+        <xs:annotation>
+          <xs:documentation>
+            Location of the remote schema to associate binding declarations with.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name = "node" type = "xs:string">
+        <xs:annotation>
+          <xs:documentation>
+            The value of the string is an XPATH 1.0 compliant string that
+            resolves to a node in a remote schema to associate
+            binding declarations with. The remote schema is specified
+            by the schemaLocation attribute occuring in the current
+            element or in a parent of this element.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute name = "version" type = "xs:token">
+        <xs:annotation>
+          <xs:documentation>
+            Used to indicate the version of binding declarations. Only valid on root level bindings element.
+            Either this or "jaxb:version" attribute but not both may be specified.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+      <xs:attribute ref = "jaxb:version">
+        <xs:annotation>
+          <xs:documentation>
+            Used to indicate the version of binding declarations. Only valid on root level bindings element.
+            Either this attribute or "version" attribute but not both may be specified.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:simpleType name="referenceCollectionType">
+    <xs:union>
+      <xs:simpleType>
+        <xs:restriction base="xs:string">
+          <xs:enumeration value="indexed"/>
+        </xs:restriction>
+      </xs:simpleType>
+      <xs:simpleType>
+        <xs:restriction base="jaxb:javaIdentifierType"/>
+      </xs:simpleType>
+    </xs:union>
+  </xs:simpleType>
+  <xs:element name="dom">
+    <xs:complexType>
+      <xs:attribute name = "type" type="xs:NCName" default="w3c">
+        <xs:annotation>
+          <xs:documentation>Specify DOM API to bind to JAXB property to.</xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="inlineBinaryData">
+    <xs:annotation>
+      <xs:documentation>
+        Disable MTOM/XOP encoding for this binary data. Annotation can be placed on a type definition that
+        derives from a W3C XSD binary data type or on an element that has a type that is
+        or derives from a W3C XSD binary data type.
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name = "serializable">
+    <xs:complexType>
+      <xs:attribute name="uid" type="xs:long" default="1"/>
+    </xs:complexType>
+  </xs:element>
 </xs:schema>
-
+----