Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.10

ElemNumber Class Reference

Inheritance diagram for ElemNumber:

ElemTemplateElement PrefixResolver List of all members.

Public Types

Public Member Functions

Static Public Member Functions

Protected Member Functions

Static Protected Member Functions

Classes


Member Typedef Documentation

typedef CountersTable::CountType ElemNumber::CountType

typedef XalanVector<CountType> ElemNumber::CountTypeArrayType


Member Enumeration Documentation

enum ElemNumber::eLevel

Enumerator:
eSingle 
eMultiple 
eAny 


Constructor & Destructor Documentation

ElemNumber::ElemNumber ( StylesheetConstructionContext constructionContext,
Stylesheet stylesheetTree,
const AttributeListType atts,
int  lineNumber,
int  columnNumber,
unsigned long  id 
)

Construct an object corresponding to an "xsl:number" element.

Parameters:
constructionContext context for construction of object
stylesheetTree stylesheet containing element
atts list of attributes for element
lineNumber line number in document
columnNumber column number in document
id The unique ID within the stylesheet for this xsl:number element

virtual ElemNumber::~ElemNumber (  )  [virtual]


Member Function Documentation

static void ElemNumber::initialize ( MemoryManagerType theManager  )  [static]

Perform static initialization.

See class XSLTInit.

static void ElemNumber::terminate (  )  [static]

Perform static shut down.

See class XSLTInit.

static ElemNumber* ElemNumber::create ( MemoryManagerType theManager,
StylesheetConstructionContext constructionContext,
Stylesheet stylesheetTree,
const AttributeListType atts,
int  lineNumber,
int  columnNumber,
unsigned long  id 
) [static]

virtual const XalanDOMString& ElemNumber::getElementName (  )  const [virtual]

Get a string for the name of the element.

Useful for debugging purposes, and error reporting.

Returns:
A string containing the name of the element.

Implements ElemTemplateElement.

virtual const ElemTemplateElement* ElemNumber::startElement ( StylesheetExecutionContext executionContext  )  const [virtual]

Completes "pre-processing" before any sub-elements are invoked (i.e.

children, attribute sets and templates). If there are no sub-elements it executes the primary function of the element.

Parameters:
executionContext context to execute this element

Reimplemented from ElemTemplateElement.

unsigned long ElemNumber::getID (  )  const

XalanNode* ElemNumber::getPreviousNode ( StylesheetExecutionContext executionContext,
XalanNode pos 
) const

Get the previous node to be counted.

XalanNode* ElemNumber::getTargetNode ( StylesheetExecutionContext executionContext,
XalanNode sourceNode 
) const

Get the target node that will be counted.

virtual const XPath* ElemNumber::getXPath ( unsigned int  index = 0  )  const [virtual]

Get XPath pattern/expression of one of the element atribute.

number of the attribute. If an attribute has more then one attribute with pattern/expression,the order of the returned expressions are undefined

Returns:
pointer or null

Reimplemented from ElemTemplateElement.

XalanNode* ElemNumber::findAncestor ( StylesheetExecutionContext executionContext,
const XPath fromMatchPattern,
const XPath countMatchPattern,
XalanNode context 
) const [protected]

Given a 'from' pattern (ala xsl:number), a match pattern and a context, find the first ancestor that matches the pattern (including the context handed in).

Parameters:
executionContext The current execution context
matchPatternString The match pattern.
matchPatternString The count match pattern.
node The context node
Returns:
A pointer to the matched node.

XalanNode* ElemNumber::findPrecedingOrAncestorOrSelf ( StylesheetExecutionContext executionContext,
const XPath fromMatchPattern,
const XPath countMatchPattern,
XalanNode context 
) const [protected]

Given a 'from' pattern (ala xsl:number), a match pattern and a context, find the first ancestor that matches the pattern (including the context handed in).

Parameters:
executionContext The current execution context
matchPatternString The match pattern.
matchPatternString The count match pattern.
node The context node
Returns:
A pointer to the matched node.

const XPath* ElemNumber::getCountMatchPattern ( StylesheetExecutionContext executionContext,
XalanNode contextNode 
) const [protected]

Get the count match pattern, or a default value.

void ElemNumber::getCountString ( StylesheetExecutionContext executionContext,
XalanDOMString theResult 
) const [protected]

Given an XML source node, get the count according to the parameters set up by the xsl:number attributes.

void ElemNumber::getCountString ( StylesheetExecutionContext executionContext,
const MutableNodeRefList ancestors,
CountersTable ctable,
CountType  numberList[],
NodeRefListBase::size_type  numberListLength,
XalanDOMString theResult 
) const [protected]

void ElemNumber::getMatchingAncestors ( StylesheetExecutionContext executionContext,
XalanNode node,
bool  stopAtFirstFound,
MutableNodeRefList ancestors 
) const [protected]

Get the ancestors, up to the root, that match the pattern.

Parameters:
patterns if non-0, count only nodes that match this pattern, if 0 count all ancestors.
executionContext The current execution context.
node Count this node and it's ancestors.
stopAtFirstFound If true, only get the first matching ancestor
ancestors The ancestors that match the pattern.

XalanNumberFormat* ElemNumber::getNumberFormatter ( StylesheetExecutionContext executionContext  )  const [protected]

Get a formatter.

Parameters:
executionContext The current execution context.
Returns:
A new XalanNumberFormat instance. The caller owns the memory.

void ElemNumber::formatNumberList ( StylesheetExecutionContext executionContext,
const CountType  theList[],
NodeRefListBase::size_type  theListLength,
XalanDOMString formattedNumber 
) const [protected]

Format an array of integrals into a formatted string.

Parameters:
executionContext The current execution context.
theList Array of one or more integer numbers.
theListLength The length of the array.
formattedNumber The formatted number result.

static void ElemNumber::int2singlealphaCount ( CountType  val,
const XalanDOMString table,
XalanDOMString theResult 
) [static, protected]

Convert an intergral into alphabetic counting, in other words count using the sequence A B C .

.. Z.

Parameters:
val Value to convert -- must be greater than zero.
table a table containing one character for each digit in the radix
theResult A string representing alpha count of number.
See also:
XSLTEngineImpl::DecimalToRoman
Note that the radix of the conversion is inferred from the size of the table.

static void ElemNumber::int2alphaCount ( CountType  val,
const XalanDOMChar  table[],
XalanDOMString::size_type  length,
XalanDOMString theResult 
) [static, protected]

Convert an integral into alphabetic counting, in other words count using the sequence A B C .

.. Z AA AB AC.... etc.

Parameters:
val Value to convert -- must be greater than zero.
table a table containing one character for each digit in the radix
length the table length
result returns the stringrepresenting alpha count of number.
See also:
XSLTEngineImpl::DecimalToRoman
Note that the radix of the conversion is inferred from the size of the table.

static void ElemNumber::toRoman ( CountType  val,
bool  prefixesAreOK,
XalanDOMString theResult 
) [static, protected]

Convert an integral into roman numerals.

Parameters:
val Value to convert.
prefixesAreOK true to enable prefix notation (e.g. 4 = "IV"), false to disable prefix notation (e.g. 4 = "IIII").
theResult The formatted Roman numeral string.
See also:
DecimalToRoman

m_romanConvertTable


The documentation for this class was generated from the following file:

Interpreting class diagrams

Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.

dot

Xalan-C++ XSLT Processor Version 1.10
Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.

Apache Logo