## 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

# KeyTable Class Reference

Collaboration diagram for KeyTable:

[legend]
List of all members.

## Public Types

- typedef XalanVector< KeyDeclaration > KeyDeclarationVectorType
- typedef NodeListMapTypeDefinitions NodeListMapType
- typedef XalanMap< XalanQNameByReference,
  NodeListMapType > KeysMapType

## Public Member Functions

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

## Static Public Member Functions

- KeyTable * create (MemoryManagerType &theManager, XalanNode *startNode, const PrefixResolver &resolver, const KeyDeclarationVectorType &keyDeclarations, StylesheetExecutionContext &executionContext)

## Member Typedef Documentation

typedef XalanVector<KeyDeclaration> KeyTable::KeyDeclarationVectorType

typedef XalanMap<XalanQNameByReference, NodeListMapType> KeyTable::KeysMapType

typedef NodeListMapTypeDefinitions KeyTable::NodeListMapType

## Constructor & Destructor Documentation

KeyTable::KeyTable | ( | XalanNode * | startNode,
|  | const PrefixResolver & | resolver,
|  | const KeyDeclarationVectorType & | keyDeclarations,
|  | StylesheetExecutionContext & | executionContext
| ) |

Build a keys table.

Parameters:

  startNode | node to start iterating from to build the keys index
  nscontext | stylesheet's namespace context
  keyDeclarations | stylesheet's xsl:key declarations
  executionContext | current execution context

virtual KeyTable::~KeyTable | ( |  | ) | `[virtual]`

## Member Function Documentation

KeyTable* KeyTable::create | ( | MemoryManagerType & | theManager,
|  | XalanNode * | startNode,
|  | const PrefixResolver & | resolver,
|  | const KeyDeclarationVectorType & | keyDeclarations,
|  | StylesheetExecutionContext & | executionContext
| ) | `[static]`

const MutableNodeRefList& 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:

  name | name of the key, which must match the 'name' attribute on xsl:key
  ref | value 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:

- KeyTable.hpp

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.