Package org.gjt.xpp
Interface XmlNode
-
- All Superinterfaces:
XmlStartTag
,XmlTag
- All Known Subinterfaces:
XmlPullNode
public interface XmlNode extends XmlStartTag
This class represents XML subtree. XmlNode is extension of XmlStartTag adding support for children (some of them may be also XmlNode so we get recursively built tree) and namespaces declarations associated with this node. When node has no children and namespaces declared it is essentially equivalent to XmlStartTag.When XmlNode user does not need namespaces then namespace related methods may be ignored. However to use namespaces it is required to:
- call setDefaultNamespaceUri() to associate default namespace in which this node is declared
- and to declare additional namespaces (as of xmlns:prefix="...") with calling first removeNamespaces() and then addNamespaces()
- Author:
- Aleksander Slominski
- See Also:
XmlStartTag
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addDeclaredNamespaces(java.lang.String[] prefix, int off, int len, java.lang.String[] namespaceUri)
NOTE: node SHOULD NOT keep references to passed arrays!void
addNamespaceDeclaration(java.lang.String prefix, java.lang.String namespaceUri)
void
appendChild(java.lang.Object child)
java.util.Enumeration
children()
void
ensureChildrenCapacity(int minCapacity)
void
ensureDeclaredNamespacesCapacity(int minCapacity)
java.lang.Object
getChildAt(int pos)
int
getChildrenCount()
it may need to reconsruct whole subtree to get count ...int
getDeclaredNamespaceLength()
java.lang.String
getDefaultNamespaceUri()
Namesapce URI associated with default namesapce prefix (xmlns='....')XmlNode
getParentNode()
java.lang.String
getQNameLocal(java.lang.String qName)
Return local part of qname.java.lang.String
getQNameUri(java.lang.String qName)
Return uri part of qname.void
insertChildAt(int pos, java.lang.Object child)
java.lang.String
namespace2Prefix(java.lang.String namespaceUri)
return prefix for namesapce searching node tree upward.XmlNode
newNode()
context sensitive factory method to create the same type of nodeXmlNode
newNode(java.lang.String amespaceUri, java.lang.String localName)
java.lang.String
prefix2Namespace(java.lang.String prefix)
return namespace for prefix searching node tree upward.void
readDeclaredNamespaceUris(java.lang.String[] uris, int off, int len)
void
readDeclaredPrefixes(java.lang.String[] prefixes, int off, int len)
void
removeChildAt(int pos)
void
removeChildren()
Removes all children - every child that was implementing XmlNode will have set parent to null.void
removeDeclaredNamespaces()
void
replaceChildAt(int pos, java.lang.Object child)
void
resetNode()
Clear all Tag state to default values.void
setDefaultNamespaceUri(java.lang.String defaultNamespaceUri)
Set default namesapce URI (xmlns='....')void
setParentNode(XmlNode parent)
-
Methods inherited from interface org.gjt.xpp.XmlStartTag
addAttribute, addAttribute, ensureAttributesCapacity, getAttributeCount, getAttributeLocalName, getAttributeNamespaceUri, getAttributePrefix, getAttributeRawName, getAttributeValue, getAttributeValueFromName, getAttributeValueFromRawName, isAttributeNamespaceDeclaration, removeAttributeByName, removeAttributeByRawName, removeAttributes, resetStartTag
-
Methods inherited from interface org.gjt.xpp.XmlTag
getLocalName, getNamespaceUri, getPrefix, getRawName, modifyTag, resetTag
-
-
-
-
Method Detail
-
resetNode
void resetNode()
Clear all Tag state to default values.
-
newNode
XmlNode newNode() throws XmlPullParserException
context sensitive factory method to create the same type of node- Throws:
XmlPullParserException
-
newNode
XmlNode newNode(java.lang.String amespaceUri, java.lang.String localName) throws XmlPullParserException
- Throws:
XmlPullParserException
-
getParentNode
XmlNode getParentNode()
-
setParentNode
void setParentNode(XmlNode parent) throws XmlPullParserException
- Throws:
XmlPullParserException
-
children
java.util.Enumeration children()
-
getChildrenCount
int getChildrenCount()
it may need to reconsruct whole subtree to get count ...
-
getChildAt
java.lang.Object getChildAt(int pos)
-
appendChild
void appendChild(java.lang.Object child) throws XmlPullParserException
- Throws:
XmlPullParserException
-
insertChildAt
void insertChildAt(int pos, java.lang.Object child) throws XmlPullParserException
- Throws:
XmlPullParserException
-
removeChildAt
void removeChildAt(int pos) throws XmlPullParserException
- Throws:
XmlPullParserException
-
replaceChildAt
void replaceChildAt(int pos, java.lang.Object child) throws XmlPullParserException
- Throws:
XmlPullParserException
-
ensureChildrenCapacity
void ensureChildrenCapacity(int minCapacity) throws XmlPullParserException
- Throws:
XmlPullParserException
-
removeChildren
void removeChildren() throws XmlPullParserException
Removes all children - every child that was implementing XmlNode will have set parent to null.- Throws:
XmlPullParserException
-
getQNameLocal
java.lang.String getQNameLocal(java.lang.String qName) throws XmlPullParserException
Return local part of qname. For example for 'xsi:type' it returns 'type'.- Throws:
XmlPullParserException
-
getQNameUri
java.lang.String getQNameUri(java.lang.String qName) throws XmlPullParserException
Return uri part of qname. The return value is dependent on declared namespaces in this node and possible when looking for value in parent node. For example for 'xsi:type' if xsi namespace prefix was declared to 'http://foo' it will return 'http://foo'.- Throws:
XmlPullParserException
-
prefix2Namespace
java.lang.String prefix2Namespace(java.lang.String prefix) throws XmlPullParserException
return namespace for prefix searching node tree upward.- Throws:
XmlPullParserException
-
namespace2Prefix
java.lang.String namespace2Prefix(java.lang.String namespaceUri) throws XmlPullParserException
return prefix for namesapce searching node tree upward.- Throws:
XmlPullParserException
-
getDefaultNamespaceUri
java.lang.String getDefaultNamespaceUri()
Namesapce URI associated with default namesapce prefix (xmlns='....')
-
setDefaultNamespaceUri
void setDefaultNamespaceUri(java.lang.String defaultNamespaceUri) throws XmlPullParserException
Set default namesapce URI (xmlns='....')- Throws:
XmlPullParserException
-
getDeclaredNamespaceLength
int getDeclaredNamespaceLength()
-
readDeclaredNamespaceUris
void readDeclaredNamespaceUris(java.lang.String[] uris, int off, int len) throws XmlPullParserException
- Throws:
XmlPullParserException
-
readDeclaredPrefixes
void readDeclaredPrefixes(java.lang.String[] prefixes, int off, int len) throws XmlPullParserException
- Throws:
XmlPullParserException
-
ensureDeclaredNamespacesCapacity
void ensureDeclaredNamespacesCapacity(int minCapacity) throws XmlPullParserException
- Throws:
XmlPullParserException
-
addNamespaceDeclaration
void addNamespaceDeclaration(java.lang.String prefix, java.lang.String namespaceUri) throws XmlPullParserException
- Throws:
XmlPullParserException
-
addDeclaredNamespaces
void addDeclaredNamespaces(java.lang.String[] prefix, int off, int len, java.lang.String[] namespaceUri) throws XmlPullParserException
NOTE: node SHOULD NOT keep references to passed arrays!- Throws:
XmlPullParserException
-
removeDeclaredNamespaces
void removeDeclaredNamespaces() throws XmlPullParserException
- Throws:
XmlPullParserException
-
-