Xalan-C++ API Reference  1.12.0
Public Types | Public Member Functions | Static Public Member Functions | List of all members
xalanc::KeyTable Class Reference

#include <xalanc/XSLT/KeyTable.hpp>

Public Types

typedef XalanVector< KeyDeclarationKeyDeclarationVectorType
 
typedef NodeListMapTypeDefinitions NodeListMapType
 
typedef XalanMap< XalanQNameByReference, NodeListMapTypeKeysMapType
 

Public Member Functions

 KeyTable (XalanNode *startNode, const PrefixResolver &resolver, const KeyDeclarationVectorType &keyDeclarations, StylesheetExecutionContext &executionContext)
 Build a keys table. More...
 
virtual ~KeyTable ()
 
const MutableNodeRefListgetNodeSetByKey (const XalanQName &qname, const XalanDOMString &ref) const
 Given a valid element key, return the corresponding node list. More...
 

Static Public Member Functions

static KeyTablecreate (MemoryManager &theManager, XalanNode *startNode, const PrefixResolver &resolver, const KeyDeclarationVectorType &keyDeclarations, StylesheetExecutionContext &executionContext)
 

Detailed Description

Definition at line 72 of file KeyTable.hpp.

Member Typedef Documentation

◆ KeyDeclarationVectorType

Definition at line 76 of file KeyTable.hpp.

◆ KeysMapType

Definition at line 80 of file KeyTable.hpp.

◆ NodeListMapType

Definition at line 78 of file KeyTable.hpp.

Constructor & Destructor Documentation

◆ KeyTable()

xalanc::KeyTable::KeyTable ( XalanNode startNode,
const PrefixResolver resolver,
const KeyDeclarationVectorType keyDeclarations,
StylesheetExecutionContext executionContext 
)

Build a keys table.

Parameters
startNodenode to start iterating from to build the keys index
nscontextstylesheet's namespace context
keyDeclarationsstylesheet's xsl:key declarations
executionContextcurrent execution context

◆ ~KeyTable()

virtual xalanc::KeyTable::~KeyTable ( )
virtual

Member Function Documentation

◆ create()

static KeyTable* xalanc::KeyTable::create ( MemoryManager &  theManager,
XalanNode startNode,
const PrefixResolver resolver,
const KeyDeclarationVectorType keyDeclarations,
StylesheetExecutionContext executionContext 
)
static

◆ getNodeSetByKey()

const MutableNodeRefList* xalanc::KeyTable::getNodeSetByKey ( const XalanQName qname,
const XalanDOMString ref 
) const

Given a valid element key, return the corresponding node list.

If the name was not declared with xsl:key, this will return null, the identifier is not found, it will return an empty node set, otherwise it will return a nodeset of nodes.

Parameters
namename of the key, which must match the 'name' attribute on xsl:key
refvalue that must match the value found by the 'match' attribute on xsl:key
Returns
pointer to nodeset for key

The documentation for this class was generated from the following file: