org.exolab.adaptx.xslt
Class XSLNumber

java.lang.Object
  extended by org.exolab.adaptx.xslt.XSLObject
      extended by org.exolab.adaptx.xslt.XSLNumber

public class XSLNumber
extends XSLObject

Represents the xsl:number element. Handles numbering in the source tree
Section 2.7.10 of the W3C XSL Working Draft 1.0 (19981216)
Section 9.7 of the W3C XSLT Working Draft 1.0 (1990421)

Version:
$Revision: 3633 $ $Date: 2003-03-01 02:38:44 -0500 (Sat, 01 Mar 2003) $
Author:
Keith Visco

Field Summary
 
Fields inherited from class org.exolab.adaptx.xslt.XSLObject
APPLY_IMPORTS, APPLY_TEMPLATES, ARG, ATTRIBUTE, ATTRIBUTE_SET, CALL_TEMPLATE, CDATA, CHOOSE, COMMENT, CONTENTS, COPY, COPY_OF, ELEMENT, ENTITY_REF, FOR_EACH, FUNCTIONS, ID, IF, IMPORT, INCLUDE, KEY, LITERAL, LOCALE, MESSAGE, NUMBER, OTHERWISE, OUTPUT, PARAM, PI, PRESERVE_SPACE, SCRIPT, SORT, STRIP_SPACE, STYLESHEET, TEMPLATE, TEXT, VALUE_OF, VARIABLE, WHEN, WITH_PARAM
 
Constructor Summary
XSLNumber()
          Creates a new XSLNumber Object
 
Method Summary
 int[] doNumbering(XPathNode node, ProcessorState ps)
          Performs the numbering of the given XPathNode
 java.lang.String getFormattedNumber(XPathNode node, ProcessorState ps)
          Performs the numbering of the given XPathNode and returns the number using the format of this XSLNumber.
 void setAttribute(java.lang.String name, java.lang.String value)
          Sets the attribute with the given name to the given value.
 void setCountAttr(java.lang.String count)
          Sets the count expression of this XSLNumber
 void setFormatAttr(java.lang.String format)
          Sets the format pattern of this XSLNumber
 void setFromAttr(java.lang.String from)
           
 void setLevel(java.lang.String level)
          Sets the level of numbering for this XSLNumber
 
Methods inherited from class org.exolab.adaptx.xslt.XSLObject
addNamespaceDecl, appendAction, appendText, appendText, getActions, getAttribute, getAttributes, getNamespace, getNearestAncestor, getNodeValue, getStylesheet, getText, getType, getTypeFromName, getTypeName, resolveNamespace, setAllowActions, setNamespace, setTypeName
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XSLNumber

public XSLNumber()
Creates a new XSLNumber Object

Method Detail

doNumbering

public int[] doNumbering(XPathNode node,
                         ProcessorState ps)
                  throws XPathException
Performs the numbering of the given XPathNode

Parameters:
XPathNode - the XPathNode to perform numbering on. [This must be of type XPathNode.ELEMENT]
Returns:
an array of integers which represent the multi-level number of the given element. Single-level numbering will return an array of size 1.
Throws:
XPathException

getFormattedNumber

public java.lang.String getFormattedNumber(XPathNode node,
                                           ProcessorState ps)
Performs the numbering of the given XPathNode and returns the number using the format of this XSLNumber.

Parameters:
node - the XPathNode to get the number of. This node must be of type XPathNode.ELEMENT.
Returns:
the formatted number as a String

setAttribute

public void setAttribute(java.lang.String name,
                         java.lang.String value)
                  throws XSLException
Description copied from class: XSLObject
Sets the attribute with the given name to the given value.

Overrides:
setAttribute in class XSLObject
Parameters:
name - the name of the attribute to set
value - the value to set the attribute to
Throws:
XSLException - if this XSLObject does not allow attributes with the given name, or if the attribute is read only
See Also:
XSLObject

setCountAttr

public void setCountAttr(java.lang.String count)
Sets the count expression of this XSLNumber

Parameters:
count - the String value to use as the count expr expression of this XSLNumber

setFormatAttr

public void setFormatAttr(java.lang.String format)
Sets the format pattern of this XSLNumber

Parameters:
format - the Number Format to use

setFromAttr

public void setFromAttr(java.lang.String from)

setLevel

public void setLevel(java.lang.String level)
Sets the level of numbering for this XSLNumber

Parameters:
level - the desired level.
  Levels are "single", "multi", or "any"