| // |
| // Copyright (c) 2020 Contributors to the Eclipse Foundation |
| // |
| |
| include::ch01-introduction.adoc[] |
| include::ch02-requirements.adoc[] |
| include::ch03-architecture.adoc[] |
| include::ch04-binding_framework.adoc[] |
| include::ch05-java_representation.adoc[] |
| include::ch06-binding_xml_schema.adoc[] |
| include::ch07-customize_xml_schema.adoc[] |
| include::ch08-java_types.adoc[] |
| include::ch09-compatibility.adoc[] |
| |
| include::appA-references.adoc[] |
| include::appB-runtime_processing.adoc[] |
| include::appC-normative_schema.adoc[] |
| include::appD-binding_xml.adoc[] |
| include::appE-external_binding.adoc[] |
| include::appF-xml_schema.adoc[] |
| include::appG-deprecated.adoc[] |
| include::appH-binary_data.adoc[] |
| include::appI-changelog.adoc[] |
| |
| ''''' |
| |
| [.footnoteNumber]# 21.# [[a5372]]Note that |
| link:jaxb.html#a1084[See Binding of an anonymous complex type |
| definition]” defines the name and package property for anonymous type |
| definitions occurring within an element declaration. |
| |
| [.footnoteNumber]# 22.# [[a5373]]Element substitution |
| extensibility does allow element substitution(s) to be defined in a |
| separate schema than a global element reference occurs. When schemas are |
| not compiled at same time, the schema to java binding declaration, |
| <jaxb:property generateElementProperty=”true”/> described in |
| link:jaxb.html#a1786[See Usage] forces the generation of an |
| element property for a global element reference, independent of it not |
| belonging to a element substitution group. |
| |
| [.footnoteNumber]# 23.# [[a5374]]The desire to reduce |
| the overall number of schema-derived classes generated by default |
| influenced the decision to default to binding an element declaration to |
| an element instance factory. A customization described in |
| link:jaxb.html#a1580[See <globalBindings> Declaration] exists |
| that binds each element declaration to a Java element class so element |
| substitution checking can be enforced entirely by strongly typed method |
| signatures. |
| |
| [.footnoteNumber]# 24.# [[a5375]]Specifying a |
| customization of the local element declaration A within Derived complex |
| type to a different property name than A would avoid the fallback |
| position for this case. |
| |
| [.footnoteNumber]# 25.# [[a5376]]Note that primitive |
| Java types must be represented by their Java wrapper classes when base |
| type is used in the choice content property method signatures. Also, all |
| sequence descendants of the choice are treated as either a general |
| content property or are mapped to their own value class. |
| |
| [.footnoteNumber]# 26.# [[a5377]]XML schema does not |
| associate anonymous types with a specific symbol space. However, |
| _nameXmlTransform_ is used since it provides a convenient way to |
| customize the value class to which an anonymous type is bound. |
| |
| [.footnoteNumber]# 27.# [[a5378]]There is no need to |
| standardize the name of the generated class since |
| _@XmlJavaTypeAdapter.value()_ references the class. |
| |
| [.footnoteNumber]# 28.# [[a5379]]There is no need to |
| standardize the name of the generated class since |
| _@XmlJavaTypeAdapter.value()_ references the class. |
| |
| [.footnoteNumber]# 29.# [[a5380]]Exception case: |
| Underscore is not considered a punctuation mark for schema customization |
| _<jaxb:globalBindings underscoreHandling="asCharInWord"/>_ specified in |
| link:jaxb.html#a1613[See Underscore Handling]". For this |
| customization, underscore is considered a special letter that never |
| results in a word break as defined in link:jaxb.html#a4681[See |
| XML Word Breaks] and it is definitely not considered an uncased letter. |
| See example bindings in link:jaxb.html#a4755[See XML Names and |
| derived Java Class, Method, and Constant Names when <jaxb:globalBindings |
| underscoreHandling=”asCharInWord”>]. |
| |
| [.footnoteNumber]# 30.# [[a5381]]Sample URN |
| "urn:hl7-org:v3" \{"h17-org", "v3") transforms to \{"h17.org", "v3"}. |