Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.10

Public Types | Public Member Functions | Public Attributes | List of all members
Counter Struct Reference

<meta name="usage" content="internal"> A class that does incremental counting for support of xsl:number. More...

Public Types

typedef unsigned long CountType
typedef XalanVector< XalanNode * > NodeVectorType

Public Member Functions

 Counter (MemoryManagerType &theManager, const ElemNumber *numberElem, NodeVectorType &countNodes)
 Construct a counter object.
 Counter (MemoryManagerType &theManager, const ElemNumber *numberElem=0)
 Construct a counter object.
 Counter (const Counter &other, MemoryManagerType &theManager)
CountType getPreviouslyCounted (StylesheetExecutionContext &support, const XalanNode *node) const
 Try to find a node that was previously counted.
XalanNodegetLast () const
 Get the last node in the list.

Public Attributes

CountType m_countNodesStartCount
 The start count from where m_countNodes counts from.
NodeVectorType m_countNodes
 A vector of all nodes counted so far.
const XalanNodem_fromNode
 The node from where the counting starts.
const ElemNumberm_numberElem
 The owning xsl:number element.

Detailed Description

<meta name="usage" content="internal"> A class that does incremental counting for support of xsl:number.

This class stores a cache of counted nodes (m_countNodes). It tries to cache the counted nodes in document order... the node count is based on its position in the cache list

Member Typedef Documentation

typedef unsigned long Counter::CountType

Constructor & Destructor Documentation

Counter::Counter ( MemoryManagerType theManager,
const ElemNumber numberElem,
NodeVectorType countNodes 
)

Construct a counter object.

Counter::Counter ( MemoryManagerType theManager,
const ElemNumber numberElem = 0 
)

Construct a counter object.

Counter::Counter ( const Counter other,
MemoryManagerType theManager 
)

Member Function Documentation

XalanNode* Counter::getLast ( ) const

Get the last node in the list.

CountType Counter::getPreviouslyCounted ( StylesheetExecutionContext support,
const XalanNode node 
) const

Try to find a node that was previously counted.

If found, return a positive integer that corresponds to the count.

Parameters
nodeThe node to be counted.
Returns
The count of the node, or 0 if not found.

Member Data Documentation

NodeVectorType Counter::m_countNodes

A vector of all nodes counted so far.

CountType Counter::m_countNodesStartCount

The start count from where m_countNodes counts from.

In other words, the count of a given node in the m_countNodes vector is node position + m_countNodesStartCount.

const XalanNode* Counter::m_fromNode

The node from where the counting starts.

This is needed to find a counter if the node being counted is not immediatly found in the m_countNodes vector.

const ElemNumber* Counter::m_numberElem

The owning xsl:number element.


The documentation for this struct 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