blob: bfd26713a7f30a48e9bf30874d862fdbae09d455 [file] [log] [blame]
//
// 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"}.