org.apache.xalan.xsltc.runtime
Class BasisLibrary

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

public final class BasisLibrary
extends java.lang.Object

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


Field Summary
private static char[] _characterArray
          Utility function: used in xsl:copy.
private static java.text.FieldPosition _fieldPosition
          Utility function: used to format/adjust a double to a string.
static java.lang.String AXIS_SUPPORT_ERR
           
static java.lang.String CANT_RESOLVE_RELATIVE_URI_ERR
           
static java.lang.String DATA_CONVERSION_ERR
           
private static java.text.DecimalFormat defaultFormatter
           
private static java.lang.String defaultPattern
           
static java.lang.String DOM_ADAPTER_INIT_ERR
           
private static int DOUBLE_FRACTION_DIGITS
           
private static java.lang.String EMPTYSTRING
           
static java.lang.String EQUALITY_EXPR_ERR
           
static java.lang.String ERROR_MESSAGES_KEY
           
static java.lang.String EXTERNAL_FUNC_ERR
           
static java.lang.String FORMAT_NUMBER_ERR
           
static java.lang.String INVALID_ARGUMENT_ERR
           
static java.lang.String INVALID_NCNAME_ERR
           
static java.lang.String INVALID_QNAME_ERR
           
static java.lang.String ITERATOR_CLONE_ERR
           
private static double lowerBounds
           
private static java.util.ResourceBundle m_bundle
           
static java.lang.String NAMESPACE_PREFIX_ERR
           
static java.lang.String NAMESPACES_SUPPORT_ERR
           
static java.lang.String PARSER_DTD_SUPPORT_ERR
           
private static int prefixIndex
          This function is used in the execution of xsl:element
static java.lang.String RUN_TIME_COPY_ERR
           
static java.lang.String RUN_TIME_INTERNAL_ERR
           
static java.lang.String STRAY_ATTRIBUTE_ERR
           
static java.lang.String STRAY_NAMESPACE_ERR
           
static java.lang.String TYPED_AXIS_SUPPORT_ERR
           
static java.lang.String UNALLOWED_EXTENSION_ELEMENT_ERR
           
static java.lang.String UNALLOWED_EXTENSION_FUNCTION_ERR
           
static java.lang.String UNKNOWN_TRANSLET_VERSION_ERR
           
static java.lang.String UNSUPPORTED_EXT_ERR
           
static java.lang.String UNSUPPORTED_XSL_ERR
           
private static double upperBounds
           
 
Constructor Summary
BasisLibrary()
           
 
Method Summary
static boolean booleanF(java.lang.Object obj)
          XSLT Standard function boolean()
static void checkAttribQName(java.lang.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(java.lang.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(java.lang.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, java.lang.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(java.lang.Object left, java.lang.Object right, int op, DOM dom)
           
private static boolean compareStrings(java.lang.String lstring, java.lang.String rstring, int op, DOM dom)
           
static void consoleOutput(java.lang.String msg)
           
static void copy(java.lang.Object obj, SerializationHandler handler, int node, DOM dom)
           
static int countF(DTMAxisIterator iterator)
          Standard function count(node-set)
static java.lang.String expandStylesheetQNameRef(java.lang.String lexicalQName, int stylesheetNodeID, int[] ancestorNodeIDs, int[] prefixURIsIndex, java.lang.String[] prefixURIPairs, boolean ignoreDefault)
          Look up the namespace for a lexical QName using the namespace declarations available at a particular location in the stylesheet and return the expanded QName
static java.lang.String formatNumber(double number, java.lang.String pattern, java.text.DecimalFormat formatter)
           
static java.lang.String generate_idF(int node)
          XSLT Standard function generate-id().
static java.lang.String generatePrefix()
           
static java.lang.String getLocalName(java.lang.String value)
          utility function for calls to local-name().
static java.lang.String getPrefix(java.lang.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).
private static boolean hasSimpleType(java.lang.Object obj)
           
private static boolean isWhiteSpace(char ch)
           
static java.lang.String lookupStylesheetQNameNamespace(java.lang.String lexicalQName, int stylesheetNodeID, int[] ancestorNodeIDs, int[] prefixURIsIndex, java.lang.String[] prefixURIPairs, boolean ignoreDefault)
          Look up the namespace for a lexical QName using the namespace declarations available at a particular location in the stylesheet.
static java.lang.String mapQNameToJavaName(java.lang.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 java.lang.String namespace_uriF(DTMAxisIterator iter, DOM dom)
          XSLT Standard function namespace-uri(node-set).
static java.lang.String namespace_uriF(int node, DOM dom)
          XSLT Standard function namespace-uri().
static DTMAxisIterator node2Iterator(org.w3c.dom.Node node, Translet translet, DOM dom)
          Utility function used to convert a w3c Node into an internal DOM iterator.
static DTMAxisIterator nodeList2Iterator(org.w3c.dom.NodeList nodeList, Translet translet, DOM dom)
          Utility function used to convert a w3c NodeList into a internal DOM iterator.
private static DTMAxisIterator nodeList2IteratorUsingHandleFromNode(org.w3c.dom.NodeList nodeList, Translet translet, DOM dom)
          In a perfect world, this would be the implementation for nodeList2Iterator.
static DTMAxisIterator nodesetF(java.lang.Object obj)
          Implements the nodeset() extension function.
static java.lang.String normalize_spaceF(int node, DOM dom)
          XSLT Standard function normalize-space().
static java.lang.String normalize_spaceF(java.lang.String value)
          XSLT Standard function normalize-space(string).
static double numberF(int node, DOM dom)
          XSLT Standard function number()
static double numberF(java.lang.Object obj, DOM dom)
          XSLT Standard function number(value)
static java.lang.String objectTypeF(java.lang.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 java.lang.String realToString(double d)
          Utility function: used in RealType to convert a real to a string.
static boolean referenceToBoolean(java.lang.Object obj)
          Utility function: used to convert reference to boolean.
static double referenceToDouble(java.lang.Object obj)
          Utility function: used to convert reference to double.
static long referenceToLong(java.lang.Object obj)
          Utility function: used to convert reference to long.
static org.w3c.dom.Node referenceToNode(java.lang.Object obj, DOM dom)
          Utility function: used to convert reference to org.w3c.dom.Node.
static org.w3c.dom.NodeList referenceToNodeList(java.lang.Object obj, DOM dom)
          Utility function: used to convert reference to org.w3c.dom.NodeList.
static DTMAxisIterator referenceToNodeSet(java.lang.Object obj)
          Utility function: used to convert references to node-sets.
static DOM referenceToResultTree(java.lang.Object obj)
          Utility function used to convert references to DOMs.
static java.lang.String referenceToString(java.lang.Object obj, DOM dom)
          Utility function: used to convert reference to String.
static java.lang.String replace(java.lang.String base, char ch, java.lang.String str)
          Replace a certain character in a string with a new substring.
static java.lang.String replace(java.lang.String base, java.lang.String delim, java.lang.String[] str)
           
static double roundF(double d)
          XSLT Standard function round()
static void runTimeError(java.lang.String code)
          Print a run-time error message.
static void runTimeError(java.lang.String code, java.lang.Object arg0)
           
static void runTimeError(java.lang.String code, java.lang.Object[] args)
           
static void runTimeError(java.lang.String code, java.lang.Object arg0, java.lang.Object arg1)
           
static java.lang.String startXslElement(java.lang.String qname, java.lang.String namespace, SerializationHandler handler, DOM dom, int node)
          Utility function for the implementation of xsl:element.
static java.lang.String stringF(int node, DOM dom)
          XSLT Standard function string()
static java.lang.String stringF(java.lang.Object obj, DOM dom)
          XSLT Standard function string(value)
static java.lang.String stringF(java.lang.Object obj, int node, DOM dom)
          XSLT Standard function string(value)
static int stringToInt(java.lang.String s)
          Utility function: used in StringType to convert a string to an int.
static double stringToReal(java.lang.String s)
          Utility function: used in StringType to convert a string to a real.
static java.lang.String substring_afterF(java.lang.String value, java.lang.String substring)
          XSLT Standard function substring-after().
static java.lang.String substring_beforeF(java.lang.String value, java.lang.String substring)
          XSLT Standard function substring-before().
static java.lang.String substringF(java.lang.String value, double start)
          XSLT Standard function substring().
static java.lang.String substringF(java.lang.String value, double start, double length)
          XSLT Standard function substring().
static double sumF(DTMAxisIterator iterator, DOM dom)
          XSLT Standard function sum(node-set).
static java.lang.String system_propertyF(java.lang.String name)
          XSLT Standard function system-property(name)
static boolean testLanguage(java.lang.String testLang, DOM dom, int node)
          Utility function: used to test context node's language
static java.lang.String translateF(java.lang.String value, java.lang.String from, java.lang.String to)
          XSLT Standard function translate().
static void unallowed_extension_elementF(java.lang.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(java.lang.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(java.lang.String name)
          External functions that cannot be resolved are replaced with a call to this method.
static void unsupported_ElementF(java.lang.String qname, boolean isExtension)
          Utility function to throw a runtime error for an unsupported element.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EMPTYSTRING

private static final java.lang.String EMPTYSTRING
See Also:
Constant Field Values

DOUBLE_FRACTION_DIGITS

private static final int DOUBLE_FRACTION_DIGITS
See Also:
Constant Field Values

lowerBounds

private static final double lowerBounds
See Also:
Constant Field Values

upperBounds

private static final double upperBounds
See Also:
Constant Field Values

defaultFormatter

private static java.text.DecimalFormat defaultFormatter

defaultPattern

private static java.lang.String defaultPattern

_fieldPosition

private static java.text.FieldPosition _fieldPosition
Utility function: used to format/adjust a double to a string. The DecimalFormat object comes from the 'formatSymbols' hashtable in AbstractTranslet.


_characterArray

private static char[] _characterArray
Utility function: used in xsl:copy.


prefixIndex

private static int prefixIndex
This function is used in the execution of xsl:element


RUN_TIME_INTERNAL_ERR

public static final java.lang.String RUN_TIME_INTERNAL_ERR
See Also:
Constant Field Values

RUN_TIME_COPY_ERR

public static final java.lang.String RUN_TIME_COPY_ERR
See Also:
Constant Field Values

DATA_CONVERSION_ERR

public static final java.lang.String DATA_CONVERSION_ERR
See Also:
Constant Field Values

EXTERNAL_FUNC_ERR

public static final java.lang.String EXTERNAL_FUNC_ERR
See Also:
Constant Field Values

EQUALITY_EXPR_ERR

public static final java.lang.String EQUALITY_EXPR_ERR
See Also:
Constant Field Values

INVALID_ARGUMENT_ERR

public static final java.lang.String INVALID_ARGUMENT_ERR
See Also:
Constant Field Values

FORMAT_NUMBER_ERR

public static final java.lang.String FORMAT_NUMBER_ERR
See Also:
Constant Field Values

ITERATOR_CLONE_ERR

public static final java.lang.String ITERATOR_CLONE_ERR
See Also:
Constant Field Values

AXIS_SUPPORT_ERR

public static final java.lang.String AXIS_SUPPORT_ERR
See Also:
Constant Field Values

TYPED_AXIS_SUPPORT_ERR

public static final java.lang.String TYPED_AXIS_SUPPORT_ERR
See Also:
Constant Field Values

STRAY_ATTRIBUTE_ERR

public static final java.lang.String STRAY_ATTRIBUTE_ERR
See Also:
Constant Field Values

STRAY_NAMESPACE_ERR

public static final java.lang.String STRAY_NAMESPACE_ERR
See Also:
Constant Field Values

NAMESPACE_PREFIX_ERR

public static final java.lang.String NAMESPACE_PREFIX_ERR
See Also:
Constant Field Values

DOM_ADAPTER_INIT_ERR

public static final java.lang.String DOM_ADAPTER_INIT_ERR
See Also:
Constant Field Values

PARSER_DTD_SUPPORT_ERR

public static final java.lang.String PARSER_DTD_SUPPORT_ERR
See Also:
Constant Field Values

NAMESPACES_SUPPORT_ERR

public static final java.lang.String NAMESPACES_SUPPORT_ERR
See Also:
Constant Field Values

CANT_RESOLVE_RELATIVE_URI_ERR

public static final java.lang.String CANT_RESOLVE_RELATIVE_URI_ERR
See Also:
Constant Field Values

UNSUPPORTED_XSL_ERR

public static final java.lang.String UNSUPPORTED_XSL_ERR
See Also:
Constant Field Values

UNSUPPORTED_EXT_ERR

public static final java.lang.String UNSUPPORTED_EXT_ERR
See Also:
Constant Field Values

UNKNOWN_TRANSLET_VERSION_ERR

public static final java.lang.String UNKNOWN_TRANSLET_VERSION_ERR
See Also:
Constant Field Values

INVALID_QNAME_ERR

public static final java.lang.String INVALID_QNAME_ERR
See Also:
Constant Field Values

INVALID_NCNAME_ERR

public static final java.lang.String INVALID_NCNAME_ERR
See Also:
Constant Field Values

UNALLOWED_EXTENSION_FUNCTION_ERR

public static final java.lang.String UNALLOWED_EXTENSION_FUNCTION_ERR
See Also:
Constant Field Values

UNALLOWED_EXTENSION_ELEMENT_ERR

public static final java.lang.String UNALLOWED_EXTENSION_ELEMENT_ERR
See Also:
Constant Field Values

m_bundle

private static java.util.ResourceBundle m_bundle

ERROR_MESSAGES_KEY

public static final java.lang.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 java.lang.String stringF(int node,
                                       DOM dom)
XSLT Standard function string()


stringF

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


stringF

public static java.lang.String stringF(java.lang.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(java.lang.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(java.lang.Object obj)
XSLT Standard function boolean()


substringF

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


substringF

public static java.lang.String substringF(java.lang.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 java.lang.String substring_afterF(java.lang.String value,
                                                java.lang.String substring)
XSLT Standard function substring-after().


substring_beforeF

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


translateF

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


normalize_spaceF

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


normalize_spaceF

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


generate_idF

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


getLocalName

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


unresolved_externalF

public static void unresolved_externalF(java.lang.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(java.lang.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(java.lang.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(java.lang.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 java.lang.String namespace_uriF(DTMAxisIterator iter,
                                              DOM dom)
XSLT Standard function namespace-uri(node-set).


system_propertyF

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


namespace_uriF

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


objectTypeF

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

See Also:
EXSLT

nodesetF

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


isWhiteSpace

private static boolean isWhiteSpace(char ch)

compareStrings

private static boolean compareStrings(java.lang.String lstring,
                                      java.lang.String rstring,
                                      int op,
                                      DOM dom)

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,
                              java.lang.String rstring,
                              int op,
                              DOM dom)
Utility function: node-set/string comparison.


compare

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

testLanguage

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


hasSimpleType

private static boolean hasSimpleType(java.lang.Object obj)

stringToReal

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


stringToInt

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


realToString

public static java.lang.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 java.lang.String formatNumber(double number,
                                            java.lang.String pattern,
                                            java.text.DecimalFormat formatter)

referenceToNodeSet

public static DTMAxisIterator referenceToNodeSet(java.lang.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 org.w3c.dom.NodeList referenceToNodeList(java.lang.Object obj,
                                                       DOM dom)
Utility function: used to convert reference to org.w3c.dom.NodeList.


referenceToNode

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


referenceToLong

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


referenceToDouble

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


referenceToBoolean

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


referenceToString

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


node2Iterator

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


nodeList2IteratorUsingHandleFromNode

private static DTMAxisIterator nodeList2IteratorUsingHandleFromNode(org.w3c.dom.NodeList nodeList,
                                                                    Translet translet,
                                                                    DOM dom)
In a perfect world, this would be the implementation for nodeList2Iterator. In reality, though, this causes a ClassCastException in getDTMHandleFromNode because SAXImpl is not an instance of DOM2DTM. So we use the more lengthy implementation below until this issue has been addressed.

See Also:
DTMManagerDefault.getDTMHandleFromNode(org.w3c.dom.Node)

nodeList2Iterator

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


referenceToResultTree

public static DOM referenceToResultTree(java.lang.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(java.lang.Object obj,
                        SerializationHandler handler,
                        int node,
                        DOM dom)

checkAttribQName

public static void checkAttribQName(java.lang.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(java.lang.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(java.lang.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 java.lang.String startXslElement(java.lang.String qname,
                                               java.lang.String namespace,
                                               SerializationHandler handler,
                                               DOM dom,
                                               int node)
Utility function for the implementation of xsl:element.


lookupStylesheetQNameNamespace

public static java.lang.String lookupStylesheetQNameNamespace(java.lang.String lexicalQName,
                                                              int stylesheetNodeID,
                                                              int[] ancestorNodeIDs,
                                                              int[] prefixURIsIndex,
                                                              java.lang.String[] prefixURIPairs,
                                                              boolean ignoreDefault)

Look up the namespace for a lexical QName using the namespace declarations available at a particular location in the stylesheet.

See Stylesheet.compileStaticInitializer(org.apache.xalan.xsltc.compiler.util.ClassGenerator) for more information about the ancestorNodeIDs, prefixURIsIndex and prefixURIPairs

Parameters:
lexicalQName - The QName as a java.lang.String
stylesheetNodeID - An int representing the element in the stylesheet relative to which the namespace of the lexical QName is to be determined
ancestorNodeIDs - An int array, indexed by stylesheet node IDs, containing the ID of the nearest ancestor node in the stylesheet that has namespace declarations, or -1 if there is no such ancestor
prefixURIsIndex - An int array, indexed by stylesheet node IDs, containing the index into the prefixURIPairs array of the first prefix declared on that stylesheet node
prefixURIPairs - A java.lang.String array that contains pairs of
ignoreDefault - A boolean indicating whether any default namespace decarlation should be considered
Returns:
The namespace of the lexical QName or a zero-length string if the QName is in no namespace or no namespace declaration for the prefix of the QName was found

expandStylesheetQNameRef

public static java.lang.String expandStylesheetQNameRef(java.lang.String lexicalQName,
                                                        int stylesheetNodeID,
                                                        int[] ancestorNodeIDs,
                                                        int[] prefixURIsIndex,
                                                        java.lang.String[] prefixURIPairs,
                                                        boolean ignoreDefault)

Look up the namespace for a lexical QName using the namespace declarations available at a particular location in the stylesheet and return the expanded QName

See Stylesheet.compileStaticInitializer(org.apache.xalan.xsltc.compiler.util.ClassGenerator) for more information about the ancestorNodeIDs, prefixURIsIndex and prefixURIPairs

Parameters:
lexicalQName - The QName as a java.lang.String
stylesheetNodeID - An int representing the element in the stylesheet relative to which the namespace of the lexical QName is to be determined
ancestorNodeIDs - An int array, indexed by stylesheet node IDs, containing the ID of the nearest ancestor node in the stylesheet that has namespace declarations, or -1 if there is no such ancestor
prefixURIsIndex - An int array, indexed by stylesheet node IDs, containing the index into the prefixURIPairs array of the first prefix declared on that stylesheet node
prefixURIPairs - A java.lang.String array that contains pairs of
ignoreDefault - A boolean indicating whether any default namespace decarlation should be considered
Returns:
The expanded QName in the form "uri:localName" or just "localName" if the QName is in no namespace or no namespace declaration for the prefix of the QName was found

getPrefix

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


generatePrefix

public static java.lang.String generatePrefix()

runTimeError

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


runTimeError

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

runTimeError

public static void runTimeError(java.lang.String code,
                                java.lang.Object arg0)

runTimeError

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

consoleOutput

public static void consoleOutput(java.lang.String msg)

replace

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


replace

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

mapQNameToJavaName

public static java.lang.String mapQNameToJavaName(java.lang.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