com.mycila.xmltool
public interface XMLTag
Method Summary | |
---|---|
XMLTag | addAttribute(String name, String value)
Create a new attribute for the current node
|
XMLTag | addAttribute(Attr attr)
Add given attribute to current element
|
XMLTag | addCDATA(String data)
Add a data node under the current node, and jump to the parent node. |
XMLTag | addCDATA(CDATASection data)
Add a CDATA note to the current tag
|
XMLTag | addDocument(XMLTag tag)
Inserts another XMLTag instance under the current tag. |
XMLTag | addDocument(Document doc)
Inserts another org.w3c.dom.Document instance under the current tag
|
XMLTag | addNamespace(String prefix, String namespaceURI)
Add a namespace to the document
|
XMLTag | addTag(String name)
Create a tag under the current location and use it as the current node
|
XMLTag | addTag(XMLTag tag)
Inserts another XMLTag tag hierarchy under the current tag. |
XMLTag | addTag(Element tag)
Inserts a org.w3c.dom.Element instance and its hierarchy under the current tag
|
XMLTag | addText(String text)
Add a text node under the current node, and jump to the parent node. |
XMLTag | addText(Text text)
Add a text note to the current tag
|
XMLTag | delete()
Delete current tag and its childs. |
XMLTag | deleteAttribute(String name)
Delete an attribute of the current node.
|
XMLTag | deleteAttributeIfExists(String name)
Delete an attribute of the current node, if it exists
|
XMLTag | deleteAttributes()
Delete all existing attributes of current node
|
XMLTag | deleteChilds()
Delete all existing elements of this node
|
XMLTag | deletePrefixes()
Remove any prefix and namespaces contained in the tag name, childs and attributes, thus changing namespace and tag name.
|
XMLTag | duplicate() |
String | findAttribute(String name)
returns the attribute value of the current node or null if the attribute does not exist
|
String | findAttribute(String name, String relativeXpath, Object... arguments)
Returns the attribute value of the node pointed by given XPath expression or null if the attribute does not exist
|
XMLTag | forEach(CallBack callBack, String relativeXpath, Object... arguments)
Execute an action for each selected tags from the current node.
|
XMLTag | forEach(String xpath, CallBack callBack) |
XMLTag | forEachChild(CallBack callBack)
Execute an action for each child in the current node.
|
String | getAttribute(String name)
returns the attribute value of the current node
|
String | getAttribute(String name, String relativeXpath, Object... arguments)
Returns the attribute value of the node pointed by given XPath expression
|
String[] | getAttributeNames() |
String | getCDATA() |
String | getCDATA(String relativeXpath, Object... arguments)
Get the CDATA of a selected node
|
String | getCDATAorText() |
String | getCDATAorText(String relativeXpath, Object... arguments)
Get the text of a sepcific node
|
int | getChildCount() |
List<Element> | getChildElement() |
Iterable<XMLTag> | getChilds(){@code XMLTag tag = XMLDoc.newDocument(true) .addRoot("root").addTag("a") .gotoParent().addTag("b") .gotoParent().addTag("c") .gotoRoot(); assertEquals(tag.getCurrentTagName(), "root"); for (XMLTag xmlTag : tag.getChilds()) { if(xmlTag.getCurrentTagName().equals("b")) { break; } } assertEquals(tag.getCurrentTagName(), "b");} {@code XMLTag tag = XMLDoc.newDocument(true) .addRoot("root").addTag("a") .gotoParent().addTag("b") .gotoParent().addTag("c") .gotoRoot(); assertEquals(tag.getCurrentTagName(), "root"); for (XMLTag xmlTag : tag.getChilds()) { System.out.println(xmlTag.getCurrentTagName()); } assertEquals(tag.getCurrentTagName(), "root");} |
Iterable<XMLTag> | getChilds(String relativeXpath, Object... arguments)
Create an iterable object over selected elements. |
NamespaceContext | getContext() |
Element | getCurrentTag() |
String | getCurrentTagLocation() |
String | getCurrentTagName() |
XMLTag | getInnerDocument() |
String | getInnerText() |
String | getPefix(String namespaceURI)
Get the prefix of a namespace
|
String[] | getPefixes(String namespaceURI)
Get all bound prefixes of a namespace
|
String | getText() |
String | getText(String relativeXpath, Object... arguments)
Get the text of a sepcific node
|
String | getTextOrCDATA() |
String | getTextOrCDATA(String relativeXpath, Object... arguments)
Get the text of a sepcific node
|
XMLTag | gotoChild()
Go to the only child element of the curent node.
|
XMLTag | gotoChild(int i)
Go to the Nth child of the curent node.
|
XMLTag | gotoChild(String nodeName)
Go to the child found with given node name
|
XMLTag | gotoFirstChild()
Go to the first child element of the curent node.
|
XMLTag | gotoFirstChild(String name)
Go to the first child occurance found having given name
|
XMLTag | gotoLastChild()
Go to the lastest child element of the curent node.
|
XMLTag | gotoLastChild(String name)
Go to the last child occurance found having given name
|
XMLTag | gotoParent()
Go to parent tag. |
XMLTag | gotoRoot()
Go to document root tag
|
XMLTag | gotoTag(String relativeXpath, Object... arguments)
Go to a specific node
|
boolean | hasAttribute(String name, String relativeXpath, Object... arguments)
Check if targeted tag has an attribute of given name
|
boolean | hasAttribute(String name)
Check wheter current tag contains an atribute
|
boolean | hasTag(String relativeXpath, Object... arguments)
Check if a tag exist in the document
|
Boolean | rawXpathBoolean(String relativeXpath, Object... arguments)
Execute an XPath expression directly using the Java XPath API, from the current node.
|
Node | rawXpathNode(String relativeXpath, Object... arguments)
Execute an XPath expression directly using the Java XPath API, from the current node.
|
NodeList | rawXpathNodeSet(String relativeXpath, Object... arguments)
Execute an XPath expression directly using the Java XPath API, from the current node.
|
Number | rawXpathNumber(String relativeXpath, Object... arguments)
Execute an XPath expression directly using the Java XPath API, from the current node.
|
String | rawXpathString(String relativeXpath, Object... arguments)
Execute an XPath expression directly using the Java XPath API, from the current node.
|
XMLTag | renameTo(String newTagName)
Replace current element name by another name
|
XMLTag | setAttribute(String name, String value)
Sets the new value on an existign attribute, and remains on the current tag.
|
XMLTag | setAttribute(String name, String value, String relativeXpath, Object... arguments)
Sets the new value on a targetted node's attribute, and remains on the current tag.
|
XMLTag | setAttributeIfExist(String name, String value)
Sets the new value on an attribute, and remains on the current tag. |
XMLTag | setAttributeIfExist(String name, String value, String relativeXpath, Object... arguments)
Sets the new value on a targetted node's attribute, and remains on the current tag.
|
XMLTag | setCDATA(String data)
Set the cdata in the current node. |
XMLTag | setCDATA(String data, String relativeXpath, Object... arguments)
Set the cdata in the targetted node. |
XMLTag | setCDATAIfExist(String data, String relativeXpath, Object... arguments)
Set the cdata in the targetted node. |
XMLTag | setText(String text)
Set the text in the current node. |
XMLTag | setText(String text, String relativeXpath, Object... arguments)
Set the text in the targetted node. |
XMLTag | setTextIfExist(String text, String relativeXpath, Object... arguments)
Set the text in the targetted node. |
byte[] | toBytes() |
byte[] | toBytes(String encoding) |
Document | toDocument() |
OutputStream | toOutputStream() |
OutputStream | toOutputStream(String encoding) |
XMLTag | toResult(Result out)
Converts this document to the result provided
|
XMLTag | toResult(Result out, String encoding)
Converts this document to the result provided, overriding default encoding of xml document
|
Result | toResult() |
Result | toResult(String encoding) |
Source | toSource() |
XMLTag | toStream(OutputStream out)
Write this document to a stream
|
XMLTag | toStream(OutputStream out, String encoding)
Write this document to a stream
|
XMLTag | toStream(Writer out)
Write this document to a stream
|
XMLTag | toStream(Writer out, String encoding)
Write this document to a stream
|
String | toString() |
String | toString(String encoding) |
Writer | toWriter() |
Writer | toWriter(String encoding) |
ValidationResult | validate(Source... schemas)
Validate this document against specifief schemas
|
ValidationResult | validate(URL... schemaLocations)
Validate this document against specifief schemas
|
Parameters: name Name of the attribute to add value value of the attribute to add
Returns: this
Parameters: attr The attribute to insert
Returns: this
addTag("name").addCDATA("Bob")addTag("sex").addCDATA("M")addTag("age").addCDATA("30")
{@code Parameters: data the data to add
Returns: this
Parameters: data The node to insert
Returns: this
Parameters: tag The XMLTag instance to insert
Returns: this
Parameters: doc The org.w3c.dom.Document instance to insert
Returns: this
Parameters: prefix The prefix of the namespace namespaceURI The URI of the namespace
Returns: this
Parameters: name Name of the element to add
Returns: this
Parameters: tag The XMLTag current tag hierarchy to insert
Returns: this
Parameters: tag The org.w3c.dom.Element instance to insert
Returns: this
addTag("name").addText("Bob")addTag("sex").addText("M")addTag("age").addText("30")
{@code Parameters: text the text to add
Returns: this
Parameters: text The node to insert
Returns: this
Returns: this
Throws: XMLDocumentException if the current node is the root node
Parameters: name attribute name
Returns: this
Throws: XMLDocumentException if the attribute does not exist
Parameters: name attribute name
Returns: this
Returns: this
Returns: this
Returns: this
Returns: A new com.mycila.xmltool.XMLTag instance having the same properties and documents of the current instance. The current tag will also remain the same (this.getCurrentTagName().equals(this.duplicate().getCurrentTagName()))
Parameters: name attribute name
Returns: attribute value or null if no attribute
Parameters: name attribute name relativeXpath XPath expression arguments facultative Xpath expression arguments. Uses String.format() to build XPath expression.
Returns: the attribute value or null if the attribute does not exist
Throws: XMLDocumentException targetted node does not exist or XPath expression is invalid
Parameters: callBack Callback method to run after the current tag of the document has changed to a child relativeXpath XXath expression that select the node arguments facultative Xpath expression arguments. Uses String.format() to build XPath expression.
Returns: this
Parameters: callBack Callback method to run after the current tag of the document has changed to a child
Returns: this
Parameters: name attribute name
Returns: attribute value
Throws: XMLDocumentException If the attribute does not exist
Parameters: name attribute name relativeXpath XPath expression arguments facultative Xpath expression arguments. Uses String.format() to build XPath expression.
Returns: attribute value
Throws: XMLDocumentException Attribute does not exist, targetted node or XPath expression is invalid
Returns: all attribute names of current node
Returns: The CDATA content of the current node, "" if none
Parameters: relativeXpath XPath expression that select the node arguments facultative Xpath expression arguments. Uses String.format() to build XPath expression.
Returns: the text of "" if none
Throws: XMLDocumentException If the XPath expression is invalid or if the node does not exist
Returns: The CDATA content of the current node, if none tries to get the text content, if none returns ""
Parameters: relativeXpath XPath expression that select the node arguments facultative Xpath expression arguments. Uses String.format() to build XPath expression.
Returns: The CDATA content of the current node, if none tries to get the text content, if none returns ""
Throws: XMLDocumentException If the XPath expression is not valid or if the node does not exist
Returns: The number of child for the current tag
Returns: The child element's list
{@code XMLTag tag = XMLDoc.newDocument(true) .addRoot("root").addTag("a") .gotoParent().addTag("b") .gotoParent().addTag("c") .gotoRoot(); assertEquals(tag.getCurrentTagName(), "root"); for (XMLTag xmlTag : tag.getChilds()) { if(xmlTag.getCurrentTagName().equals("b")) { break; } } assertEquals(tag.getCurrentTagName(), "b");}
{@code XMLTag tag = XMLDoc.newDocument(true) .addRoot("root").addTag("a") .gotoParent().addTag("b") .gotoParent().addTag("c") .gotoRoot(); assertEquals(tag.getCurrentTagName(), "root"); for (XMLTag xmlTag : tag.getChilds()) { System.out.println(xmlTag.getCurrentTagName()); } assertEquals(tag.getCurrentTagName(), "root");}
Returns: An iterable object over childs
Parameters: relativeXpath XPath to select tags arguments XPath arguments
Returns: The iterable object
Returns: the namespace context
Returns: the current tag
Returns: An XPath expression representing the current tag location in the document. If you are in the root node and run gotoTag() giving this XPath expression, you will return to the current node.
Returns: the current tag name
Returns: Another XMLTag instance in which the current tag becomes de root element of the new document, and it contains all inner elements as in the previous document.
Returns: The text representation of the inner nodes of the current node. The current node is outputed as the root element of inner tags.
Parameters: namespaceURI The URI of the namespace
Returns: the prefix or "" if not found ("" is the default prefix - see javax.xml.namespace.NamespaceContext javadoc
)
Parameters: namespaceURI The URI of the namespace
Returns: a list of prefixes or an empty array.
Returns: The text content of the current node, "" if none
Parameters: relativeXpath XPath expression that select the node arguments facultative Xpath expression arguments. Uses String.format() to build XPath expression.
Returns: the text of "" if none
Throws: XMLDocumentException If the XPath expression is not valid or if the node does not exist
Returns: The text content of the current node, if none tries to get the CDATA content, if none returns ""
Parameters: relativeXpath XPath expression that select the node arguments facultative Xpath expression arguments. Uses String.format() to build XPath expression.
Returns: The text content of the current node, if none tries to get the CDATA content, if none returns ""
Throws: XMLDocumentException If the XPath expression is not valid or if the node does not exist
Returns: this
Throws: XMLDocumentException If the current node has several childs or no child at all
Parameters: i index of the child, from 1 to child element number
Returns: this
Throws: XMLDocumentException If the child node does not exist
Parameters: nodeName name of the child to find.
Returns: this
Throws: XMLDocumentException If the element with this name has not been found or if there are too many elements
Returns: this
Throws: XMLDocumentException If the current node has no child at all
Parameters: name Name of the child to go at
Returns: this
Throws: XMLDocumentException If the current node has no child at all
Returns: this
Throws: XMLDocumentException If the current node has no child at all
Parameters: name Name of the child to go at
Returns: this
Throws: XMLDocumentException If the current node has no child at all
Returns: this
Returns: this
Parameters: relativeXpath XPath expresion arguments to be replaced in xpath expression before compiling. Uses String.format() to build XPath expression.
Returns: this
Throws: com.mycila.xmltool.XMLDocumentException if the node does not exist or if the XPath expression is invalid
Parameters: name the name of the attribute relativeXpath XPath that target the tag arguments optional arguments of xpath expression. Uses String.format() to build XPath expression.
Returns: true if the tag exist with this attribute name
Throws: XMLDocumentException If the targetted node does not exist or if xpath expression is not valid
Parameters: name Attribute name
Returns: true if the attribute is in current tag
Parameters: relativeXpath XPath expression where the tag should be located arguments XPath arguments. Uses String.format() to build XPath expression.
Returns: true if the tag is exist
Parameters: relativeXpath The XPath expression arguments facultative Xpath expression arguments. Uses String.format() to build XPath expression.
Returns: The javax.xml.xpath.XPathConstants#BOOLEAN return type
Parameters: relativeXpath The XPath expression arguments facultative Xpath expression arguments. Uses String.format() to build XPath expression.
Returns: The javax.xml.xpath.XPathConstants#NODE return type
Parameters: relativeXpath The XPath expression arguments facultative Xpath expression arguments. Uses String.format() to build XPath expression.
Returns: The javax.xml.xpath.XPathConstants#NODESET return type
Parameters: relativeXpath The XPath expression arguments facultative Xpath expression arguments. Uses String.format() to build XPath expression.
Returns: The javax.xml.xpath.XPathConstants#NUMBER return type
Parameters: relativeXpath The XPath expression arguments facultative Xpath expression arguments. Uses String.format() to build XPath expression.
Returns: The javax.xml.xpath.XPathConstants#STRING return type
Parameters: newTagName New name of the tag
Returns: this
Parameters: name attribute name value new attribute'svalue
Returns: attribute value
Throws: XMLDocumentException If the attribute does not exist
Parameters: name attribute name value new attribute's value relativeXpath XPath expression arguments facultative Xpath expression arguments. Uses String.format() to build XPath expression.
Returns: attribute value
Throws: XMLDocumentException Attribute does not exist, targetted node does not exit, or XPath expression is invalid
Parameters: name attribute name value new attribute value
Returns: attribute value
Parameters: name attribute name value new attribute's value relativeXpath XPath expression arguments facultative Xpath expression arguments. Uses String.format() to build XPath expression.
Returns: attribute value
Throws: XMLDocumentException XPath expression is invalid or targetted node does not exist
gotoChild("name").setText("Bob").gotoChild("sex").setText("M").gotoChild("age").setText("30")
{@code Parameters: data text to put under this node in a cdata section
Returns: this
Parameters: data text to put under this node in a cdata section relativeXpath XPath expression that select the node arguments facultative Xpath expression arguments. Uses String.format() to build XPath expression.
Returns: this
Throws: XMLDocumentException If the XPath expression is invalid or if the node does not exist
Parameters: data text to put under this node in a cdata section relativeXpath XPath expression that select the node arguments facultative Xpath expression arguments. Uses String.format() to build XPath expression.
Returns: this
Throws: XMLDocumentException If the XPath expression is invalid
gotoChild("name").setText("Bob").gotoChild("sex").setText("M").gotoChild("age").setText("30")
{@code Parameters: text text to put under this node
Returns: this
Parameters: text text to put under this node relativeXpath XPath expression that select the node arguments facultative Xpath expression arguments. Uses String.format() to build XPath expression.
Returns: this
Throws: XMLDocumentException If the XPath expression is invalid or if the node does not exist
Parameters: text text to put under this node relativeXpath XPath expression that select the node arguments facultative Xpath expression arguments. Uses String.format() to build XPath expression.
Returns: this
Throws: XMLDocumentException If the XPath expression is invalid
Returns: This document representation as String bytes, using default encoding of the document
Parameters: encoding The encoding to use
Returns: This document representation as String bytes using sepcified ancoding
Returns: the Document
Returns: A stream where the document has already been written into
Parameters: encoding The new encoding
Returns: A stream where the document has already been written into
Parameters: out The output result
Returns: this
Parameters: out The output result encoding The new encoding
Returns: this
Returns: The javax.xml.transform.Result representation of this document. Useful when using web services for example.
Parameters: encoding The new encoding
Returns: The javax.xml.transform.Result representation of this document. Useful when using web services for example.
Returns: This document as javax.xml.transform.Source
Parameters: out The output result
Returns: this
Parameters: out The output result encoding The new encoding
Returns: this
Parameters: out The output result
Returns: this
Parameters: out The output result encoding The new encoding
Returns: this
Returns: a string representation of the document in UTF-8 (Unicode)
Parameters: encoding destination encoding of XML document
Returns: a string representation of the document
Returns: A stream where the document has already been written into
Parameters: encoding The new encoding
Returns: A stream where the document has already been written into
Parameters: schemas A list of schemas
Returns: A validation result object containing exception list occured if any
Parameters: schemaLocations A list of schemas
Returns: A validation result object containing exception list occured if any