# The XSLT C library for Gnome

## Module templates from libxslt

API Menu

- Main Menu
- Developer Menu
- API Menu
- ChangeLog

Related links

- Mail archive
- XML libxml
- DOM gdome2
- FTP
- Windows binaries
- Solaris binaries
- MacOsX binaries
- Pascal bindings
- Bug Tracker
- Xsldbg Debugger
- Apache module

API Indexes

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

This set of routine encapsulates XPath calls and Attribute Value Templates evaluation.

## Table of Contents

    xmlAttrPtr	xsltAttrListTemplateProcess	(xsltTransformContextPtr ctxt,
    						 xmlNodePtr target,
    						 xmlAttrPtr cur)

    xmlAttrPtr	xsltAttrTemplateProcess	(xsltTransformContextPtr ctxt,
    					 xmlNodePtr target,
    					 xmlAttrPtr cur)

    xmlChar *	xsltAttrTemplateValueProcess	(xsltTransformContextPtr ctxt,
    						 const xmlChar * str)

    xmlChar *	xsltAttrTemplateValueProcessNode	(xsltTransformContextPtr ctxt,
    							 const xmlChar * str,
    							 xmlNodePtr node)

    xmlChar *	xsltEvalAttrValueTemplate	(xsltTransformContextPtr ctxt,
    						 xmlNodePtr node,
    						 const xmlChar * name,
    						 const xmlChar * ns)

    const xmlChar *	xsltEvalStaticAttrValueTemplate	(xsltStylesheetPtr style,
    						 xmlNodePtr node,
    						 const xmlChar * name,
    						 const xmlChar * ns,
    						 int * found)

    xmlChar *	xsltEvalTemplateString	(xsltTransformContextPtr ctxt,
    					 xmlNodePtr node,
    					 xmlNodePtr parent)

    int	xsltEvalXPathPredicate		(xsltTransformContextPtr ctxt,
    					 xmlXPathCompExprPtr comp,
    					 xmlNsPtr * nsList,
    					 int nsNr)

    xmlChar *	xsltEvalXPathString	(xsltTransformContextPtr ctxt,
    					 xmlXPathCompExprPtr comp)

    xmlChar *	xsltEvalXPathStringNs	(xsltTransformContextPtr ctxt,
    					 xmlXPathCompExprPtr comp,
    					 int nsNr,
    					 xmlNsPtr * nsList)

    xmlNodePtr *	xsltTemplateProcess	(xsltTransformContextPtr ctxt,
    					 xmlNodePtr node)

## Description

### Function: xsltAttrListTemplateProcess

    xmlAttrPtr	xsltAttrListTemplateProcess	(xsltTransformContextPtr ctxt,
    						 xmlNodePtr target,
    						 xmlAttrPtr cur)

Do a copy of an attribute list with attribute template processing

`ctxt`: | the XSLT transformation context
`target`: | the element where the attributes will be grafted
`cur`: | the first attribute
`Returns`: | a new xmlAttrPtr, or NULL in case of error.

### Function: xsltAttrTemplateProcess

    xmlAttrPtr	xsltAttrTemplateProcess	(xsltTransformContextPtr ctxt,
    					 xmlNodePtr target,
    					 xmlAttrPtr cur)

Process the given attribute and return the new processed copy.

`ctxt`: | the XSLT transformation context
`target`: | the result node
`cur`: | the attribute template node
`Returns`: | the attribute replacement.

### Function: xsltAttrTemplateValueProcess

    xmlChar *	xsltAttrTemplateValueProcess	(xsltTransformContextPtr ctxt,
    						 const xmlChar * str)

Process the given node and return the new string value.

`ctxt`: | the XSLT transformation context
`str`: | the attribute template node value
`Returns`: | the computed string value or NULL, must be deallocated by the caller.

### Function: xsltAttrTemplateValueProcessNode

    xmlChar *	xsltAttrTemplateValueProcessNode	(xsltTransformContextPtr ctxt,
    							 const xmlChar * str,
    							 xmlNodePtr node)

Process the given string, allowing to pass a namespace mapping context and return the new string value.

`ctxt`: | the XSLT transformation context
`str`: | the attribute template node value
`node`: | the node hosting the attribute
`Returns`: | the computed string value or NULL, must be deallocated by the caller.

### Function: xsltEvalAttrValueTemplate

    xmlChar *	xsltEvalAttrValueTemplate	(xsltTransformContextPtr ctxt,
    						 xmlNodePtr node,
    						 const xmlChar * name,
    						 const xmlChar * ns)

Evaluate a attribute value template, i.e. the attribute value can contain expressions contained in curly braces ({}) and those are substituted by they computed value.

`ctxt`: | the XSLT transformation context
`node`: | the stylesheet node
`name`: | the attribute QName
`ns`: | the attribute namespace URI
`Returns`: | the computed string value or NULL, must be deallocated by the caller.

### Function: xsltEvalStaticAttrValueTemplate

    const xmlChar *	xsltEvalStaticAttrValueTemplate	(xsltStylesheetPtr style,
    						 xmlNodePtr node,
    						 const xmlChar * name,
    						 const xmlChar * ns,
    						 int * found)

Check if an attribute value template has a static value, i.e. the attribute value does not contain expressions contained in curly braces ({})

`style`: | the XSLT stylesheet
`node`: | the stylesheet node
`name`: | the attribute Name
`ns`: | the attribute namespace URI
`found`: | indicator whether the attribute is present
`Returns`: | the static string value or NULL, must be deallocated by the caller.

### Function: xsltEvalTemplateString

    xmlChar *	xsltEvalTemplateString	(xsltTransformContextPtr ctxt,
    					 xmlNodePtr node,
    					 xmlNodePtr parent)

Evaluate a template string value, i.e. the parent list is interpreter as template content and the resulting tree string value is returned This is needed for example by xsl:comment and xsl:processing-instruction

`ctxt`: | the XSLT transformation context
`node`: | the stylesheet node
`parent`: | the content parent
`Returns`: | the computed string value or NULL, must be deallocated by the caller.

### Function: xsltEvalXPathPredicate

    int	xsltEvalXPathPredicate		(xsltTransformContextPtr ctxt,
    					 xmlXPathCompExprPtr comp,
    					 xmlNsPtr * nsList,
    					 int nsNr)

Process the expression using XPath and evaluate the result as an XPath predicate

`ctxt`: | the XSLT transformation context
`comp`: | the XPath compiled expression
`nsList`: | the namespaces in scope
`nsNr`: | the number of namespaces in scope
`Returns`: | 1 is the predicate was true, 0 otherwise

### Function: xsltEvalXPathString

    xmlChar *	xsltEvalXPathString	(xsltTransformContextPtr ctxt,
    					 xmlXPathCompExprPtr comp)

Process the expression using XPath and get a string

`ctxt`: | the XSLT transformation context
`comp`: | the compiled XPath expression
`Returns`: | the computed string value or NULL, must be deallocated by the caller.

### Function: xsltEvalXPathStringNs

    xmlChar *	xsltEvalXPathStringNs	(xsltTransformContextPtr ctxt,
    					 xmlXPathCompExprPtr comp,
    					 int nsNr,
    					 xmlNsPtr * nsList)

Process the expression using XPath, allowing to pass a namespace mapping context and get a string

`ctxt`: | the XSLT transformation context
`comp`: | the compiled XPath expression
`nsNr`: | the number of namespaces in the list
`nsList`: | the list of in-scope namespaces to use
`Returns`: | the computed string value or NULL, must be deallocated by the caller.

### Function: xsltTemplateProcess

    xmlNodePtr *	xsltTemplateProcess	(xsltTransformContextPtr ctxt,
    					 xmlNodePtr node)

Process the given node and return the new string value.

`ctxt`: | the XSLT transformation context
`node`: | the attribute template node
`Returns`: | the computed tree replacement

Daniel Veillard