keys

keys - interface for the key matching used in key() and template matches.

implementation of the key mechanims.

Author(s): Daniel Veillard

Synopsis

#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

Details

Macro NODE_IS_KEYED

#define NODE_IS_KEYED;

check for bit 15 set


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.

xsltFreeDocumentKeys ()

void	xsltFreeDocumentKeys		(xsltDocumentPtr idoc)

Free the keys associated to a document

idoc:a XSLT document

xsltFreeKeys ()

void	xsltFreeKeys			(xsltStylesheetPtr style)

Free up the memory used by XSLT keys in a stylesheet

style:an XSLT stylesheet

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

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