org.apache.xalan.xsltc.runtime
Class BasisLibrary

java.lang.Object
  extended by org.apache.xalan.xsltc.runtime.BasisLibrary

public final class BasisLibrary
extends Object

Standard XSLT functions. All standard functions expect the current node and the DOM as their last two arguments.


Field Summary
static String AXIS_SUPPORT_ERR
           
static String CANT_RESOLVE_RELATIVE_URI_ERR
           
static String DATA_CONVERSION_ERR
           
static String DOM_ADAPTER_INIT_ERR
           
static String EQUALITY_EXPR_ERR
           
static String ERROR_MESSAGES_KEY
           
static String EXTERNAL_FUNC_ERR
           
static String FORMAT_NUMBER_ERR
           
static String INVALID_ARGUMENT_ERR
           
static String INVALID_NCNAME_ERR
           
static String INVALID_QNAME_ERR
           
static String ITERATOR_CLONE_ERR
           
static String NAMESPACE_PREFIX_ERR
           
static String NAMESPACES_SUPPORT_ERR
           
static String PARSER_DTD_SUPPORT_ERR
           
static String RUN_TIME_COPY_ERR
           
static String RUN_TIME_INTERNAL_ERR
           
static String STRAY_ATTRIBUTE_ERR
           
static String STRAY_NAMESPACE_ERR
           
static String TYPED_AXIS_SUPPORT_ERR
           
static String UNALLOWED_EXTENSION_ELEMENT_ERR
           
static String UNALLOWED_EXTENSION_FUNCTION_ERR
           
static String UNKNOWN_TRANSLET_VERSION_ERR
           
static String UNSUPPORTED_EXT_ERR
           
static String UNSUPPORTED_XSL_ERR
           
 
Constructor Summary
BasisLibrary()
           
 
Method Summary
static boolean booleanF(Object obj)
          XSLT Standard function boolean()
static void checkAttribQName(String name)
          Utility function to check if xsl:attribute has a valid qname This method should only be invoked if the name attribute is an AVT
static void checkNCName(String name)
          Utility function to check if a name is a valid ncname This method should only be invoked if the attribute value is an AVT
static void checkQName(String name)
          Utility function to check if a name is a valid qname This method should only be invoked if the attribute value is an AVT
static boolean compare(DTMAxisIterator left, double rnumber, int op, DOM dom)
          Utility function: node-set/number compare.
static boolean compare(DTMAxisIterator left, DTMAxisIterator right, int op, DOM dom)
          Utility function: node-set/node-set compare.
static boolean compare(DTMAxisIterator left, String rstring, int op, DOM dom)
          Utility function: node-set/string comparison.
static boolean compare(int node, DTMAxisIterator iterator, int op, DOM dom)
           
static boolean compare(Object left, Object right, int op, DOM dom)
           
static void consoleOutput(String msg)
           
static void copy(Object obj, SerializationHandler handler, int node, DOM dom)
           
static int countF(DTMAxisIterator iterator)
          Standard function count(node-set)
static String formatNumber(double number, String pattern, DecimalFormat formatter)
           
static String generate_idF(int node)
          XSLT Standard function generate-id().
static String generatePrefix()
           
static String getLocalName(String value)
          utility function for calls to local-name().
static String getPrefix(String qname)
          This function is used in the execution of xsl:element
static DTMAxisIterator getSingleNode(DTMAxisIterator iterator)
          Utility function: used with nth position filters to convert a sequence of nodes to just one single node (the one at position n).
static String mapQNameToJavaName(String base)
          Utility method to allow setting parameters of the form {namespaceuri}localName which get mapped to an instance variable in the class Hence a parameter of the form "{http://foo.bar}xyz" will be replaced with the corresponding values by the BasisLibrary's utility method mapQNametoJavaName and thus get mapped to legal java variable names
static String namespace_uriF(DTMAxisIterator iter, DOM dom)
          XSLT Standard function namespace-uri(node-set).
static String namespace_uriF(int node, DOM dom)
          XSLT Standard function namespace-uri().
static DTMAxisIterator node2Iterator(Node node, Translet translet, DOM dom)
          Utility function used to convert a w3c Node into an internal DOM iterator.
static DTMAxisIterator nodeList2Iterator(NodeList nodeList, Translet translet, DOM dom)
          Utility function used to convert a w3c NodeList into a internal DOM iterator.
static DTMAxisIterator nodesetF(Object obj)
          Implements the nodeset() extension function.
static String normalize_spaceF(int node, DOM dom)
          XSLT Standard function normalize-space().
static String normalize_spaceF(String value)
          XSLT Standard function normalize-space(string).
static double numberF(int node, DOM dom)
          XSLT Standard function number()
static double numberF(Object obj, DOM dom)
          XSLT Standard function number(value)
static String objectTypeF(Object obj)
          Implements the object-type() extension function.
static int positionF(DTMAxisIterator iterator)
          Deprecated. This method exists only for backwards compatibility with old translets. New code should not reference it.
static int realToInt(double d)
          Utility function: used in RealType to convert a real to an integer
static String realToString(double d)
          Utility function: used in RealType to convert a real to a string.
static boolean referenceToBoolean(Object obj)
          Utility function: used to convert reference to boolean.
static double referenceToDouble(Object obj)
          Utility function: used to convert reference to double.
static long referenceToLong(Object obj)
          Utility function: used to convert reference to long.
static Node referenceToNode(Object obj, DOM dom)
          Utility function: used to convert reference to org.w3c.dom.Node.
static NodeList referenceToNodeList(Object obj, DOM dom)
          Utility function: used to convert reference to org.w3c.dom.NodeList.
static DTMAxisIterator referenceToNodeSet(Object obj)
          Utility function: used to convert references to node-sets.
static DOM referenceToResultTree(Object obj)
          Utility function used to convert references to DOMs.
static String referenceToString(Object obj, DOM dom)
          Utility function: used to convert reference to String.
static String replace(String base, char ch, String str)
          Replace a certain character in a string with a new substring.
static String replace(String base, String delim, String[] str)
           
static double roundF(double d)
          XSLT Standard function round()
static void runTimeError(String code)
          Print a run-time error message.
static void runTimeError(String code, Object arg0)
           
static void runTimeError(String code, Object[] args)
           
static void runTimeError(String code, Object arg0, Object arg1)
           
static String startXslElement(String qname, String namespace, SerializationHandler handler, DOM dom, int node)
          Utility function for the implementation of xsl:element.
static String stringF(int node, DOM dom)
          XSLT Standard function string()
static String stringF(Object obj, DOM dom)
          XSLT Standard function string(value)
static String stringF(Object obj, int node, DOM dom)
          XSLT Standard function string(value)
static int stringToInt(String s)
          Utility function: used in StringType to convert a string to an int.
static double stringToReal(String s)
          Utility function: used in StringType to convert a string to a real.
static String substring_afterF(String value, String substring)
          XSLT Standard function substring-after().
static String substring_beforeF(String value, String substring)
          XSLT Standard function substring-before().
static String substringF(String value, double start)
          XSLT Standard function substring().
static String substringF(String value, double start, double length)
          XSLT Standard function substring().
static double sumF(DTMAxisIterator iterator, DOM dom)
          XSLT Standard function sum(node-set).
static String system_propertyF(String name)
          XSLT Standard function system-property(name)
static boolean testLanguage(String testLang, DOM dom, int node)
          Utility function: used to test context node's language
static String translateF(String value, String from, String to)
          XSLT Standard function translate().
static void unallowed_extension_elementF(String name)
          Utility function to throw a runtime error on the use of an extension element when the secure processing feature is set to true.
static void unallowed_extension_functionF(String name)
          Utility function to throw a runtime error on the use of an extension function when the secure processing feature is set to true.
static void unresolved_externalF(String name)
          External functions that cannot be resolved are replaced with a call to this method.
static void unsupported_ElementF(String qname, boolean isExtension)
          Utility function to throw a runtime error for an unsupported element.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

RUN_TIME_INTERNAL_ERR

public static final String RUN_TIME_INTERNAL_ERR
See Also:
Constant Field Values

RUN_TIME_COPY_ERR

public static final String RUN_TIME_COPY_ERR
See Also:
Constant Field Values

DATA_CONVERSION_ERR

public static final String DATA_CONVERSION_ERR
See Also:
Constant Field Values

EXTERNAL_FUNC_ERR

public static final String EXTERNAL_FUNC_ERR
See Also:
Constant Field Values

EQUALITY_EXPR_ERR

public static final String EQUALITY_EXPR_ERR
See Also:
Constant Field Values

INVALID_ARGUMENT_ERR

public static final String INVALID_ARGUMENT_ERR
See Also:
Constant Field Values

FORMAT_NUMBER_ERR

public static final String FORMAT_NUMBER_ERR
See Also:
Constant Field Values

ITERATOR_CLONE_ERR

public static final String ITERATOR_CLONE_ERR
See Also:
Constant Field Values

AXIS_SUPPORT_ERR

public static final String AXIS_SUPPORT_ERR
See Also:
Constant Field Values

TYPED_AXIS_SUPPORT_ERR

public static final String TYPED_AXIS_SUPPORT_ERR
See Also:
Constant Field Values

STRAY_ATTRIBUTE_ERR

public static final String STRAY_ATTRIBUTE_ERR
See Also:
Constant Field Values

STRAY_NAMESPACE_ERR

public static final String STRAY_NAMESPACE_ERR
See Also:
Constant Field Values

NAMESPACE_PREFIX_ERR

public static final String NAMESPACE_PREFIX_ERR
See Also:
Constant Field Values

DOM_ADAPTER_INIT_ERR

public static final String DOM_ADAPTER_INIT_ERR
See Also:
Constant Field Values

PARSER_DTD_SUPPORT_ERR

public static final String PARSER_DTD_SUPPORT_ERR
See Also:
Constant Field Values

NAMESPACES_SUPPORT_ERR

public static final String NAMESPACES_SUPPORT_ERR
See Also:
Constant Field Values

CANT_RESOLVE_RELATIVE_URI_ERR

public static final String CANT_RESOLVE_RELATIVE_URI_ERR
See Also:
Constant Field Values

UNSUPPORTED_XSL_ERR

public static final String UNSUPPORTED_XSL_ERR
See Also:
Constant Field Values

UNSUPPORTED_EXT_ERR

public static final String UNSUPPORTED_EXT_ERR
See Also:
Constant Field Values

UNKNOWN_TRANSLET_VERSION_ERR

public static final String UNKNOWN_TRANSLET_VERSION_ERR
See Also:
Constant Field Values

INVALID_QNAME_ERR

public static final String INVALID_QNAME_ERR
See Also:
Constant Field Values

INVALID_NCNAME_ERR

public static final String INVALID_NCNAME_ERR
See Also:
Constant Field Values

UNALLOWED_EXTENSION_FUNCTION_ERR

public static final String UNALLOWED_EXTENSION_FUNCTION_ERR
See Also:
Constant Field Values

UNALLOWED_EXTENSION_ELEMENT_ERR

public static final String UNALLOWED_EXTENSION_ELEMENT_ERR
See Also:
Constant Field Values

ERROR_MESSAGES_KEY

public static final String ERROR_MESSAGES_KEY
See Also:
Constant Field Values
Constructor Detail

BasisLibrary

public BasisLibrary()
Method Detail

countF

public static int countF(DTMAxisIterator iterator)
Standard function count(node-set)


positionF

public static int positionF(DTMAxisIterator iterator)
Deprecated. This method exists only for backwards compatibility with old translets. New code should not reference it.

Standard function position()


sumF

public static double sumF(DTMAxisIterator iterator,
                          DOM dom)
XSLT Standard function sum(node-set). stringToDouble is inlined


stringF

public static String stringF(int node,
                             DOM dom)
XSLT Standard function string()


stringF

public static String stringF(Object obj,
                             DOM dom)
XSLT Standard function string(value)


stringF

public static String stringF(Object obj,
                             int node,
                             DOM dom)
XSLT Standard function string(value)


numberF

public static double numberF(int node,
                             DOM dom)
XSLT Standard function number()


numberF

public static double numberF(Object obj,
                             DOM dom)
XSLT Standard function number(value)


roundF

public static double roundF(double d)
XSLT Standard function round()


booleanF

public static boolean booleanF(Object obj)
XSLT Standard function boolean()


substringF

public static String substringF(String value,
                                double start)
XSLT Standard function substring(). Must take a double because of conversions resulting into NaNs and rounding.


substringF

public static String substringF(String value,
                                double start,
                                double length)
XSLT Standard function substring(). Must take a double because of conversions resulting into NaNs and rounding.


substring_afterF

public static String substring_afterF(String value,
                                      String substring)
XSLT Standard function substring-after().


substring_beforeF

public static String substring_beforeF(String value,
                                       String substring)
XSLT Standard function substring-before().


translateF

public static String translateF(String value,
                                String from,
                                String to)
XSLT Standard function translate().


normalize_spaceF

public static String normalize_spaceF(int node,
                                      DOM dom)
XSLT Standard function normalize-space().


normalize_spaceF

public static String normalize_spaceF(String value)
XSLT Standard function normalize-space(string).


generate_idF

public static String generate_idF(int node)
XSLT Standard function generate-id().


getLocalName

public static String getLocalName(String value)
utility function for calls to local-name().


unresolved_externalF

public static void unresolved_externalF(String name)
External functions that cannot be resolved are replaced with a call to this method. This method will generate a runtime errors. A good stylesheet checks whether the function exists using conditional constructs, and never really tries to call it if it doesn't exist. But simple stylesheets may result in a call to this method. The compiler should generate a warning if it encounters a call to an unresolved external function.


unallowed_extension_functionF

public static void unallowed_extension_functionF(String name)
Utility function to throw a runtime error on the use of an extension function when the secure processing feature is set to true.


unallowed_extension_elementF

public static void unallowed_extension_elementF(String name)
Utility function to throw a runtime error on the use of an extension element when the secure processing feature is set to true.


unsupported_ElementF

public static void unsupported_ElementF(String qname,
                                        boolean isExtension)
Utility function to throw a runtime error for an unsupported element. This is only used in forward-compatibility mode, when the control flow cannot be determined. In 1.0 mode, the error message is emitted at compile time.


namespace_uriF

public static String namespace_uriF(DTMAxisIterator iter,
                                    DOM dom)
XSLT Standard function namespace-uri(node-set).


system_propertyF

public static String system_propertyF(String name)
XSLT Standard function system-property(name)


namespace_uriF

public static String namespace_uriF(int node,
                                    DOM dom)
XSLT Standard function namespace-uri().


objectTypeF

public static String objectTypeF(Object obj)
Implements the object-type() extension function.

See Also:
EXSLT

nodesetF

public static DTMAxisIterator nodesetF(Object obj)
Implements the nodeset() extension function.


compare

public static boolean compare(DTMAxisIterator left,
                              DTMAxisIterator right,
                              int op,
                              DOM dom)
Utility function: node-set/node-set compare.


compare

public static boolean compare(int node,
                              DTMAxisIterator iterator,
                              int op,
                              DOM dom)

compare

public static boolean compare(DTMAxisIterator left,
                              double rnumber,
                              int op,
                              DOM dom)
Utility function: node-set/number compare.


compare

public static boolean compare(DTMAxisIterator left,
                              String rstring,
                              int op,
                              DOM dom)
Utility function: node-set/string comparison.


compare

public static boolean compare(Object left,
                              Object right,
                              int op,
                              DOM dom)

testLanguage

public static boolean testLanguage(String testLang,
                                   DOM dom,
                                   int node)
Utility function: used to test context node's language


stringToReal

public static double stringToReal(String s)
Utility function: used in StringType to convert a string to a real.


stringToInt

public static int stringToInt(String s)
Utility function: used in StringType to convert a string to an int.


realToString

public static String realToString(double d)
Utility function: used in RealType to convert a real to a string. Removes the decimal if null.


realToInt

public static int realToInt(double d)
Utility function: used in RealType to convert a real to an integer


formatNumber

public static String formatNumber(double number,
                                  String pattern,
                                  DecimalFormat formatter)

referenceToNodeSet

public static DTMAxisIterator referenceToNodeSet(Object obj)
Utility function: used to convert references to node-sets. If the obj is an instanceof Node then create a singleton iterator.


referenceToNodeList

public static NodeList referenceToNodeList(Object obj,
                                           DOM dom)
Utility function: used to convert reference to org.w3c.dom.NodeList.


referenceToNode

public static Node referenceToNode(Object obj,
                                   DOM dom)
Utility function: used to convert reference to org.w3c.dom.Node.


referenceToLong

public static long referenceToLong(Object obj)
Utility function: used to convert reference to long.


referenceToDouble

public static double referenceToDouble(Object obj)
Utility function: used to convert reference to double.


referenceToBoolean

public static boolean referenceToBoolean(Object obj)
Utility function: used to convert reference to boolean.


referenceToString

public static String referenceToString(Object obj,
                                       DOM dom)
Utility function: used to convert reference to String.


node2Iterator

public static DTMAxisIterator node2Iterator(Node node,
                                            Translet translet,
                                            DOM dom)
Utility function used to convert a w3c Node into an internal DOM iterator.


nodeList2Iterator

public static DTMAxisIterator nodeList2Iterator(NodeList nodeList,
                                                Translet translet,
                                                DOM dom)
Utility function used to convert a w3c NodeList into a internal DOM iterator.


referenceToResultTree

public static DOM referenceToResultTree(Object obj)
Utility function used to convert references to DOMs.


getSingleNode

public static DTMAxisIterator getSingleNode(DTMAxisIterator iterator)
Utility function: used with nth position filters to convert a sequence of nodes to just one single node (the one at position n).


copy

public static void copy(Object obj,
                        SerializationHandler handler,
                        int node,
                        DOM dom)

checkAttribQName

public static void checkAttribQName(String name)
Utility function to check if xsl:attribute has a valid qname This method should only be invoked if the name attribute is an AVT


checkNCName

public static void checkNCName(String name)
Utility function to check if a name is a valid ncname This method should only be invoked if the attribute value is an AVT


checkQName

public static void checkQName(String name)
Utility function to check if a name is a valid qname This method should only be invoked if the attribute value is an AVT


startXslElement

public static String startXslElement(String qname,
                                     String namespace,
                                     SerializationHandler handler,
                                     DOM dom,
                                     int node)
Utility function for the implementation of xsl:element.


getPrefix

public static String getPrefix(String qname)
This function is used in the execution of xsl:element


generatePrefix

public static String generatePrefix()

runTimeError

public static void runTimeError(String code)
Print a run-time error message.


runTimeError

public static void runTimeError(String code,
                                Object[] args)

runTimeError

public static void runTimeError(String code,
                                Object arg0)

runTimeError

public static void runTimeError(String code,
                                Object arg0,
                                Object arg1)

consoleOutput

public static void consoleOutput(String msg)

replace

public static String replace(String base,
                             char ch,
                             String str)
Replace a certain character in a string with a new substring.


replace

public static String replace(String base,
                             String delim,
                             String[] str)

mapQNameToJavaName

public static String mapQNameToJavaName(String base)
Utility method to allow setting parameters of the form {namespaceuri}localName which get mapped to an instance variable in the class Hence a parameter of the form "{http://foo.bar}xyz" will be replaced with the corresponding values by the BasisLibrary's utility method mapQNametoJavaName and thus get mapped to legal java variable names



Copyright ? 2005 Apache XML Project. All Rights Reserved.