Xalan-C++ API Documentation

The Xalan C++ XSL Transformer Version 1.1

Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

ElemNumber Class Reference

#include <ElemNumber.hpp>

Inheritance diagram for ElemNumber

Inheritance graph

[legend]
Collaboration diagram for ElemNumber:

Collaboration graph

[legend]
List of all members.

Public Types

Public Methods

Static Public Methods

Protected Methods

Static Protected Methods


Member Typedef Documentation

typedef std::vector<DecimalToRoman> ElemNumber::DecimalToRomanVectorType
 

typedef std::vector<int> ElemNumber::IntArrayType
 

typedef std::map<XalanDOMChar, XalanNumberingResourceBundle> ElemNumber::NumberingResourceBundleMapType
 


Constructor & Destructor Documentation

ElemNumber::ElemNumber ( StylesheetConstructionContext & constructionContext,
Stylesheet & stylesheetTree,
const AttributeList & atts,
int lineNumber,
int columnNumber )
 

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

virtual ElemNumber::~ElemNumber ( ) [virtual]
 


Member Function Documentation

virtual void ElemNumber::execute ( StylesheetExecutionContext & executionContext ) const [virtual]
 

Execute the element's primary function.

Subclasses of this function may recursively execute down the element tree.

Parameters:
executionContext   The current execution context

Reimplemented from ElemTemplateElement.

XalanNode * ElemNumber::findAncestor ( StylesheetExecutionContext & executionContext,
const XPath * fromMatchPattern,
const XPath * countMatchPattern,
XalanNode * context,
const XalanElement * namespaceContext ) 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:
matchPatternString   The match pattern.
node   The node that "." expresses.
namespaceContext   The context in which namespaces in the queries are supposed to be expanded.

XalanNode * ElemNumber::findPrecedingOrAncestorOrSelf ( StylesheetExecutionContext & executionContext,
const XPath * fromMatchPattern,
const XPath * countMatchPattern,
XalanNode * context,
const XalanElement * namespaceContext ) 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:
matchPatternString   The match pattern.
node   The node that "." expresses.
namespaceContext   The context in which namespaces in the queries are supposed to be expanded.

void ElemNumber::formatNumberList ( StylesheetExecutionContext & executionContext,
const int theList[],
unsigned int theListLength,
XalanNode * contextNode,
XalanDOMString & formattedNumber ) const [protected]
 

Format an array of integers into a formatted string.

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

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

Get the count match pattern, or a default value.

void ElemNumber::getCountString ( StylesheetExecutionContext & executionContext,
XalanNode * sourceNode,
const MutableNodeRefList & ancestors,
CountersTable & ctable,
int numberList[],
unsigned int numberListLength,
XalanDOMString & theResult ) const [protected]
 

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.

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

Reimplemented from ElemTemplateElement.

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.
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,
XalanNode * contextNode ) const [protected]
 

Get a formatter.

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

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..

void ElemNumber::initialize ( ) [static]
 

Perform static initialization.

See class XSLTInit.

void ElemNumber::int2alphaCount ( int val,
const XalanDOMString & table,
XalanDOMString & theResult ) [static, protected]
 

Convert a long integer 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
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.

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

Convert a long integer 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.

void ElemNumber::long2roman ( long val,
bool prefixesAreOK,
XalanDOMString & theResult ) [static, protected]
 

Convert a long integer 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

void ElemNumber::terminate ( ) [static]
 

Perform static shut down.

See class XSLTInit.

void ElemNumber::tradAlphaCount ( int val,
XalanDOMString & theResult ) [static, protected]
 

Convert a long integer into traditional alphabetic counting, in other words count using the traditional numbering.

Parameters:
val   Value to convert -- must be greater than zero.
table   a table containing one character for each digit in the radix
Returns:
String representing alpha count of number.
See also:
XSLProcessor::DecimalToRoman

Note that the radix of the conversion is inferred from the size of the table.


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.

Xalan-C++ XSL Transformer Version 1.1
Copyright © 2000, 2001 The Apache Software Foundation. All Rights Reserved.