<HTML
><HEAD
><TITLE
>keys</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="Gnome XSLT Library Reference Manual"
HREF="book1.html"><LINK
REL="UP"
TITLE="Libxslt Library Reference"
HREF="libxslt-lib.html"><LINK
REL="PREVIOUS"
TITLE="variables"
HREF="libxslt-variables.html"><LINK
REL="NEXT"
TITLE="xsltInternals"
HREF="libxslt-xsltinternals.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
BGCOLOR="#000000"
CELLPADDING="1"
CELLSPACING="0"
><TR
><TH
COLSPAN="4"
ALIGN="center"
><FONT
COLOR="#FFFFFF"
SIZE="5"
>Gnome XSLT Library Reference Manual</FONT
></TH
></TR
><TR
><TD
WIDTH="25%"
BGCOLOR="#C00000"
ALIGN="left"
><A
HREF="libxslt-variables.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>&#60;&#60;&#60; Previous Page</B
></FONT
></A
></TD
><TD
WIDTH="25%"
BGCOLOR="#0000C0"
ALIGN="center"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
><A
HREF="book1.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Home</B
></FONT
></A
></B
></FONT
></TD
><TD
WIDTH="25%"
BGCOLOR="#00C000"
ALIGN="center"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
><A
HREF="libxslt-lib.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Up</B
></FONT
></A
></B
></FONT
></TD
><TD
WIDTH="25%"
BGCOLOR="#C00000"
ALIGN="right"
><A
HREF="libxslt-xsltinternals.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Next Page &#62;&#62;&#62;</B
></FONT
></A
></TD
></TR
></TABLE
></DIV
><H1
><A
NAME="LIBXSLT-KEYS"
>keys</A
></H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN4727"
></A
><H2
>Name</H2
>keys&nbsp;--&nbsp;</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN4730"
></A
><H2
>Synopsis</H2
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="SYNOPSIS"
>&#13;

int         <A
HREF="libxslt-keys.html#XSLTADDKEY"
>xsltAddKey</A
>                      (<A
HREF="libxslt-xsltinternals.html#XSLTSTYLESHEETPTR"
>xsltStylesheetPtr</A
> style,
                                             const <GTKDOCLINK
HREF="XMLCHAR"
>xmlChar</GTKDOCLINK
> *name,
                                             const <GTKDOCLINK
HREF="XMLCHAR"
>xmlChar</GTKDOCLINK
> *nameURI,
                                             const <GTKDOCLINK
HREF="XMLCHAR"
>xmlChar</GTKDOCLINK
> *match,
                                             const <GTKDOCLINK
HREF="XMLCHAR"
>xmlChar</GTKDOCLINK
> *use,
                                             <GTKDOCLINK
HREF="XMLNODEPTR"
>xmlNodePtr</GTKDOCLINK
> inst);
<GTKDOCLINK
HREF="XMLNODESETPTR"
>xmlNodeSetPtr</GTKDOCLINK
> <A
HREF="libxslt-keys.html#XSLTGETKEY"
>xsltGetKey</A
>                    (<A
HREF="libxslt-xsltinternals.html#XSLTTRANSFORMCONTEXTPTR"
>xsltTransformContextPtr</A
> ctxt,
                                             const <GTKDOCLINK
HREF="XMLCHAR"
>xmlChar</GTKDOCLINK
> *name,
                                             const <GTKDOCLINK
HREF="XMLCHAR"
>xmlChar</GTKDOCLINK
> *nameURI,
                                             const <GTKDOCLINK
HREF="XMLCHAR"
>xmlChar</GTKDOCLINK
> *value);
void        <A
HREF="libxslt-keys.html#XSLTINITCTXTKEYS"
>xsltInitCtxtKeys</A
>                (<A
HREF="libxslt-xsltinternals.html#XSLTTRANSFORMCONTEXTPTR"
>xsltTransformContextPtr</A
> ctxt,
                                             <A
HREF="libxslt-xsltinternals.html#XSLTDOCUMENTPTR"
>xsltDocumentPtr</A
> doc);
void        <A
HREF="libxslt-keys.html#XSLTFREEKEYS"
>xsltFreeKeys</A
>                    (<A
HREF="libxslt-xsltinternals.html#XSLTSTYLESHEETPTR"
>xsltStylesheetPtr</A
> style);
void        <A
HREF="libxslt-keys.html#XSLTFREEDOCUMENTKEYS"
>xsltFreeDocumentKeys</A
>            (<A
HREF="libxslt-xsltinternals.html#XSLTDOCUMENTPTR"
>xsltDocumentPtr</A
> doc);</PRE
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN4753"
></A
><H2
>Description</H2
><P
></P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN4756"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN4758"
></A
><H3
><A
NAME="XSLTADDKEY"
></A
>xsltAddKey ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int         xsltAddKey                      (<A
HREF="libxslt-xsltinternals.html#XSLTSTYLESHEETPTR"
>xsltStylesheetPtr</A
> style,
                                             const <GTKDOCLINK
HREF="XMLCHAR"
>xmlChar</GTKDOCLINK
> *name,
                                             const <GTKDOCLINK
HREF="XMLCHAR"
>xmlChar</GTKDOCLINK
> *nameURI,
                                             const <GTKDOCLINK
HREF="XMLCHAR"
>xmlChar</GTKDOCLINK
> *match,
                                             const <GTKDOCLINK
HREF="XMLCHAR"
>xmlChar</GTKDOCLINK
> *use,
                                             <GTKDOCLINK
HREF="XMLNODEPTR"
>xmlNodePtr</GTKDOCLINK
> inst);</PRE
></TD
></TR
></TABLE
><P
>add a key definition to a stylesheet</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN4770"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>style</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XSLT stylesheet</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>name</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the key name or NULL</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>nameURI</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the name URI or NULL</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>match</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the match value</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>use</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the use value</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>inst</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the key instruction</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>0 in case of success, and -1 in case of failure.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN4803"
></A
><H3
><A
NAME="XSLTGETKEY"
></A
>xsltGetKey ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><GTKDOCLINK
HREF="XMLNODESETPTR"
>xmlNodeSetPtr</GTKDOCLINK
> xsltGetKey                    (<A
HREF="libxslt-xsltinternals.html#XSLTTRANSFORMCONTEXTPTR"
>xsltTransformContextPtr</A
> ctxt,
                                             const <GTKDOCLINK
HREF="XMLCHAR"
>xmlChar</GTKDOCLINK
> *name,
                                             const <GTKDOCLINK
HREF="XMLCHAR"
>xmlChar</GTKDOCLINK
> *nameURI,
                                             const <GTKDOCLINK
HREF="XMLCHAR"
>xmlChar</GTKDOCLINK
> *value);</PRE
></TD
></TR
></TABLE
><P
>Lookup a key</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN4814"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XSLT transformation context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>name</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the key name or NULL</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>nameURI</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the name URI or NULL</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>value</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the key value to look for</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the nodeset resulting from the query or NULL</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN4839"
></A
><H3
><A
NAME="XSLTINITCTXTKEYS"
></A
>xsltInitCtxtKeys ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        xsltInitCtxtKeys                (<A
HREF="libxslt-xsltinternals.html#XSLTTRANSFORMCONTEXTPTR"
>xsltTransformContextPtr</A
> ctxt,
                                             <A
HREF="libxslt-xsltinternals.html#XSLTDOCUMENTPTR"
>xsltDocumentPtr</A
> doc);</PRE
></TD
></TR
></TABLE
><P
>Computes all the keys tables for the current input document.
Should be done before global varibales are initialized.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN4847"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  an XSLT transformation context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>doc</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  an XSLT document</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN4860"
></A
><H3
><A
NAME="XSLTFREEKEYS"
></A
>xsltFreeKeys ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        xsltFreeKeys                    (<A
HREF="libxslt-xsltinternals.html#XSLTSTYLESHEETPTR"
>xsltStylesheetPtr</A
> style);</PRE
></TD
></TR
></TABLE
><P
>Free up the memory used by XSLT keys in a stylesheet</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN4867"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>style</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XSLT stylesheet</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN4876"
></A
><H3
><A
NAME="XSLTFREEDOCUMENTKEYS"
></A
>xsltFreeDocumentKeys ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        xsltFreeDocumentKeys            (<A
HREF="libxslt-xsltinternals.html#XSLTDOCUMENTPTR"
>xsltDocumentPtr</A
> doc);</PRE
></TD
></TR
></TABLE
><P
>Free the keys associated to a document</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN4883"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>doc</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a XSLT document</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><BR
CLEAR="all"><BR><TABLE
WIDTH="100%"
BORDER="0"
BGCOLOR="#000000"
CELLPADDING="1"
CELLSPACING="0"
><TR
><TD
WIDTH="25%"
BGCOLOR="#C00000"
ALIGN="left"
><A
HREF="libxslt-variables.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>&#60;&#60;&#60; Previous Page</B
></FONT
></A
></TD
><TD
WIDTH="25%"
BGCOLOR="#0000C0"
ALIGN="center"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
><A
HREF="book1.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Home</B
></FONT
></A
></B
></FONT
></TD
><TD
WIDTH="25%"
BGCOLOR="#00C000"
ALIGN="center"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
><A
HREF="libxslt-lib.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Up</B
></FONT
></A
></B
></FONT
></TD
><TD
WIDTH="25%"
BGCOLOR="#C00000"
ALIGN="right"
><A
HREF="libxslt-xsltinternals.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Next Page &#62;&#62;&#62;</B
></FONT
></A
></TD
></TR
><TR
><TD
COLSPAN="2"
ALIGN="left"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>variables</B
></FONT
></TD
><TD
COLSPAN="2"
ALIGN="right"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>xsltInternals</B
></FONT
></TD
></TR
></TABLE
></DIV
></BODY
></HTML
>