Class XIncluder
Implements XInclude resolution as specified in
XML Inclusions (XInclude) Version
1.0. Fallbacks are supported.
The XPointer element()
scheme and
shorthand XPointers are also supported. The XPointer
xpointer()
scheme is not supported.
The accept
and accept-language
attributes are supported.
- Version:
- 1.3.9
- Author:
- Elliotte Rusty Harold
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
The namespace name of all XInclude elements. -
Method Summary
Modifier and TypeMethodDescriptionstatic Document
Returns a copy of the document in which allxinclude:include
elements have been replaced by their referenced content.static Document
Returns a copy of the document in which allxinclude:include
elements have been replaced by their referenced content as loaded by the builder.static void
Modifies a document by replacing allxinclude:include
elements by their referenced content.static void
resolveInPlace
(Document in, Builder builder) Modifies a document by replacing allxinclude:include
elements with their referenced content as loaded by the builder.
-
Field Details
-
XINCLUDE_NS
The namespace name of all XInclude elements.
- See Also:
-
-
Method Details
-
resolve
public static Document resolve(Document in) throws BadParseAttributeException, InclusionLoopException, IOException, NoIncludeLocationException, ParsingException, UnsupportedEncodingException, XIncludeException Returns a copy of the document in which all
xinclude:include
elements have been replaced by their referenced content. The originalDocument
object is not modified. Resolution is recursive; that is, include elements in the included documents are themselves resolved. TheDocument
returned contains no include elements.- Parameters:
in
- the document in which include elements should be resolved- Returns:
- copy of the document in which
all
xinclude:include
elements have been replaced by their referenced content - Throws:
BadParseAttributeException
- if aninclude
element has aparse
attribute with any value other thantext
orparse
InclusionLoopException
- if the document contains an XInclude element that attempts to include a document in which this element is directly or indirectly included.IOException
- if an included document could not be loaded, and no fallback was availableNoIncludeLocationException
- if anxinclude:include
element does not have anhref
attributeParsingException
- if an included XML document was malformedUnsupportedEncodingException
- if an included document used an encoding this parser does not support, and no fallback was availableXIncludeException
- if the document violates the syntax rules of XIncludeXMLException
- if resolving an include element would result in a malformed document
-
resolve
public static Document resolve(Document in, Builder builder) throws BadParseAttributeException, InclusionLoopException, IOException, NoIncludeLocationException, ParsingException, UnsupportedEncodingException, XIncludeException Returns a copy of the document in which all
xinclude:include
elements have been replaced by their referenced content as loaded by the builder. The originalDocument
object is not modified. Resolution is recursive; that is, include elements in the included documents are themselves resolved. The document returned contains noinclude
elements.- Parameters:
in
- the document in which include elements should be resolvedbuilder
- the builder used to build the nodes included from other documents- Returns:
- copy of the document in which
all
xinclude:include
elements have been replaced by their referenced content - Throws:
BadParseAttributeException
- if aninclude
element has aparse
attribute with any value other thantext
orparse
InclusionLoopException
- if the document contains an XInclude element that attempts to include a document in which this element is directly or indirectly included.IOException
- if an included document could not be loaded, and no fallback was availableNoIncludeLocationException
- if anxinclude:include
element does not have an href attribute.ParsingException
- if an included XML document was malformedUnsupportedEncodingException
- if an included document used an encoding this parser does not support, and no fallback was availableXIncludeException
- if the document violates the syntax rules of XIncludeXMLException
- if resolving an include element would result in a malformed document
-
resolveInPlace
public static void resolveInPlace(Document in) throws BadParseAttributeException, InclusionLoopException, IOException, NoIncludeLocationException, ParsingException, UnsupportedEncodingException, XIncludeException Modifies a document by replacing all
xinclude:include
elements by their referenced content. Resolution is recursive; that is, include elements in the included documents are themselves resolved. The resolved document contains noxinclude:include
elements.If the inclusion fails for any reason—XInclude syntax error, missing resource with no fallback, etc.—the document may be left in a partially resolved state.
- Parameters:
in
- the document in which include elements should be resolved- Throws:
BadParseAttributeException
- if aninclude
element has aparse
attribute with any value other thantext
orparse
InclusionLoopException
- if the document contains an XInclude element that attempts to include a document in which this element is directly or indirectly includedIOException
- if an included document could not be loaded, and no fallback was availableNoIncludeLocationException
- if anxinclude:include
element does not have anhref
attributeParsingException
- if an included XML document was malformedUnsupportedEncodingException
- if an included document used an encoding this parser does not support, and no fallback was availableXIncludeException
- if the document violates the syntax rules of XIncludeXMLException
- if resolving an include element would result in a malformed document
-
resolveInPlace
public static void resolveInPlace(Document in, Builder builder) throws BadParseAttributeException, InclusionLoopException, IOException, NoIncludeLocationException, ParsingException, UnsupportedEncodingException, XIncludeException Modifies a document by replacing all
xinclude:include
elements with their referenced content as loaded by the builder. Resolution is recursive; that is,include
elements in the included documents are themselves resolved. The resolved document contains noxinclude:include
elements.If the inclusion fails for any reason — XInclude syntax error, missing resource with no fallback, etc. — the document may be left in a partially resolved state.
- Parameters:
in
- the document in which include elements should be resolvedbuilder
- the builder used to build the nodes included from other documents- Throws:
BadParseAttributeException
- if aninclude
element has aparse
attribute with any value other thantext
orparse
InclusionLoopException
- if this element contains an XInclude element that attempts to include a document in which this element is directly or indirectly includedIOException
- if an included document could not be loaded, and no fallback was availableNoIncludeLocationException
- if anxinclude:include
element does not have anhref
attribute.ParsingException
- if an included XML document was malformedUnsupportedEncodingException
- if an included document used an encoding this parser does not support, and no fallback was availableXIncludeException
- if the document violates the syntax rules of XIncludeXMLException
- if resolving an include element would result in a malformed document
-