18#if !defined(XALAN_ELEMNUMBER_HEADER_GUARD)
19#define XALAN_ELEMNUMBER_HEADER_GUARD
52class MutableNodeRefList;
53class XalanNumberFormat;
55class XPathExecutionContext;
122#if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
310 evaluateLetterValueAVT(
315 traditionalAlphaCount(
331 const XPath* m_countMatchPattern;
332 const XPath* m_fromMatchPattern;
333 const XPath* m_valueExpr;
337 const AVT* m_format_avt;
338 const AVT* m_lang_avt;
339 const AVT* m_lettervalue_avt;
340 const AVT* m_groupingSeparator_avt;
341 const AVT* m_groupingSize_avt;
343 const unsigned long m_id;
423 static const size_t s_romanConvertTableSize;
463 m_currentPosition = 0;
483 return m_currentPosition >= m_maxPosition ?
false :
true;
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
Class to hold an Attribute Value Template.
<meta name="usage" content="internal"> This is a table of counters, keyed by ElemNumber objects,...
Counter::CountType CountType
XalanNode * getTargetNode(StylesheetExecutionContext &executionContext, XalanNode *sourceNode) const
Get the target node that will be counted.
XalanNode * findPrecedingOrAncestorOrSelf(StylesheetExecutionContext &executionContext, const XPath *fromMatchPattern, const XPath *countMatchPattern, XalanNode *context) const
Given a 'from' pattern (ala xsl:number), a match pattern and a context, find the first ancestor that ...
static void terminate()
Perform static shut down.
static void toRoman(CountType val, bool prefixesAreOK, XalanDOMString &theResult)
Convert an integral into roman numerals.
virtual const ElemTemplateElement * startElement(StylesheetExecutionContext &executionContext) const
Completes "pre-processing" before any sub-elements are invoked (i.e.
void getMatchingAncestors(StylesheetExecutionContext &executionContext, XalanNode *node, bool stopAtFirstFound, MutableNodeRefList &ancestors) const
Get the ancestors, up to the root, that match the pattern.
ElemNumber(StylesheetConstructionContext &constructionContext, Stylesheet &stylesheetTree, const AttributeListType &atts, XalanFileLoc lineNumber, XalanFileLoc columnNumber, unsigned long id)
Construct an object corresponding to an "xsl:number" element.
XalanNode * findAncestor(StylesheetExecutionContext &executionContext, const XPath *fromMatchPattern, const XPath *countMatchPattern, XalanNode *context) const
Given a 'from' pattern (ala xsl:number), a match pattern and a context, find the first ancestor that ...
unsigned long getID() const
static void int2singlealphaCount(CountType val, const XalanDOMString &table, XalanDOMString &theResult)
Convert an intergral into alphabetic counting, in other words count using the sequence A B C ....
void formatNumberList(StylesheetExecutionContext &executionContext, const CountType theList[], NodeRefListBase::size_type theListLength, XalanDOMString &formattedNumber) const
Format an array of integrals into a formatted string.
CountersTable::CountType CountType
virtual const XPath * getXPath(XalanSize_t index) const
Get XPath pattern/expression of one of the element atribute.
XalanNumberFormat * getNumberFormatter(StylesheetExecutionContext &executionContext) const
Get a formatter.
const XPath * getCountMatchPattern(StylesheetExecutionContext &executionContext, XalanNode *contextNode) const
Get the count match pattern, or a default value.
static void initialize(MemoryManager &theManager)
Perform static initialization.
static void int2alphaCount(CountType val, const XalanDOMChar table[], XalanDOMString::size_type length, XalanDOMString &theResult)
Convert an integral into alphabetic counting, in other words count using the sequence A B C ....
XalanNode * getPreviousNode(StylesheetExecutionContext &executionContext, XalanNode *pos) const
Get the previous node to be counted.
void getCountString(StylesheetExecutionContext &executionContext, const MutableNodeRefList &ancestors, CountersTable &ctable, CountType numberList[], NodeRefListBase::size_type numberListLength, XalanDOMString &theResult) const
virtual const XalanDOMString & getElementName() const
Get a string for the name of the element.
void getCountString(StylesheetExecutionContext &executionContext, XalanDOMString &theResult) const
Given an XML source node, get the count according to the parameters set up by the xsl:number attribut...
XalanVector< CountType > CountTypeArrayType
static ElemNumber * create(MemoryManager &theManager, StylesheetConstructionContext &constructionContext, Stylesheet &stylesheetTree, const AttributeListType &atts, XalanFileLoc lineNumber, XalanFileLoc columnNumber, unsigned long id)
Local implementation of MutableNodeRefList.
This class represents the base stylesheet or an "import" stylesheet.
xercesc::AttributeList AttributeListType
Structure to help in converting integrals to roman numerals.