## Xalan-C++ API Documentation

### The Xalan C++ XSLT Processor Version 1.7

Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members

# KeyTable Class Reference

Table of element keys, keyed by document node. More...

`#include <KeyTable.hpp>`

Collaboration diagram for KeyTable:

List of all members.

## Public Types

- typedef std::vector<KeyDeclaration> KeyDeclarationVectorType
- typedef std::map<XalanDOMString,
  MutableNodeRefList> NodeListMapType
- typedef std::map<XalanQNameByReference,
  NodeListMapType> KeysMapType

## Public Methods

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

## Detailed Description

Table of element keys, keyed by document node.

An instance of this class is keyed by a Document node that should be matched with the root of the current context. It contains a table of name mappings to tables that contain mappings of identifier values to nodes.

## Member Typedef Documentation

typedef std::vector<KeyDeclaration> KeyTable::KeyDeclarationVectorType

typedef std::map<XalanQNameByReference, NodeListMapType> KeyTable::KeysMapType

typedef std::map<XalanDOMString, MutableNodeRefList> 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

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.7 Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.