Gnome XSLT Library Reference Manual | |||
---|---|---|---|
<<< Previous Page | Home | Up | Next Page >>> |
enum xsltElem; struct xsltStackElem; typedef xsltStackElemPtr; #define XSLT_PAT_NO_PRIORITY struct xsltTemplate; typedef xsltTemplatePtr; struct xsltStylesheet; typedef xsltStylesheetPtr; enum xsltOutputType; struct xsltTransformContext; typedef xsltTransformContextPtr; xsltStylesheetPtr xsltParseStylesheetFile (const |
struct xsltStackElem { struct _xsltStackElem *next;/* chained list */ xsltElem type; /* type of the element */ int computed; /* was the evaluation done */ xmlChar *name; /* the local part of the name QName */ xmlChar *nameURI; /* the URI part of the name QName */ xmlChar *select; /* the eval string */ xmlNodePtr tree; /* the tree if no eval string */ xmlXPathObjectPtr value; /* The value if computed */ }; |
struct xsltTemplate { struct _xsltTemplate *next;/* chained list sorted by priority */ xmlChar *match; /* the matching string */ int priority; /* as given from the stylesheet, not computed */ xmlChar *name; /* the local part of the name QName */ xmlChar *nameURI; /* the URI part of the name QName */ xmlChar *mode; /* the local part of the mode QName */ xmlChar *modeURI; /* the URI part of the mode QName */ xmlNodePtr content; /* the template replacement value */ }; |
struct xsltStylesheet { /* * The stylesheet import relation is kept as a tree */ struct _xsltStylesheet *parent; struct _xsltStylesheet *imports; /* * General data on the style sheet document */ xmlDocPtr doc; /* the parsed XML stylesheet */ xmlHashTablePtr stripSpaces;/* the hash table of the strip-space preserve space and cdata-section elements */ /* * Global variable or parameters */ xsltStackElemPtr variables; /* linked list of param and variables */ /* * Template descriptions */ xsltTemplatePtr templates; /* the ordered list of templates */ void *templatesHash; /* hash table or wherever compiled templates informations are stored */ void *rootMatch; /* template based on / */ void *elemMatch; /* template based on * */ void *attrMatch; /* template based on @* */ void *parentMatch; /* template based on .. */ void *textMatch; /* template based on text() */ void *piMatch; /* template based on processing-instruction() */ void *commentMatch; /* template based on comment() */ /* * Output related stuff. */ xmlChar *method; /* the output method */ xmlChar *methodURI; /* associated namespace if any */ xmlChar *version; /* version string */ xmlChar *encoding; /* encoding string */ int omitXmlDeclaration; /* omit-xml-declaration = "yes" | "no" */ int standalone; /* standalone = "yes" | "no" */ xmlChar *doctypePublic; /* doctype-public string */ xmlChar *doctypeSystem; /* doctype-system string */ int indent; /* should output being indented */ xmlChar *mediaType; /* media-type string */ }; |
typedef enum { XSLT_OUTPUT_XML = 0, XSLT_OUTPUT_HTML, XSLT_OUTPUT_TEXT } xsltOutputType; |
struct xsltTransformContext { xsltStylesheetPtr style; /* the stylesheet used */ xsltOutputType type; /* the type of output */ xmlDocPtr doc; /* the current doc */ xmlNodePtr node; /* the current node */ xmlNodeSetPtr nodeList; /* the current node list */ xmlDocPtr output; /* the resulting document */ xmlNodePtr insert; /* the insertion node */ xmlXPathContextPtr xpathCtxt; /* the XPath context */ void *variablesHash; /* hash table or wherever variables informations are stored */ xmlDocPtr extraDocs; /* extra docs parsed by document() */ }; |
xsltStylesheetPtr xsltParseStylesheetFile (const |
Load and parse an XSLT stylesheet
filename : | the filename/URL to the stylesheet |
Returns : | a new XSLT stylesheet structure. |
void xsltFreeStylesheet (xsltStylesheetPtr sheet); |
Free up the memory allocated by sheet
sheet : | an XSLT stylesheet |
int xsltIsBlank ( |
str : | a string |
Returns : | 1 if the string is NULL or made of blanks chars, 0 otherwise |
void xsltFreeStackElemList (xsltStackElemPtr elem); |
Free up the memory allocated by elem
elem : | an XSLT stack element |