Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.9

Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

ElemNumber Class Reference

Inheritance diagram for ElemNumber:

Inheritance graph
[legend]
Collaboration diagram for ElemNumber:

Collaboration graph
[legend]
List of all members.

Public Types

Public Member Functions

Static Public Member Functions

Protected Member Functions

Static Protected Member Functions


Member Typedef Documentation

typedef CountersTable::CountType ElemNumber::CountType
 

typedef XalanVector<CountType> ElemNumber::CountTypeArrayType
 


Member Enumeration Documentation

enum ElemNumber::eLevel
 

Enumeration values:
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

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

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.

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.

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

Get the count match pattern, or a default value.

void ElemNumber::getCountString StylesheetExecutionContext executionContext,
const MutableNodeRefList ancestors,
CountersTable ctable,
CountType  numberList[],
NodeRefListBase::size_type  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]
 

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.

unsigned long ElemNumber::getID  )  const
 

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.

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.

void ElemNumber::initialize MemoryManagerType theManager  )  [static]
 

Perform static initialization.

See class XSLTInit.

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.

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.

void ElemNumber::long2roman 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

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.

void ElemNumber::terminate  )  [static]
 

Perform static shut down.

See class XSLTInit.

void ElemNumber::tradAlphaCount CountType  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++ XSLT Processor Version 1.9
Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.