: Class FragmentValue

com.icl.saxon.expr
Class FragmentValue


java.lang.Object

  |

  +--com.icl.saxon.expr.Expression

        |

        +--com.icl.saxon.expr.Value

              |

              +--com.icl.saxon.expr.NodeSetValue

                    |

                    +--com.icl.saxon.expr.SingletonNodeSet

                          |

                          +--com.icl.saxon.expr.FragmentValue

All Implemented Interfaces:
org.w3c.dom.NodeList

public final class FragmentValue
extends SingletonNodeSet

This class represents a Value of type result tree fragment.
A Result Tree Fragment can be created by defining a variable in XSL whose value is defined by the contents of the xsl:variable element, possibly including start and end element tags.


Fields inherited from class com.icl.saxon.expr.SingletonNodeSet
generalUseAllowed, node
 
Fields inherited from class com.icl.saxon.expr.Value
ANY, BOOLEAN, NODESET, NUMBER, OBJECT, STRING
 
Fields inherited from class com.icl.saxon.expr.Expression
staticContext
 
Constructor Summary
FragmentValue(Controller c)
           
 
Method Summary
 boolean asBoolean()
          Convert the result tree fragment to a boolean
 double asNumber()
          Convert the result tree fragment to a number
 java.lang.String asString()
          Convert the result tree fragment to a string.
 boolean compare(int operator, Value other)
          Test how a FragmentValue compares to another Value under a relational comparison.
 void copy(Outputter out)
          Copy the result tree fragment value to a given Outputter
 void display(int level)
          Diagnostic print of expression structure
 NodeEnumeration enumerate()
          Return an enumeration of this nodeset value.
 boolean equals(Value other)
          Test whether a nodeset "equals" another Value
 int getCount()
          Count the nodes in the node-set.
 int getDataType()
          Determine the data type of the expression, if possible
 Emitter getEmitter()
          Get an Emitter that can be used to feed data to this result tree fragment
 NodeInfo getFirst()
          Get the first node in the nodeset (in document order)
 DocumentInfo getRootNode()
          Get the root (document) node
 int getType()
          Return the type of the value
 boolean notEquals(Value other)
          Test whether a nodeset "not-equals" another Value
 void outputStringValue(Outputter out, Context context)
          Evaluate an expression as a String and write the result to the specified outputter.
 void replay(Emitter emitter)
          Replay the saved emitter events to a new emitter
 void setBaseURI(java.lang.String uri)
          Set the Base URI for the nodes in the result tree fragment.
 Expression simplify()
          Simplify the expression
 
Methods inherited from class com.icl.saxon.expr.SingletonNodeSet
allowGeneralUse, evaluate, evaluateAsNodeSet, getLength, isGeneralUseAllowed, isSorted, item, setSorted, sort
 
Methods inherited from class com.icl.saxon.expr.NodeSetValue
conversionPreference, convertToJava, enumerate
 
Methods inherited from class com.icl.saxon.expr.Value
getDependencies, inverse, numericCompare, reduce, stringToNumber
 
Methods inherited from class com.icl.saxon.expr.Expression
containsReferences, evaluateAsBoolean, evaluateAsNumber, evaluateAsString, getStaticContext, indent, isContextDocumentNodeSet, make, setStaticContext, usesCurrent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FragmentValue


public FragmentValue(Controller c)
Method Detail

setBaseURI


public void setBaseURI(java.lang.String uri)
Set the Base URI for the nodes in the result tree fragment. This is defined to be the Base URI of the relevant xsl:variable element in the stylesheet.

getEmitter


public Emitter getEmitter()
Get an Emitter that can be used to feed data to this result tree fragment

asString


public java.lang.String asString()
Convert the result tree fragment to a string.
Overrides:
asString in class SingletonNodeSet
Following copied from class: com.icl.saxon.expr.SingletonNodeSet
Returns:
the value of the first node in the node-set if there is one, otherwise an empty string

outputStringValue


public void outputStringValue(Outputter out,
                              Context context)
                       throws javax.xml.transform.TransformerException
Evaluate an expression as a String and write the result to the specified outputter.
Overrides:
outputStringValue in class Expression
Parameters:
out - The required outputter
context - The context in which the expression is to be evaluated

asNumber


public double asNumber()
Convert the result tree fragment to a number
Overrides:
asNumber in class NodeSetValue
Following copied from class: com.icl.saxon.expr.NodeSetValue
Returns:
the number obtained by evaluating as a String and converting the string to a number

asBoolean


public boolean asBoolean()
Convert the result tree fragment to a boolean
Overrides:
asBoolean in class SingletonNodeSet
Following copied from class: com.icl.saxon.expr.SingletonNodeSet
Returns:
true if the node set is not empty

getCount


public int getCount()
Count the nodes in the node-set.
Overrides:
getCount in class SingletonNodeSet

simplify


public Expression simplify()
Simplify the expression
Overrides:
simplify in class SingletonNodeSet
Following copied from class: com.icl.saxon.expr.Value
Returns:
the simplified expression

getFirst


public NodeInfo getFirst()
Get the first node in the nodeset (in document order)
Overrides:
getFirst in class SingletonNodeSet
Returns:
the first node

enumerate


public NodeEnumeration enumerate()
Return an enumeration of this nodeset value.
Overrides:
enumerate in class SingletonNodeSet

equals


public boolean equals(Value other)
               throws XPathException
Test whether a nodeset "equals" another Value
Overrides:
equals in class SingletonNodeSet
Following copied from class: com.icl.saxon.expr.Value
Returns:
a boolean giving the value of the expression, evaluated in the current context

notEquals


public boolean notEquals(Value other)
                  throws XPathException
Test whether a nodeset "not-equals" another Value
Overrides:
notEquals in class SingletonNodeSet
Following copied from class: com.icl.saxon.expr.Value
Returns:
a boolean giving the value of the expression, evaluated in the current context

compare


public boolean compare(int operator,
                       Value other)
                throws XPathException
Test how a FragmentValue compares to another Value under a relational comparison.
Overrides:
compare in class NodeSetValue
Following copied from class: com.icl.saxon.expr.NodeSetValue
Parameters:
operator - The comparison operator, one of Tokenizer.LE, Tokenizer.LT, Tokenizer.GE, Tokenizer.GT,

getType


public int getType()
Return the type of the value
Returns:
Value.NODESET (always)

getDataType


public int getDataType()
Determine the data type of the expression, if possible
Overrides:
getDataType in class NodeSetValue
Returns:
Value.NODESET

getRootNode


public DocumentInfo getRootNode()
Get the root (document) node

copy


public void copy(Outputter out)
          throws javax.xml.transform.TransformerException
Copy the result tree fragment value to a given Outputter

replay


public void replay(Emitter emitter)
            throws javax.xml.transform.TransformerException
Replay the saved emitter events to a new emitter

display


public void display(int level)
Diagnostic print of expression structure
Overrides:
display in class NodeSetValue