background image

External Binding Customization Files

<< Inline Customizations | Restrictions for External Binding Customizations >>
<< Inline Customizations | Restrictions for External Binding Customizations >>
38
U
SING
JAXB
External Binding Customization Files
Customizations to JAXB bindings made by means of an external file containing
binding declarations take the general form shown below.
<jxb:bindings schemaLocation = "xs:anyURI">
<jxb:bindings node = "xs:string">*
<binding declaration>
<jxb:bindings>
</jxb:bindings>
·
schemaLocation
is a URI reference to the remote schema
·
node
is an XPath 1.0 expression that identifies the schema node within
schemaLocation
to which the given binding declaration is associated.
For example, the first
schemaLocation
/
node
declaration in a JAXB binding dec-
larations file specifies the schema name and the root schema node:
<jxb:bindings schemaLocation="po.xsd" node="/xs:schema">
A subsequent
schemaLocation/node
declaration, say for a
simpleType
element
named
ZipCodeType
in the above schema, would take the form:
<jxb:bindings node="//xs:simpleType[@name='ZipCodeType']">
Binding Customization File Format
Binding customization files should be straight ASCII text. The name or exten-
sion does not matter, although a typical extension, used in this chapter, is
.xjb
.
Passing Customization Files to the JAXB Binding
Compiler
Customization files containing binding declarations are passed to the JAXB
Binding compiler,
xjc
, using the following syntax:
xjc -b <file> <schema>
where
<file>
is the name of binding customization file, and
<schema>
is the
name of the schema(s) you want to pass to the binding compiler.