com.icl.saxon.expr
Class TextFragmentValue

java.lang.Object
  extended bycom.icl.saxon.expr.Expression
      extended bycom.icl.saxon.expr.Value
          extended bycom.icl.saxon.expr.NodeSetValue
              extended bycom.icl.saxon.expr.SingletonNodeSet
                  extended bycom.icl.saxon.expr.TextFragmentValue
All Implemented Interfaces:
org.w3c.dom.NodeList

public final class TextFragmentValue
extends SingletonNodeSet

This class represents a Value of type result tree fragment, specifically, an RTF whose root owns a single text node.


Field Summary
 
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
TextFragmentValue(java.lang.String value, java.lang.String systemId, Controller controller)
          Constructor: create a result tree fragment containing a single text node
 
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
 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.
 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

TextFragmentValue

public TextFragmentValue(java.lang.String value,
                         java.lang.String systemId,
                         Controller controller)
Constructor: create a result tree fragment containing a single text node

Method Detail

asString

public java.lang.String asString()
Convert the result tree fragment to a string.

Overrides:
asString in class 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 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
Throws:
TransformerException

asNumber

public double asNumber()
Convert the result tree fragment to a number

Overrides:
asNumber in class 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
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

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()
                          throws XPathException
Return an enumeration of this nodeset value.

Overrides:
enumerate in class SingletonNodeSet
Throws:
XPathException

equals

public boolean equals(Value other)
               throws XPathException
Test whether a nodeset "equals" another Value

Overrides:
equals in class SingletonNodeSet
Throws:
XPathException

notEquals

public boolean notEquals(Value other)
                  throws XPathException
Test whether a nodeset "not-equals" another Value

Overrides:
notEquals in class SingletonNodeSet
Throws:
XPathException

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
Parameters:
operator - The comparison operator, one of Tokenizer.LE, Tokenizer.LT, Tokenizer.GE, Tokenizer.GT,
Throws:
XPathException

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 TransformerException
Copy the result tree fragment value to a given Outputter

Throws:
TransformerException

display

public void display(int level)
Diagnostic print of expression structure

Overrides:
display in class NodeSetValue