# The XSLT C library for GNOME

## Module keys from libxslt

API Menu

- Main Menu
- Developer Menu
- API Menu
- ChangeLog

Related links

- Mail archive
- XML libxml2
- FTP
- Windows binaries
- Solaris binaries
- MacOsX binaries
- Bug Tracker
- lxml Python bindings
- Perl XSLT bindings
- XSLT with PHP
- Apache module
- Pascal bindings
- Xsldbg Debugger

API Indexes

- Alphabetic
- Constructors
- Functions/Types
- Modules
- Symbols

implementation of the key mechanims.

## Table of Contents

    #define NODE_IS_KEYED

    int	xsltAddKey			(xsltStylesheetPtr style,
    					 const xmlChar * name,
    					 const xmlChar * nameURI,
    					 const xmlChar * match,
    					 const xmlChar * use,
    					 xmlNodePtr inst)

    void	xsltFreeDocumentKeys		(xsltDocumentPtr idoc)

    void	xsltFreeKeys			(xsltStylesheetPtr style)

    xmlNodeSetPtr	xsltGetKey		(xsltTransformContextPtr ctxt,
    					 const xmlChar * name,
    					 const xmlChar * nameURI,
    					 const xmlChar * value)

    void	xsltInitCtxtKeys		(xsltTransformContextPtr ctxt,
    					 xsltDocumentPtr idoc)

## Description

### Macro: NODE_IS_KEYED

    #define NODE_IS_KEYED

check for bit 15 set

### Function: xsltAddKey

    int	xsltAddKey			(xsltStylesheetPtr style,
    					 const xmlChar * name,
    					 const xmlChar * nameURI,
    					 const xmlChar * match,
    					 const xmlChar * use,
    					 xmlNodePtr inst)

add a key definition to a stylesheet

`style`: | an XSLT stylesheet
`name`: | the key name or NULL
`nameURI`: | the name URI or NULL
`match`: | the match value
`use`: | the use value
`inst`: | the key instruction
`Returns`: | 0 in case of success, and -1 in case of failure.

### Function: xsltFreeDocumentKeys

    void	xsltFreeDocumentKeys		(xsltDocumentPtr idoc)

Free the keys associated to a document

`idoc`: | a XSLT document

### Function: xsltFreeKeys

    void	xsltFreeKeys			(xsltStylesheetPtr style)

Free up the memory used by XSLT keys in a stylesheet

`style`: | an XSLT stylesheet

### Function: xsltGetKey

    xmlNodeSetPtr	xsltGetKey		(xsltTransformContextPtr ctxt,
    					 const xmlChar * name,
    					 const xmlChar * nameURI,
    					 const xmlChar * value)

Looks up a key of the in current source doc (the document info on @ctxt->document). Computes the key if not already done for the current source doc.

`ctxt`: | an XSLT transformation context
`name`: | the key name or NULL
`nameURI`: | the name URI or NULL
`value`: | the key value to look for
`Returns`: | the nodeset resulting from the query or NULL

### Function: xsltInitCtxtKeys

    void	xsltInitCtxtKeys		(xsltTransformContextPtr ctxt,
    					 xsltDocumentPtr idoc)

Computes all the keys tables for the current input document. Should be done before global varibales are initialized. NOTE: Not used anymore in the refactored code.

`ctxt`: | an XSLT transformation context
`idoc`: | a document info

Daniel Veillard