FileDocCategorySizeDatePackage
ExsltCommon.javaAPI DocJava SE 5 API3970Fri Aug 26 14:55:30 BST 2005com.sun.org.apache.xalan.internal.lib

ExsltCommon

public class ExsltCommon extends Object
This class contains EXSLT common extension functions. It is accessed by specifying a namespace URI as follows:
xmlns:exslt="http://exslt.org/common"
The documentation for each function has been copied from the relevant EXSLT Implementer page.
see
EXSLT
xsl.usage
general

Fields Summary
Constructors Summary
Methods Summary
public static com.sun.org.apache.xpath.internal.NodeSetnodeSet(com.sun.org.apache.xalan.internal.extensions.ExpressionContext myProcessor, java.lang.Object rtf)
The exsl:node-set function converts a result tree fragment (which is what you get when you use the content of xsl:variable rather than its select attribute to give a variable value) into a node set. This enables you to process the XML that you create within a variable, and therefore do multi-step processing. You can also use this function to turn a string into a text node, which is helpful if you want to pass a string to a function that only accepts a node set. The Xalan extensions MethodResolver converts 'node-set' to 'nodeSet'.

param
myProcesser is passed in by the Xalan extension processor
param
rtf The result tree fragment to be converted to a node-set.
return
node-set with the contents of the result tree fragment. Note: Already implemented in the xalan namespace as nodeset.
see
EXSLT

    return Extensions.nodeset(myProcessor, rtf);
  
public static java.lang.StringobjectType(java.lang.Object obj)
The exsl:object-type function returns a string giving the type of the object passed as the argument. The possible object types are: 'string', 'number', 'boolean', 'node-set', 'RTF', or 'external'. Most XSLT object types can be coerced to each other without error. However, there are certain coercions that raise errors, most importantly treating anything other than a node set as a node set. Authors of utilities such as named templates or user-defined extension functions may wish to give some flexibility in the parameter and argument values that are accepted by the utility; the exsl:object-type function enables them to do so. The Xalan extensions MethodResolver converts 'object-type' to 'objectType'.

param
obj The object to be typed.
return
objectType 'string', 'number', 'boolean', 'node-set', 'RTF', or 'external'.
see
EXSLT

    if (obj instanceof String)
      return "string";
    else if (obj instanceof Boolean)
      return "boolean";
    else if (obj instanceof Number)
      return "number";
    else if (obj instanceof DTMNodeIterator)
    {
      DTMIterator dtmI = ((DTMNodeIterator)obj).getDTMIterator();
      if (dtmI instanceof com.sun.org.apache.xpath.internal.axes.RTFIterator)
      	return "RTF";
      else
        return "node-set";
    }
    else
      return "unknown";