Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.11


Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions

ElemNumber Class Reference

#include <ElemNumber.hpp>

Inherits ElemTemplateElement.

Collaboration diagram for ElemNumber:
Collaboration graph
[legend]

List of all members.

Classes

Public Types

Public Member Functions

Static Public Member Functions

Protected Member Functions

Static Protected Member Functions


Detailed Description

Definition at line 59 of file ElemNumber.hpp.


Member Typedef Documentation

Definition at line 63 of file ElemNumber.hpp.

Definition at line 72 of file ElemNumber.hpp.


Member Enumeration Documentation

Enumerator:
eSingle 
eMultiple 
eAny 

Definition at line 65 of file ElemNumber.hpp.


Constructor & Destructor Documentation

ElemNumber::ElemNumber ( StylesheetConstructionContext constructionContext,
Stylesheet stylesheetTree,
const AttributeListType atts,
XalanFileLoc  lineNumber,
XalanFileLoc  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 ElemNumber* ElemNumber::create ( MemoryManager &  theManager,
StylesheetConstructionContext constructionContext,
Stylesheet stylesheetTree,
const AttributeListType atts,
XalanFileLoc  lineNumber,
XalanFileLoc  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,
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]
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 [inline]

Definition at line 131 of file ElemNumber.hpp.

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 ( XalanSize_t  index  )  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.

static void ElemNumber::initialize ( MemoryManager &  theManager  )  [static]

Perform static initialization.

See class XSLTInit.

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

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.

static void ElemNumber::terminate (  )  [static]

Perform static shut down.

See class XSLTInit.

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.

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

Apache Logo