Class XIncluder
- java.lang.Object
-
- nu.xom.xinclude.XIncluder
-
public class XIncluder extends java.lang.ObjectImplements 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 XPointerxpointer()scheme is not supported. Theacceptandaccept-languageattributes are supported.- Version:
- 1.3.9
- Author:
- Elliotte Rusty Harold
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringXINCLUDE_NSThe namespace name of all XInclude elements.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Documentresolve(Document in)Returns a copy of the document in which allxinclude:includeelements have been replaced by their referenced content.static Documentresolve(Document in, Builder builder)Returns a copy of the document in which allxinclude:includeelements have been replaced by their referenced content as loaded by the builder.static voidresolveInPlace(Document in)Modifies a document by replacing allxinclude:includeelements by their referenced content.static voidresolveInPlace(Document in, Builder builder)Modifies a document by replacing allxinclude:includeelements with their referenced content as loaded by the builder.
-
-
-
Field Detail
-
XINCLUDE_NS
public static final java.lang.String XINCLUDE_NS
The namespace name of all XInclude elements.
- See Also:
- Constant Field Values
-
-
Method Detail
-
resolve
public static Document resolve(Document in) throws BadParseAttributeException, InclusionLoopException, java.io.IOException, NoIncludeLocationException, ParsingException, java.io.UnsupportedEncodingException, XIncludeException
Returns a copy of the document in which all
xinclude:includeelements have been replaced by their referenced content. The originalDocumentobject is not modified. Resolution is recursive; that is, include elements in the included documents are themselves resolved. TheDocumentreturned contains no include elements.- Parameters:
in- the document in which include elements should be resolved- Returns:
- copy of the document in which
all
xinclude:includeelements have been replaced by their referenced content - Throws:
BadParseAttributeException- if anincludeelement has aparseattribute with any value other thantextorparseInclusionLoopException- if the document contains an XInclude element that attempts to include a document in which this element is directly or indirectly included.java.io.IOException- if an included document could not be loaded, and no fallback was availableNoIncludeLocationException- if anxinclude:includeelement does not have anhrefattributeParsingException- if an included XML document was malformedjava.io.UnsupportedEncodingException- 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, java.io.IOException, NoIncludeLocationException, ParsingException, java.io.UnsupportedEncodingException, XIncludeException
Returns a copy of the document in which all
xinclude:includeelements have been replaced by their referenced content as loaded by the builder. The originalDocumentobject is not modified. Resolution is recursive; that is, include elements in the included documents are themselves resolved. The document returned contains noincludeelements.- 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:includeelements have been replaced by their referenced content - Throws:
BadParseAttributeException- if anincludeelement has aparseattribute with any value other thantextorparseInclusionLoopException- if the document contains an XInclude element that attempts to include a document in which this element is directly or indirectly included.java.io.IOException- if an included document could not be loaded, and no fallback was availableNoIncludeLocationException- if anxinclude:includeelement does not have an href attribute.ParsingException- if an included XML document was malformedjava.io.UnsupportedEncodingException- 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, java.io.IOException, NoIncludeLocationException, ParsingException, java.io.UnsupportedEncodingException, XIncludeException
Modifies a document by replacing all
xinclude:includeelements by their referenced content. Resolution is recursive; that is, include elements in the included documents are themselves resolved. The resolved document contains noxinclude:includeelements.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 anincludeelement has aparseattribute with any value other thantextorparseInclusionLoopException- if the document contains an XInclude element that attempts to include a document in which this element is directly or indirectly includedjava.io.IOException- if an included document could not be loaded, and no fallback was availableNoIncludeLocationException- if anxinclude:includeelement does not have anhrefattributeParsingException- if an included XML document was malformedjava.io.UnsupportedEncodingException- 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, java.io.IOException, NoIncludeLocationException, ParsingException, java.io.UnsupportedEncodingException, XIncludeException
Modifies a document by replacing all
xinclude:includeelements with their referenced content as loaded by the builder. Resolution is recursive; that is,includeelements in the included documents are themselves resolved. The resolved document contains noxinclude:includeelements.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 anincludeelement has aparseattribute with any value other thantextorparseInclusionLoopException- if this element contains an XInclude element that attempts to include a document in which this element is directly or indirectly includedjava.io.IOException- if an included document could not be loaded, and no fallback was availableNoIncludeLocationException- if anxinclude:includeelement does not have anhrefattribute.ParsingException- if an included XML document was malformedjava.io.UnsupportedEncodingException- 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
-
-