Package com.icl.saxon.style
Class StyleElement
- java.lang.Object
-
- com.icl.saxon.om.AbstractNode
-
- com.icl.saxon.tree.NodeImpl
-
- com.icl.saxon.tree.ElementImpl
-
- com.icl.saxon.tree.ElementWithAttributes
-
- com.icl.saxon.style.StyleElement
-
- All Implemented Interfaces:
NodeInfo
,DOMLocator
,Source
,SourceLocator
,Element
,NamedNodeMap
,Node
,Locator
- Direct Known Subclasses:
AbsentExtensionElement
,LiteralResultElement
,SAXONDoctype
,SAXONEntityRef
,SAXONFunction
,SAXONItem
,SAXONPreview
,SAXONWhile
,SQLClose
,SQLConnect
,SQLInsert
,XSLApplyImports
,XSLApplyTemplates
,XSLAttributeSet
,XSLCallTemplate
,XSLChoose
,XSLCopy
,XSLCopyOf
,XSLDecimalFormat
,XSLDocument
,XSLElement
,XSLFallback
,XSLForEach
,XSLGeneralIncorporate
,XSLGeneralVariable
,XSLIf
,XSLKey
,XSLMessage
,XSLNamespaceAlias
,XSLNumber
,XSLOtherwise
,XSLOutput
,XSLPreserveSpace
,XSLScript
,XSLSort
,XSLStringConstructor
,XSLStyleSheet
,XSLTemplate
,XSLText
,XSLValueOf
,XSLWhen
public abstract class StyleElement extends ElementWithAttributes implements Locator
Abstract superclass for all element nodes in the stylesheet.
Note: this class implements Locator. The element retains information about its own location in the stylesheet, which is useful when an XSL error is found.
-
-
Field Summary
Fields Modifier and Type Field Description protected Vector
attributeSets
protected short[]
extensionNamespaces
static int
REPORT_ALWAYS
static int
REPORT_IF_INSTANTIATED
static int
REPORT_UNLESS_FORWARDS_COMPATIBLE
protected int
reportingCircumstances
protected int
sequence
protected StaticContext
staticContext
protected TransformerConfigurationException
validationError
protected String
version
-
Fields inherited from class com.icl.saxon.tree.ElementWithAttributes
attributeList, namespaceList
-
Fields inherited from class com.icl.saxon.tree.ElementImpl
nameCode, root
-
Fields inherited from class com.icl.saxon.tree.NodeImpl
emptyArray, index, parent
-
Fields inherited from class com.icl.saxon.om.AbstractNode
NODE_LETTER
-
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
-
-
Constructor Summary
Constructors Constructor Description StyleElement()
Constructor
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
addChild(NodeImpl node, int index)
Add a child node to this node.Binding
bindVariable(int fingerprint)
Bind a variable used in this element to the XSLVariable element in which it is declaredvoid
checkEmpty()
Convenience method to check that the stylesheet element is emptyvoid
checkNotTopLevel()
Convenience method to check that the stylesheet element is not at the top levelvoid
checkTopLevel()
Convenience method to check that the stylesheet element is at the top levelprotected void
checkUnknownAttribute(int nc)
Check whether an unknown attribute is permitted.void
checkWithinTemplate()
Check that the stylesheet element is within a template bodyvoid
compact(int size)
Compact the space used by this nodeprotected void
compileError(String message)
protected void
compileError(TransformerException error)
Construct an exception with diagnostic informationvoid
copyStringValue(Outputter out)
Copy the string-value of this node to a given outputterprotected boolean
definesExcludedNamespace(short uriCode)
Check whether this node excludes a particular namespace from the result.protected boolean
definesExtensionElement(short uriCode)
Check whether a particular extension element namespace is defined on this node.boolean
doesPostProcessing()
Determine whether this element does any processing after instantiating any children.void
dropChildren()
Drop a branch of the tree.AxisEnumeration
enumerateChildren(NodeTest test)
Get an enumeration of the children of this nodeprotected void
fallbackProcessing(StyleElement instruction, Context context)
Perform fallback processingprotected void
findAttributeSets(String use)
Determine the list of attribute-sets associated with this element.boolean
forwardsCompatibleModeIsEnabled()
Determine whether forwards-compatible mode is enabled for this elementNodeList
getChildNodes()
Return aNodeList
that contains all children of this node.XSLStyleSheet
getContainingStyleSheet()
Get the containing XSLStyleSheet elementNode
getFirstChild()
Get the first child node of the elementNode
getLastChild()
Get the last child node of the elementString
getNodeValue()
Get the node value as defined in the DOM.protected NodeImpl
getNthChild(int n)
Get the nth child node of the element (numbering from 0)int
getPrecedence()
Get the import precedence of this stylesheet element.PreparedStyleSheet
getPreparedStyleSheet()
Get the PreparedStyleSheet object.protected XSLStyleSheet
getPrincipalStyleSheet()
Get the principal XSLStyleSheet node.protected long
getSequenceNumber()
Get the node sequence number (in document order).StandardNames
getStandardNames()
Get the StandardNames objectString
getStringValue()
Return the string-value of the node, that is, the concatenation of the character content of all descendent elements and text nodes.Function
getStyleSheetFunction(int fingerprint)
Get a Function declared using a saxon:function element in the stylesheetBinding
getVariableBinding(int fprint)
Bind a variable used in this element to the XSLVariable element in which it is declaredEnumeration[]
getVariableNames()
List the variables that are in scope for this stylesheet element.String
getVersion()
Get the version number on this element, or inherited from its ancestorsprotected Expression
handleSortKeys(Expression select)
Modify the "select" expression to include any sort keys specified.boolean
hasChildNodes()
Determine if the node has any children.boolean
isExcludedNamespace(short uriCode)
Check whether a namespace uri defines an namespace excluded from the result.boolean
isExtensionNamespace(short uriCode)
Check whether a namespace uri defines an extension element.boolean
isInstruction()
Determine whether this node is an instruction.boolean
isTopLevel()
Test whether this is a top-level elementExpression
makeAttributeValueTemplate(String expression)
Make an attribute value template in the context of this stylesheet elementExpression
makeExpression(String expression)
Make an expression in the context of this stylesheet elementPattern
makePattern(String pattern)
Make a pattern in the context of this stylesheet elementboolean
mayContainTemplateBody()
Determine whether this type of element is allowed to contain a template-bodyabstract void
prepareAttributes()
Set the attribute list for the element.void
preprocess()
Default preprocessing method does nothing.abstract void
process(Context context)
Process: called to do the real work of this stylesheet element.void
processAllAttributes()
Process the attributes of this element and all its childrenvoid
processAttributes()
Process the attribute list for the element.protected void
processAttributeSets(Context context)
Expand the attribute sets referenced in this element's use-attribute-sets attributevoid
processChildren(Context context)
Process the children of this node in the stylesheetprotected void
processExcludedNamespaces(int nc)
Process the [xsl:]exclude-result-prefixes attribute if there is oneprotected void
processExtensionElementAttribute(int nc)
Process the [xsl:]extension-element-prefixes attribute if there is oneprotected void
processVersionAttribute(int nc)
Process the [xsl:]version attribute if there is onevoid
removeChild(int index)
Remove node at given index.void
renumberChildren()
Renumber the children of a given parent node.void
reportAbsence(String attribute)
Convenience method to report the absence of a mandatory attributeprotected void
setValidationError(TransformerException reason, int circumstances)
Set a validation errorprotected TransformerException
styleError(String message)
protected TransformerException
styleError(TransformerException error)
Construct an exception with diagnostic informationvoid
substituteFor(StyleElement temp)
Make this node a substitute for a temporary one previously added to the tree.void
useChildrenArray(NodeImpl[] array)
Supply an array to be used for the array of children.void
validate()
Check that the element is valid.protected void
validateChildren()
void
validateSubtree()
Recursive walk through the stylesheet to validate all nodes-
Methods inherited from class com.icl.saxon.tree.ElementWithAttributes
addNamespaceNodes, copy, getAttribute, getAttributeList, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getAttributeValue, getAttributeValue, getAttributeValue, getLength, getNamedItem, getNamedItemNS, getNamespaceCodes, getPrefixForURI, getURICodeForPrefix, hasAttribute, hasAttributeNS, hasAttributes, initialise, item, outputNamespaceNodes, removeAttribute, removeAttributeNode, removeAttributeNS, removeNamedItem, removeNamedItemNS, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setNamedItem, setNamedItemNS, setNamespaceDeclarations
-
Methods inherited from class com.icl.saxon.tree.ElementImpl
copy, generateId, getBaseURI, getDocumentRoot, getLineNumber, getNameCode, getNodeType, getSystemId, makeNameCode, setLineNumber, setNameCode, setSystemId
-
Methods inherited from class com.icl.saxon.tree.NodeImpl
compareOrder, getDisplayName, getDocumentElement, getEnumeration, getFingerprint, getLocalName, getNamePool, getNextInDocument, getNextSibling, getOriginatingNode, getParent, getPrefix, getPreviousInDocument, getPreviousSibling, getURI, isSameNodeInfo, removeNode
-
Methods inherited from class com.icl.saxon.om.AbstractNode
appendChild, appendData, cloneNode, compareDocumentPosition, createAttribute, createAttributeNS, createCDATASection, createComment, createDocumentFragment, createElement, createElementNS, createEntityReference, createProcessingInstruction, createTextNode, deleteData, disallowUpdate, getColumnNumber, getData, getDoctype, getElementById, getElementsByTagName, getElementsByTagNameNS, getFeature, getImplementation, getName, getNamespaceURI, getNodeName, getOwnerDocument, getOwnerElement, getParentNode, getPublicId, getSchemaTypeInfo, getSpecified, getTagName, getTextContent, getUserData, getValue, getWholeText, importNode, insertBefore, insertData, isDefaultNamespace, isElementContentWhitespace, isEqualNode, isId, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, replaceData, replaceWholeText, setData, setIdAttribute, setIdAttributeNode, setIdAttributeNS, setNodeValue, setPrefix, setTextContent, setUserData, setValue, splitText, substringData, supports
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.w3c.dom.Element
getElementsByTagName, getElementsByTagNameNS, getSchemaTypeInfo, getTagName, setIdAttribute, setIdAttributeNode, setIdAttributeNS
-
Methods inherited from interface org.xml.sax.Locator
getColumnNumber, getLineNumber, getPublicId, getSystemId
-
Methods inherited from interface org.w3c.dom.Node
appendChild, cloneNode, compareDocumentPosition, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData
-
-
-
-
Field Detail
-
attributeSets
protected Vector attributeSets
-
extensionNamespaces
protected short[] extensionNamespaces
-
version
protected String version
-
staticContext
protected StaticContext staticContext
-
validationError
protected TransformerConfigurationException validationError
-
reportingCircumstances
protected int reportingCircumstances
-
REPORT_ALWAYS
public static final int REPORT_ALWAYS
- See Also:
- Constant Field Values
-
REPORT_UNLESS_FORWARDS_COMPATIBLE
public static final int REPORT_UNLESS_FORWARDS_COMPATIBLE
- See Also:
- Constant Field Values
-
REPORT_IF_INSTANTIATED
public static final int REPORT_IF_INSTANTIATED
- See Also:
- Constant Field Values
-
sequence
protected int sequence
-
-
Method Detail
-
substituteFor
public void substituteFor(StyleElement temp)
Make this node a substitute for a temporary one previously added to the tree. See StyleNodeFactory for details. "A node like the other one in all things but its class". Note that at this stage, the node will not yet be known to its parent, though it will contain a reference to its parent; and it will have no children.
-
setValidationError
protected void setValidationError(TransformerException reason, int circumstances)
Set a validation error
-
isInstruction
public boolean isInstruction()
Determine whether this node is an instruction. The default implementation says it isn't.
-
doesPostProcessing
public boolean doesPostProcessing()
Determine whether this element does any processing after instantiating any children. The default implementation says it does. Tail recursion only works if call-template is nested entirely in elements that do no such processing. (If the element is empty, this property is irrelevant, because the element cannot contain an xsl:call-template).
-
mayContainTemplateBody
public boolean mayContainTemplateBody()
Determine whether this type of element is allowed to contain a template-body
-
getContainingStyleSheet
public XSLStyleSheet getContainingStyleSheet()
Get the containing XSLStyleSheet element
-
getPrecedence
public int getPrecedence()
Get the import precedence of this stylesheet element.
-
getStandardNames
public final StandardNames getStandardNames()
Get the StandardNames object
-
processAllAttributes
public void processAllAttributes() throws TransformerConfigurationException
Process the attributes of this element and all its children
-
processAttributes
public final void processAttributes() throws TransformerConfigurationException
Process the attribute list for the element. This is a wrapper method that calls prepareAttributes (provided in the subclass) and traps any exceptions
-
checkUnknownAttribute
protected void checkUnknownAttribute(int nc) throws TransformerConfigurationException
Check whether an unknown attribute is permitted.- Parameters:
nc
- The name code of the attribute name- Throws:
TransformerConfigurationException
-
prepareAttributes
public abstract void prepareAttributes() throws TransformerConfigurationException
Set the attribute list for the element. This is called to process the attributes (note the distinction from processAttributes in the superclass). Must be supplied in a subclass
-
makeExpression
public Expression makeExpression(String expression) throws TransformerConfigurationException
Make an expression in the context of this stylesheet element
-
makePattern
public Pattern makePattern(String pattern) throws TransformerConfigurationException
Make a pattern in the context of this stylesheet element
-
makeAttributeValueTemplate
public Expression makeAttributeValueTemplate(String expression) throws TransformerConfigurationException
Make an attribute value template in the context of this stylesheet element
-
processExtensionElementAttribute
protected void processExtensionElementAttribute(int nc) throws TransformerConfigurationException
Process the [xsl:]extension-element-prefixes attribute if there is one- Parameters:
nc
- the name code of the attribute required- Throws:
TransformerConfigurationException
-
processExcludedNamespaces
protected void processExcludedNamespaces(int nc) throws TransformerConfigurationException
Process the [xsl:]exclude-result-prefixes attribute if there is one- Parameters:
nc
- the name code of the attribute required- Throws:
TransformerConfigurationException
-
processVersionAttribute
protected void processVersionAttribute(int nc)
Process the [xsl:]version attribute if there is one- Parameters:
nc
- the name code of the attribute required
-
getVersion
public String getVersion()
Get the version number on this element, or inherited from its ancestors
-
forwardsCompatibleModeIsEnabled
public boolean forwardsCompatibleModeIsEnabled()
Determine whether forwards-compatible mode is enabled for this element
-
definesExtensionElement
protected boolean definesExtensionElement(short uriCode)
Check whether a particular extension element namespace is defined on this node. This checks this node only, not the ancestor nodes. The implementation checks whether the prefix is included in the [xsl:]extension-element-prefixes attribute.- Parameters:
uriCode
- the namespace URI code being tested
-
isExtensionNamespace
public boolean isExtensionNamespace(short uriCode)
Check whether a namespace uri defines an extension element. This checks whether the namespace is defined as an extension namespace on this or any ancestor node.- Parameters:
uriCode
- the namespace URI code being tested
-
definesExcludedNamespace
protected boolean definesExcludedNamespace(short uriCode)
Check whether this node excludes a particular namespace from the result. This method checks this node only, not the ancestor nodes.- Parameters:
uriCode
- the code of the namespace URI being tested
-
isExcludedNamespace
public boolean isExcludedNamespace(short uriCode)
Check whether a namespace uri defines an namespace excluded from the result. This checks whether the namespace is defined as an excluded namespace on this or any ancestor node.- Parameters:
uriCode
- the code of the namespace URI being tested
-
validate
public void validate() throws TransformerConfigurationException
Check that the element is valid. This is called once for each element, after the entire tree has been built. As well as validation, it can perform first-time initialisation. The default implementation does nothing; it is normally overriden in subclasses.
-
preprocess
public void preprocess() throws TransformerConfigurationException
Default preprocessing method does nothing. It is implemented for those top-level elements that can be evaluated before the source document is available, for example xsl:key, xsl:attribute-set, xsl:template, xsl:locale
-
validateSubtree
public void validateSubtree() throws TransformerConfigurationException
Recursive walk through the stylesheet to validate all nodes
-
validateChildren
protected void validateChildren() throws TransformerConfigurationException
-
getPrincipalStyleSheet
protected XSLStyleSheet getPrincipalStyleSheet()
Get the principal XSLStyleSheet node. This gets the principal style sheet, i.e. the one originally loaded, that forms the root of the import/include tree
-
getPreparedStyleSheet
public PreparedStyleSheet getPreparedStyleSheet()
Get the PreparedStyleSheet object.- Returns:
- the PreparedStyleSheet to which this stylesheet element belongs
-
checkWithinTemplate
public void checkWithinTemplate() throws TransformerConfigurationException
Check that the stylesheet element is within a template body- Throws:
TransformerConfigurationException
- if not within a template body
-
checkTopLevel
public void checkTopLevel() throws TransformerConfigurationException
Convenience method to check that the stylesheet element is at the top level- Throws:
TransformerConfigurationException
- if not at top level
-
checkNotTopLevel
public void checkNotTopLevel() throws TransformerConfigurationException
Convenience method to check that the stylesheet element is not at the top level- Throws:
TransformerConfigurationException
- if it is at the top level
-
checkEmpty
public void checkEmpty() throws TransformerConfigurationException
Convenience method to check that the stylesheet element is empty- Throws:
TransformerConfigurationException
- if it is not empty
-
reportAbsence
public void reportAbsence(String attribute) throws TransformerConfigurationException
Convenience method to report the absence of a mandatory attribute- Throws:
TransformerConfigurationException
- if the attribute is missing
-
process
public abstract void process(Context context) throws TransformerException
Process: called to do the real work of this stylesheet element. This method must be implemented in each subclass.- Parameters:
context
- The context in the source XML document, giving access to the current node, the current variables, etc.- Throws:
TransformerException
-
processChildren
public void processChildren(Context context) throws TransformerException
Process the children of this node in the stylesheet- Parameters:
context
- The context in the source XML document, giving access to the current node, the current variables, etc.- Throws:
TransformerException
-
fallbackProcessing
protected void fallbackProcessing(StyleElement instruction, Context context) throws TransformerException
Perform fallback processing- Throws:
TransformerException
-
handleSortKeys
protected Expression handleSortKeys(Expression select) throws TransformerConfigurationException
Modify the "select" expression to include any sort keys specified. Used in XSLForEach and XSLApplyTemplates
-
findAttributeSets
protected void findAttributeSets(String use) throws TransformerConfigurationException
Determine the list of attribute-sets associated with this element. This is used for xsl:element, xsl:copy, xsl:attribute-set, and on literal result elements
-
processAttributeSets
protected void processAttributeSets(Context context) throws TransformerException
Expand the attribute sets referenced in this element's use-attribute-sets attribute- Throws:
TransformerException
-
styleError
protected TransformerException styleError(TransformerException error)
Construct an exception with diagnostic information
-
styleError
protected TransformerException styleError(String message)
-
compileError
protected void compileError(TransformerException error) throws TransformerConfigurationException
Construct an exception with diagnostic information
-
compileError
protected void compileError(String message) throws TransformerConfigurationException
-
isTopLevel
public boolean isTopLevel()
Test whether this is a top-level element
-
bindVariable
public Binding bindVariable(int fingerprint) throws XPathException
Bind a variable used in this element to the XSLVariable element in which it is declared- Parameters:
fingerprint
- The fingerprint of the name of the variable- Returns:
- a Binding for the variable
- Throws:
XPathException
- if the variable has not been declared
-
getVariableBinding
public Binding getVariableBinding(int fprint)
Bind a variable used in this element to the XSLVariable element in which it is declared- Parameters:
fprint
- The absolute name of the variable (as a namepool fingerprint)- Returns:
- a Binding for the variable, or null if it has not been declared
-
getVariableNames
public Enumeration[] getVariableNames()
List the variables that are in scope for this stylesheet element. Designed for a debugger, not used by the processor.- Returns:
- two Enumeration of Strings, the global ones [0] and the local ones [1]
-
getStyleSheetFunction
public Function getStyleSheetFunction(int fingerprint)
Get a Function declared using a saxon:function element in the stylesheet- Parameters:
fingerprint
- the fingerprint of the name of the function- Returns:
- the Function object represented by this saxon:function; or null if not found
-
getSequenceNumber
protected final long getSequenceNumber()
Get the node sequence number (in document order). Sequence numbers are monotonic but not consecutive. In the current implementation, parent nodes (elements and roots) have a zero least-significant word, while namespaces, attributes, text nodes, comments, and PIs have the top word the same as their owner and the bottom half reflecting their relative position.- Overrides:
getSequenceNumber
in classNodeImpl
-
hasChildNodes
public final boolean hasChildNodes()
Determine if the node has any children.- Specified by:
hasChildNodes
in interfaceNode
- Specified by:
hasChildNodes
in interfaceNodeInfo
- Overrides:
hasChildNodes
in classNodeImpl
- Returns:
true
if the node has any children,false
if the node has no children.
-
enumerateChildren
public final AxisEnumeration enumerateChildren(NodeTest test)
Get an enumeration of the children of this node
-
getFirstChild
public final Node getFirstChild()
Get the first child node of the element- Specified by:
getFirstChild
in interfaceNode
- Overrides:
getFirstChild
in classNodeImpl
- Returns:
- the first child node of the required type, or null if there are no children
-
getLastChild
public final Node getLastChild()
Get the last child node of the element- Specified by:
getLastChild
in interfaceNode
- Overrides:
getLastChild
in classNodeImpl
- Returns:
- the last child of the element, or null if there are no children
-
getChildNodes
public final NodeList getChildNodes()
Return aNodeList
that contains all children of this node. If there are no children, this is aNodeList
containing no nodes.- Specified by:
getChildNodes
in interfaceNode
- Overrides:
getChildNodes
in classNodeImpl
-
getNthChild
protected final NodeImpl getNthChild(int n)
Get the nth child node of the element (numbering from 0)- Returns:
- the last child of the element, or null if there is no n'th child
-
getStringValue
public String getStringValue()
Return the string-value of the node, that is, the concatenation of the character content of all descendent elements and text nodes.- Returns:
- the accumulated character content of the element, including descendant elements.
-
copyStringValue
public void copyStringValue(Outputter out) throws TransformerException
Copy the string-value of this node to a given outputter- Specified by:
copyStringValue
in interfaceNodeInfo
- Overrides:
copyStringValue
in classAbstractNode
- Throws:
TransformerException
-
useChildrenArray
public void useChildrenArray(NodeImpl[] array)
Supply an array to be used for the array of children. For system use only.
-
addChild
public void addChild(NodeImpl node, int index)
Add a child node to this node. For system use only. Note: normalizing adjacent text nodes is the responsibility of the caller.
-
removeChild
public void removeChild(int index)
Remove node at given index. Will always be followed by a renumberChildren().
-
renumberChildren
public void renumberChildren()
Renumber the children of a given parent node. For system use only
-
dropChildren
public void dropChildren()
Drop a branch of the tree. The target element remains in the tree, but its children are disconnected from the parent. Unless there are other references to the children (e.g. in a variable) they will be deleted from memory next time the garbage collector comes round.
-
compact
public void compact(int size)
Compact the space used by this node
-
getNodeValue
public String getNodeValue()
Get the node value as defined in the DOM. This is not the same as the XPath string-value.- Specified by:
getNodeValue
in interfaceNode
- Overrides:
getNodeValue
in classAbstractNode
-
-