public class W3CDom
extends java.lang.Object
Document
to a org.w3c.dom.Document
,
for integration with toolsets that use the W3C DOM.Modifier and Type | Class and Description |
---|---|
protected static class |
W3CDom.W3CBuilder
Implements the conversion by walking the input.
|
Modifier and Type | Field and Description |
---|---|
private static java.lang.String |
ContextNodeProperty |
private static java.lang.String |
ContextProperty |
protected javax.xml.parsers.DocumentBuilderFactory |
factory |
private boolean |
namespaceAware |
static java.lang.String |
SourceProperty
For W3C Documents created by this class, this property is set on each node to link back to the original jsoup node.
|
static java.lang.String |
XPathFactoryProperty
To get support for XPath versions > 1, set this property to the classname of an alternate XPathFactory
implementation.
|
Constructor and Description |
---|
W3CDom() |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
asString(org.w3c.dom.Document doc)
Serialize a W3C document to a String.
|
static java.lang.String |
asString(org.w3c.dom.Document doc,
java.util.Map<java.lang.String,java.lang.String> properties)
Serialize a W3C document to a String.
|
org.w3c.dom.Node |
contextNode(org.w3c.dom.Document wDoc)
For a Document created by
fromJsoup(org.jsoup.nodes.Element) , retrieves the W3C context node. |
static org.w3c.dom.Document |
convert(Document in)
Converts a jsoup DOM to a W3C DOM.
|
void |
convert(Document in,
org.w3c.dom.Document out)
Converts a jsoup document into the provided W3C Document.
|
void |
convert(Element in,
org.w3c.dom.Document out)
Converts a jsoup element into the provided W3C Document.
|
org.w3c.dom.Document |
fromJsoup(Document in)
Convert a jsoup Document to a W3C Document.
|
org.w3c.dom.Document |
fromJsoup(Element in)
Convert a jsoup DOM to a W3C Document.
|
private static java.util.HashMap<java.lang.String,java.lang.String> |
methodMap(java.lang.String method) |
boolean |
namespaceAware()
Returns if this W3C DOM is namespace aware.
|
W3CDom |
namespaceAware(boolean namespaceAware)
Update the namespace aware setting.
|
static java.util.HashMap<java.lang.String,java.lang.String> |
OutputHtml()
Canned default for HTML output.
|
static java.util.HashMap<java.lang.String,java.lang.String> |
OutputXml()
Canned default for XML output.
|
(package private) static java.util.Properties |
propertiesFromMap(java.util.Map<java.lang.String,java.lang.String> map) |
org.w3c.dom.NodeList |
selectXpath(java.lang.String xpath,
org.w3c.dom.Document doc)
Evaluate an XPath query against the supplied document, and return the results.
|
org.w3c.dom.NodeList |
selectXpath(java.lang.String xpath,
org.w3c.dom.Node contextNode)
Evaluate an XPath query against the supplied context node, and return the results.
|
<T extends Node> |
sourceNodes(org.w3c.dom.NodeList nodeList,
java.lang.Class<T> nodeType)
Retrieves the original jsoup DOM nodes from a nodelist created by this convertor.
|
public static final java.lang.String SourceProperty
private static final java.lang.String ContextProperty
private static final java.lang.String ContextNodeProperty
public static final java.lang.String XPathFactoryProperty
net.sf.saxon.xpath.XPathFactoryImpl
).protected javax.xml.parsers.DocumentBuilderFactory factory
private boolean namespaceAware
public boolean namespaceAware()
true
, but is disabled for simplicity
when using XPath selectors in Element.selectXpath(String)
.public W3CDom namespaceAware(boolean namespaceAware)
namespaceAware
- the updated settingpublic static org.w3c.dom.Document convert(Document in)
in
- jsoup Documentpublic static java.lang.String asString(org.w3c.dom.Document doc, @Nullable java.util.Map<java.lang.String,java.lang.String> properties)
null
), the output will be auto-detected based on the content of the
document.doc
- Documentproperties
- (optional/nullable) the output properties to use. See Transformer.setOutputProperties(Properties)
and OutputKeys
OutputHtml()
,
OutputXml()
,
OutputKeys.ENCODING
,
OutputKeys.OMIT_XML_DECLARATION
,
OutputKeys.STANDALONE
,
OutputKeys.STANDALONE
,
OutputKeys.DOCTYPE_PUBLIC
,
OutputKeys.CDATA_SECTION_ELEMENTS
,
OutputKeys.INDENT
,
OutputKeys.MEDIA_TYPE
static java.util.Properties propertiesFromMap(java.util.Map<java.lang.String,java.lang.String> map)
public static java.util.HashMap<java.lang.String,java.lang.String> OutputHtml()
public static java.util.HashMap<java.lang.String,java.lang.String> OutputXml()
private static java.util.HashMap<java.lang.String,java.lang.String> methodMap(java.lang.String method)
public org.w3c.dom.Document fromJsoup(Document in)
SourceProperty
(but after conversion, changes on one side will not
flow to the other).in
- jsoup docpublic org.w3c.dom.Document fromJsoup(Element in)
SourceProperty
(but after conversion, changes on one side will not
flow to the other). The input Element is used as a context node, but the whole surrounding jsoup Document is
converted. (If you just want a subtree converted, use convert(org.jsoup.nodes.Element, Document)
.)in
- jsoup element or docsourceNodes(NodeList, Class)
,
contextNode(Document)
public void convert(Document in, org.w3c.dom.Document out)
in
- jsoup docout
- w3c docfromJsoup(org.jsoup.nodes.Element)
public void convert(Element in, org.w3c.dom.Document out)
in
- jsoup elementout
- w3c docfromJsoup(org.jsoup.nodes.Element)
public org.w3c.dom.NodeList selectXpath(java.lang.String xpath, org.w3c.dom.Document doc)
xpath
- an XPath querydoc
- the document to evaluate againstpublic org.w3c.dom.NodeList selectXpath(java.lang.String xpath, org.w3c.dom.Node contextNode)
xpath
- an XPath querycontextNode
- the context node to evaluate againstpublic <T extends Node> java.util.List<T> sourceNodes(org.w3c.dom.NodeList nodeList, java.lang.Class<T> nodeType)
T
- node typenodeList
- the W3C nodes to get the original jsoup nodes fromnodeType
- the jsoup node type to retrieve (e.g. Element, DataNode, etc)public org.w3c.dom.Node contextNode(org.w3c.dom.Document wDoc)
fromJsoup(org.jsoup.nodes.Element)
, retrieves the W3C context node.wDoc
- Document created by this classpublic java.lang.String asString(org.w3c.dom.Document doc)
doc
- DocumentasString(Document, Map)