## keys

keys —

## Synopsis

    int         xsltAddKey                      (xsltStylesheetPtr style,
                                                 const xmlChar *name,
                                                 const xmlChar *nameURI,
                                                 const xmlChar *match,
                                                 const xmlChar *use,
                                                 xmlNodePtr inst);
    xmlNodeSetPtr xsltGetKey                    (xsltTransformContextPtr ctxt,
                                                 const xmlChar *name,
                                                 const xmlChar *nameURI,
                                                 const xmlChar *value);
    void        xsltInitCtxtKeys                (xsltTransformContextPtr ctxt,
                                                 xsltDocumentPtr doc);
    void        xsltFreeKeys                    (xsltStylesheetPtr style);
    void        xsltFreeDocumentKeys            (xsltDocumentPtr doc);

## Description

## Details

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

### xsltGetKey ()

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

Lookup a key

`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

### xsltInitCtxtKeys ()

    void        xsltInitCtxtKeys                (xsltTransformContextPtr ctxt,
                                                 xsltDocumentPtr doc);

Computes all the keys tables for the current input document. Should be done before global varibales are initialized.

`ctxt` : | an XSLT transformation context
`doc` : | an XSLT document

### xsltFreeKeys ()

    void        xsltFreeKeys                    (xsltStylesheetPtr style);

Free up the memory used by XSLT keys in a stylesheet

`style` : | an XSLT stylesheet

### xsltFreeDocumentKeys ()

    void        xsltFreeDocumentKeys            (xsltDocumentPtr doc);

Free the keys associated to a document

`doc` : | a XSLT document