1
0
mirror of https://gitlab.gnome.org/GNOME/libxslt synced 2025-07-29 15:41:13 +03:00

copied over the apibuild.py from libxml2, adapted a bit and regenerated

* doc/Makefile.am doc/apibuild.py doc/libxslt-api.xml:
  copied over the apibuild.py from libxml2, adapted a bit and
  regenerated the API description in XML. Todo: libexslt-api.xml
* libxslt/attributes.c libxslt/documents.c libxslt/extensions.c
  libxslt/imports.c libxslt/numbers.c libxslt/numbersInternals.h
  libxslt/pattern.c libxslt/preproc.c libxslt/security.c
  libxslt/templates.c libxslt/transform.c libxslt/transform.h
  libxslt/variables.c libxslt/xslt.c libxslt/xsltInternals.h
  libxslt/xsltutils.c libxslt/xsltutils.h: cleanup based on the
  report from the scripts.
* libxslt.spec.in: make sure libxslt-api.xml ends up in the devel
  package
Daniel
This commit is contained in:
Daniel Veillard
2002-12-11 17:53:37 +00:00
parent 8f56a0b269
commit 162c34f414
23 changed files with 2924 additions and 1204 deletions

View File

@ -1,3 +1,18 @@
Wed Dec 11 18:45:09 CET 2002 Daniel Veillard <daniel@veillard.com>
* doc/Makefile.am doc/apibuild.py doc/libxslt-api.xml:
copied over the apibuild.py from libxml2, adapted a bit and
regenerated the API description in XML. Todo: libexslt-api.xml
* libxslt/attributes.c libxslt/documents.c libxslt/extensions.c
libxslt/imports.c libxslt/numbers.c libxslt/numbersInternals.h
libxslt/pattern.c libxslt/preproc.c libxslt/security.c
libxslt/templates.c libxslt/transform.c libxslt/transform.h
libxslt/variables.c libxslt/xslt.c libxslt/xsltInternals.h
libxslt/xsltutils.c libxslt/xsltutils.h: cleanup based on the
report from the scripts.
* libxslt.spec.in: make sure libxslt-api.xml ends up in the devel
package
Thu Dec 5 18:05:44 CET 2002 Daniel Veillard <daniel@veillard.com>
* libxslt/transform.c: xsl:element generated superfluous xmlns

View File

@ -2,7 +2,8 @@
EXTRA_DIST = \
libxslt-api.xml \
libxslt-decl.txt \
xsltproc.xml
xsltproc.xml \
apibuild.py
# The name of the module.
DOC_MODULE=libxslt-$(VERSION)
@ -56,8 +57,8 @@ xml: sgml
-@(for s in sgml/*.sgml ; do name=`basename $$s .sgml` ; \
xmllint --sgml $$s > xml/"$$name".xml ; done)
libxslt-api.xml libxslt-refs.xml: xml parsedecl.py libxslt-decl.txt libxslt-decl-list.txt
-(./parsedecl.py)
libxslt-api.xml: apibuild.py ../libxslt/*.h ../libxslt/*.c
-(./apibuild.py)
api: libxslt-api.xml libxslt-refs.xml

1463
doc/apibuild.py Executable file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -102,6 +102,7 @@ rm -fr %{buildroot}
%defattr(-, root, root)
%doc AUTHORS ChangeLog NEWS README Copyright TODO FEATURES
%doc doc/libxslt-api.xml
%doc %{_mandir}/man4/libxslt.4*
%doc %{_mandir}/man4/libexslt.4*
%{_libdir}/lib*.so

View File

@ -266,10 +266,9 @@ xsltMergeAttrElemList(xsltAttrElemPtr list, xsltAttrElemPtr old) {
/**
* xsltParseStylesheetAttributeSet:
* @style: the XSLT stylesheet
* @template: the "preserve-space" element
* @cur: the "attribute-set" element
*
* parse an XSLT stylesheet preserve-space element and record
* elements needing preserving
* parse an XSLT stylesheet attribute-set element
*/
void

View File

@ -45,6 +45,8 @@
* @doc: a parsed XML document
*
* Register a new document, apply key computations
*
* Returns a handler to the document
*/
xsltDocumentPtr
xsltNewDocument(xsltTransformContextPtr ctxt, xmlDocPtr doc) {
@ -72,6 +74,8 @@ xsltNewDocument(xsltTransformContextPtr ctxt, xmlDocPtr doc) {
* @doc: a parsed XML document
*
* Register a new document, apply key computations
*
* Returns a handler to the document
*/
xsltDocumentPtr
xsltNewStyleDocument(xsltStylesheetPtr style, xmlDocPtr doc) {
@ -267,7 +271,7 @@ xsltLoadStyleDocument(xsltStylesheetPtr style, const xmlChar *URI) {
/**
* xsltFindDocument:
* @ctxt: an XSLT transformation context
* @@doc: a parsed XML document
* @doc: a parsed XML document
*
* Try to find a document within the XSLT transformation context
*

View File

@ -875,7 +875,7 @@ xsltUnregisterAllExtModules(void)
* xsltXPathGetTransformContext:
* @ctxt: an XPath transformation context
*
* Returns the XSLT transformation context from the XPath transformation
* Provides the XSLT transformation context from the XPath transformation
* context. This is useful when an XPath function in the extension module
* is called by the XPath interpreter and that the XSLT context is needed
* for example to retrieve the associated data pertaining to this XSLT

View File

@ -56,11 +56,11 @@
/**
* xsltParseStylesheetImport:
* @style: the XSLT stylesheet
* @template: the "strip-space" element
* @cur: the import element
*
* parse an XSLT stylesheet strip-space element and record
* elements needing stripping. Returns zero on success and something else
* on failure.
* parse an XSLT stylesheet import element
*
* Returns 0 in case of success -1 in case of failure.
*/
int
@ -139,11 +139,11 @@ error:
/**
* xsltParseStylesheetInclude:
* @style: the XSLT stylesheet
* @template: the "strip-space" element
* @cur: the include node
*
* parse an XSLT stylesheet strip-space element and record
* elements needing stripping. Returns zero on success, something else
* on failure.
* parse an XSLT stylesheet include element
*
* Returns 0 in case of success -1 in case of failure
*/
int
@ -230,7 +230,7 @@ xsltNextImport(xsltStylesheetPtr cur) {
* xsltNeedElemSpaceHandling:
* @ctxt: an XSLT transformation context
*
* Returns whether that stylesheet requires white-space stripping
* Checks whether that stylesheet requires white-space stripping
*
* Returns 1 if space should be stripped, 0 if not
*/

View File

@ -826,6 +826,8 @@ xsltFormatNumberPreSuffix(xsltDecimalFormatPtr self, xmlChar **format, xsltForma
* ? multiply by 1000 and show as per mille
* X any other characters can be used in the prefix or suffix
* ' used to quote special characters in a prefix or suffix.
*
* Returns a possible XPath error
*/
xmlXPathError
xsltFormatNumberConversion(xsltDecimalFormatPtr self,

View File

@ -21,7 +21,10 @@ extern "C" {
*
* This data structure is just a wrapper to pass xsl:number data in.
*/
typedef struct _xsltNumberData {
typedef struct _xsltNumberData xsltNumberData;
typedef xsltNumberData *xsltNumberDataPtr;
struct _xsltNumberData {
xmlChar *level;
xmlChar *count;
xmlChar *from;
@ -33,14 +36,17 @@ typedef struct _xsltNumberData {
int groupingCharacterLen;
xmlDocPtr doc;
xmlNodePtr node;
} xsltNumberData, *xsltNumberDataPtr;
};
/**
* xsltFormatNumberInfo,:
*
* This data structure lists the various parameters needed to format numbers.
*/
typedef struct _xsltFormatNumberInfo {
typedef struct _xsltFormatNumberInfo xsltFormatNumberInfo;
typedef xsltFormatNumberInfo *xsltFormatNumberInfoPtr;
struct _xsltFormatNumberInfo {
int integer_hash; /* Number of '#' in integer part */
int integer_digits; /* Number of '0' in integer part */
int frac_digits; /* Number of '0' in fractional part */
@ -50,7 +56,7 @@ typedef struct _xsltFormatNumberInfo {
char add_decimal; /* Flag for whether decimal point appears in pattern */
char is_multiplier_set; /* Flag to catch multiple occurences of percent/permille */
char is_negative_pattern;/* Flag for processing -ve prefix/suffix */
} xsltFormatNumberInfo, *xsltFormatNumberInfoPtr;
};
#ifdef __cplusplus
}

View File

@ -2221,36 +2221,3 @@ xsltFreeTemplateHashes(xsltStylesheetPtr style) {
xsltFreeCompMatchList(style->commentMatch);
}
#if 0
/**
* xsltMatchPattern
* @node: a node in the source tree
* @pattern: an XSLT pattern
* @ctxtdoc: context document (for namespaces)
* @ctxtnode: context node (for namespaces)
*
* Determine if a node matches a pattern.
*/
int
xsltMatchPattern(xsltTransformContextPtr context,
xmlNodePtr node,
const xmlChar *pattern,
xmlDocPtr ctxtdoc,
xmlNodePtr ctxtnode)
{
int match = 0;
xsltCompMatchPtr first, comp;
if ((context != NULL) && (pattern != NULL)) {
first = xsltCompilePattern(pattern, ctxtdoc, ctxtnode);
for (comp = first; comp != NULL; comp = comp->next) {
match = xsltTestCompMatch(context, comp, node, NULL, NULL);
if (match)
break; /* for */
}
if (first)
xsltFreeCompMatchList(first);
}
return match;
}
#endif

View File

@ -193,8 +193,11 @@ xsltFreeStylePreComp(xsltStylePreCompPtr comp) {
* xsltDocumentComp:
* @style: the XSLT stylesheet
* @inst: the instruction in the stylesheet
* @function: unused
*
* Pre process an XSLT-1.1 document element
*
* Returns a precompiled data structure for the element
*/
xsltElemPreCompPtr
xsltDocumentComp(xsltStylesheetPtr style, xmlNodePtr inst,

View File

@ -163,7 +163,7 @@ xsltSetDefaultSecurityPrefs(xsltSecurityPrefsPtr sec) {
}
/**
* xsltSetDefaultSecurityPrefs:
* xsltGetDefaultSecurityPrefs:
*
* Get the default security preference application-wide
*

View File

@ -224,7 +224,6 @@ xsltEvalTemplateString(xsltTransformContextPtr ctxt, xmlNodePtr node,
* @ctxt: the XSLT transformation context
* @str: the attribute template node value
* @node: the node hosting the attribute
* @nsList: the list of in-scope namespaces to use
*
* Process the given string, allowing to pass a namespace mapping
* context and return the new string value.

View File

@ -77,55 +77,187 @@ int xsltMaxDepth = 5000;
#define IS_BLANK_NODE(n) \
(((n)->type == XML_TEXT_NODE) && (xsltIsBlank((n)->content)))
/*
* Generic function for accessing stacks in the transform Context
/**
* templPush:
* @ctxt: the transformation context
* @value: the template to push on the stack
*
* Push a template on the stack
*
* Returns the new index in the stack or 0 in case of error
*/
#define PUSH_AND_POP(scope, type, name) \
scope int name##Push(xsltTransformContextPtr ctxt, type value) { \
if (ctxt->name##Max == 0) { \
ctxt->name##Max = 4; \
ctxt->name##Tab = (type *) xmlMalloc(ctxt->name##Max * \
sizeof(ctxt->name##Tab[0])); \
if (ctxt->name##Tab == NULL) { \
xmlGenericError(xmlGenericErrorContext, \
"malloc failed !\n"); \
return(0); \
} \
} \
if (ctxt->name##Nr >= ctxt->name##Max) { \
ctxt->name##Max *= 2; \
ctxt->name##Tab = (type *) xmlRealloc(ctxt->name##Tab, \
ctxt->name##Max * sizeof(ctxt->name##Tab[0])); \
if (ctxt->name##Tab == NULL) { \
xmlGenericError(xmlGenericErrorContext, \
"realloc failed !\n"); \
return(0); \
} \
} \
ctxt->name##Tab[ctxt->name##Nr] = value; \
ctxt->name = value; \
return(ctxt->name##Nr++); \
} \
scope type name##Pop(xsltTransformContextPtr ctxt) { \
type ret; \
if (ctxt->name##Nr <= 0) return(0); \
ctxt->name##Nr--; \
if (ctxt->name##Nr > 0) \
ctxt->name = ctxt->name##Tab[ctxt->name##Nr - 1]; \
else \
ctxt->name = (type) 0; \
ret = ctxt->name##Tab[ctxt->name##Nr]; \
ctxt->name##Tab[ctxt->name##Nr] = 0; \
return(ret); \
} \
/*
* Those macros actually generate the functions
static int
templPush(xsltTransformContextPtr ctxt, xsltTemplatePtr value)
{
if (ctxt->templMax == 0) {
ctxt->templMax = 4;
ctxt->templTab =
(xsltTemplatePtr *) xmlMalloc(ctxt->templMax *
sizeof(ctxt->templTab[0]));
if (ctxt->templTab == NULL) {
xmlGenericError(xmlGenericErrorContext, "malloc failed !\n");
return (0);
}
}
if (ctxt->templNr >= ctxt->templMax) {
ctxt->templMax *= 2;
ctxt->templTab =
(xsltTemplatePtr *) xmlRealloc(ctxt->templTab,
ctxt->templMax *
sizeof(ctxt->templTab[0]));
if (ctxt->templTab == NULL) {
xmlGenericError(xmlGenericErrorContext, "realloc failed !\n");
return (0);
}
}
ctxt->templTab[ctxt->templNr] = value;
ctxt->templ = value;
return (ctxt->templNr++);
}
/**
* varsPop:
* @ctxt: the transformation context
*
* Pop a template value from the stack
*
* Returns the stored template value
*/
PUSH_AND_POP(static, xsltTemplatePtr, templ)
PUSH_AND_POP(static, xsltStackElemPtr, vars)
PUSH_AND_POP(static, long, prof)
static xsltTemplatePtr
templPop(xsltTransformContextPtr ctxt)
{
xsltTemplatePtr ret;
if (ctxt->templNr <= 0)
return (0);
ctxt->templNr--;
if (ctxt->templNr > 0)
ctxt->templ = ctxt->templTab[ctxt->templNr - 1];
else
ctxt->templ = (xsltTemplatePtr) 0;
ret = ctxt->templTab[ctxt->templNr];
ctxt->templTab[ctxt->templNr] = 0;
return (ret);
}
/**
* varsPush:
* @ctxt: the transformation context
* @value: the variable to push on the stack
*
* Push a variable on the stack
*
* Returns the new index in the stack or 0 in case of error
*/
static int
varsPush(xsltTransformContextPtr ctxt, xsltStackElemPtr value)
{
if (ctxt->varsMax == 0) {
ctxt->varsMax = 4;
ctxt->varsTab =
(xsltStackElemPtr *) xmlMalloc(ctxt->varsMax *
sizeof(ctxt->varsTab[0]));
if (ctxt->varsTab == NULL) {
xmlGenericError(xmlGenericErrorContext, "malloc failed !\n");
return (0);
}
}
if (ctxt->varsNr >= ctxt->varsMax) {
ctxt->varsMax *= 2;
ctxt->varsTab =
(xsltStackElemPtr *) xmlRealloc(ctxt->varsTab,
ctxt->varsMax *
sizeof(ctxt->varsTab[0]));
if (ctxt->varsTab == NULL) {
xmlGenericError(xmlGenericErrorContext, "realloc failed !\n");
return (0);
}
}
ctxt->varsTab[ctxt->varsNr] = value;
ctxt->vars = value;
return (ctxt->varsNr++);
}
/**
* varsPop:
* @ctxt: the transformation context
*
* Pop a variable value from the stack
*
* Returns the stored variable value
*/
static xsltStackElemPtr
varsPop(xsltTransformContextPtr ctxt)
{
xsltStackElemPtr ret;
if (ctxt->varsNr <= 0)
return (0);
ctxt->varsNr--;
if (ctxt->varsNr > 0)
ctxt->vars = ctxt->varsTab[ctxt->varsNr - 1];
else
ctxt->vars = (xsltStackElemPtr) 0;
ret = ctxt->varsTab[ctxt->varsNr];
ctxt->varsTab[ctxt->varsNr] = 0;
return (ret);
}
/**
* profPush:
* @ctxt: the transformation context
* @value: the profiling value to push on the stack
*
* Push a profiling value on the stack
*
* Returns the new index in the stack or 0 in case of error
*/
static int
profPush(xsltTransformContextPtr ctxt, long value)
{
if (ctxt->profMax == 0) {
ctxt->profMax = 4;
ctxt->profTab =
(long *) xmlMalloc(ctxt->profMax * sizeof(ctxt->profTab[0]));
if (ctxt->profTab == NULL) {
xmlGenericError(xmlGenericErrorContext, "malloc failed !\n");
return (0);
}
}
if (ctxt->profNr >= ctxt->profMax) {
ctxt->profMax *= 2;
ctxt->profTab =
(long *) xmlRealloc(ctxt->profTab,
ctxt->profMax * sizeof(ctxt->profTab[0]));
if (ctxt->profTab == NULL) {
xmlGenericError(xmlGenericErrorContext, "realloc failed !\n");
return (0);
}
}
ctxt->profTab[ctxt->profNr] = value;
ctxt->prof = value;
return (ctxt->profNr++);
}
/**
* profPop:
* @ctxt: the transformation context
*
* Pop a profiling value from the stack
*
* Returns the stored profiling value
*/
static long
profPop(xsltTransformContextPtr ctxt)
{
long ret;
if (ctxt->profNr <= 0)
return (0);
ctxt->profNr--;
if (ctxt->profNr > 0)
ctxt->prof = ctxt->profTab[ctxt->profNr - 1];
else
ctxt->prof = (long) 0;
ret = ctxt->profTab[ctxt->profNr];
ctxt->profTab[ctxt->profNr] = 0;
return (ret);
}
/************************************************************************
* *
@ -149,7 +281,7 @@ xsltSetXIncludeDefault(int xinclude) {
/**
* xsltGetXIncludeDefault:
*
* return the default state for XInclude processing
* Provides the default state for XInclude processing
*
* Returns 0 if there is no processing 1 otherwise
*/
@ -1021,6 +1153,7 @@ xsltDefaultProcessOneNode(xsltTransformContextPtr ctxt, xmlNodePtr node) {
* xsltProcessOneNode:
* @ctxt: a XSLT process context
* @node: the node in the source tree.
* @params: extra parameters passed to the template if any
*
* Process the source node.
*/
@ -3350,7 +3483,7 @@ xsltGetHTMLIDs(const xmlChar *version, const xmlChar **publicID,
/**
* xsltApplyStripSpaces:
* @ctxt: a XSLT process context
* @root: the root of the XML tree
* @node: the root of the XML tree
*
* Strip the unwanted ignorable spaces from the input tree
*/

View File

@ -43,11 +43,6 @@ xmlDocPtr xsltApplyStylesheetUser (xsltStylesheetPtr style,
*/
void xsltApplyStripSpaces (xsltTransformContextPtr ctxt,
xmlNodePtr node);
xsltTransformFunction
xsltExtElementLookup (xsltTransformContextPtr ctxt,
const xmlChar *name,
const xmlChar *URI);
xmlDocPtr xsltApplyStylesheet (xsltStylesheetPtr style,
xmlDocPtr doc,
const char **params);

View File

@ -949,10 +949,9 @@ xsltQuoteUserParams(xsltTransformContextPtr ctxt, const char **params) {
/**
* xsltEvalOneUserParam:
*
* @ctxt: the XSLT transformation context
* @name: a null terminated string giving the name of the parameter
* @value a null terminated string giving the XPath expression to be evaluated
* @value: a null terminated string giving the XPath expression to be evaluated
*
* This is normally called from xsltEvalUserParams to process a single
* parameter from a list of parameters. The @value is evaluated as an
@ -976,10 +975,9 @@ xsltEvalOneUserParam(xsltTransformContextPtr ctxt,
/**
* xsltQuoteOneUserParam:
*
* @ctxt: the XSLT transformation context
* @name: a null terminated string giving the name of the parameter
* @value a null terminated string giving the parameter value
* @value: a null terminated string giving the parameter value
*
* This is normally called from xsltQuoteUserParams to process a single
* parameter from a list of parameters. The @value is stored in the
@ -1167,7 +1165,7 @@ xsltVariableLookup(xsltTransformContextPtr ctxt, const xmlChar *name,
* parse an XSLT transformation param declaration, compute
* its value but doesn't record it.
*
* It returns the new xsltStackElemPtr or NULL
* Returns the new xsltStackElemPtr or NULL
*/
xsltStackElemPtr

View File

@ -68,53 +68,67 @@ double xmlXPathStringEvalNumber(const xmlChar *str);
#define IS_BLANK_NODE(n) \
(((n)->type == XML_TEXT_NODE) && (xsltIsBlank((n)->content)))
/*
* Generic function for accessing stacks in the stylesheet
/**
* exclPrefixPush:
* @style: the transformation stylesheet
* @value: the excluded prefix to push on the stack
*
* Push an excluded prefix on the stack
*
* Returns the new index in the stack or 0 in case of error
*/
#define PUSH_AND_POP(scope, type, name) \
scope int name##Push(xsltStylesheetPtr style, type value) { \
if (style->name##Max == 0) { \
style->name##Max = 4; \
style->name##Tab = (type *) xmlMalloc(style->name##Max * \
sizeof(style->name##Tab[0])); \
if (style->name##Tab == NULL) { \
xmlGenericError(xmlGenericErrorContext, \
"malloc failed !\n"); \
return(0); \
} \
} \
if (style->name##Nr >= style->name##Max) { \
style->name##Max *= 2; \
style->name##Tab = (type *) xmlRealloc(style->name##Tab, \
style->name##Max * sizeof(style->name##Tab[0])); \
if (style->name##Tab == NULL) { \
xmlGenericError(xmlGenericErrorContext, \
"realloc failed !\n"); \
return(0); \
} \
} \
style->name##Tab[style->name##Nr] = value; \
style->name = value; \
return(style->name##Nr++); \
} \
scope type name##Pop(xsltStylesheetPtr style) { \
type ret; \
if (style->name##Nr <= 0) return(0); \
style->name##Nr--; \
if (style->name##Nr > 0) \
style->name = style->name##Tab[style->name##Nr - 1]; \
else \
style->name = NULL; \
ret = style->name##Tab[style->name##Nr]; \
style->name##Tab[style->name##Nr] = 0; \
return(ret); \
} \
/*
* Those macros actually generate the functions
static int
exclPrefixPush(xsltStylesheetPtr style, xmlChar * value)
{
if (style->exclPrefixMax == 0) {
style->exclPrefixMax = 4;
style->exclPrefixTab =
(xmlChar * *)xmlMalloc(style->exclPrefixMax *
sizeof(style->exclPrefixTab[0]));
if (style->exclPrefixTab == NULL) {
xmlGenericError(xmlGenericErrorContext, "malloc failed !\n");
return (0);
}
}
if (style->exclPrefixNr >= style->exclPrefixMax) {
style->exclPrefixMax *= 2;
style->exclPrefixTab =
(xmlChar * *)xmlRealloc(style->exclPrefixTab,
style->exclPrefixMax *
sizeof(style->exclPrefixTab[0]));
if (style->exclPrefixTab == NULL) {
xmlGenericError(xmlGenericErrorContext, "realloc failed !\n");
return (0);
}
}
style->exclPrefixTab[style->exclPrefixNr] = value;
style->exclPrefix = value;
return (style->exclPrefixNr++);
}
/**
* exclPrefixPop:
* @style: the transformation stylesheet
*
* Pop an excluded prefix value from the stack
*
* Returns the stored excluded prefix value
*/
PUSH_AND_POP(static, xmlChar *, exclPrefix)
static xmlChar *
exclPrefixPop(xsltStylesheetPtr style)
{
xmlChar *ret;
if (style->exclPrefixNr <= 0)
return (0);
style->exclPrefixNr--;
if (style->exclPrefixNr > 0)
style->exclPrefix = style->exclPrefixTab[style->exclPrefixNr - 1];
else
style->exclPrefix = NULL;
ret = style->exclPrefixTab[style->exclPrefixNr];
style->exclPrefixTab[style->exclPrefixNr] = 0;
return (ret);
}
/************************************************************************
* *
@ -240,11 +254,13 @@ xsltFreeDecimalFormatList(xsltStylesheetPtr self)
* @name: the decimal-format name to find
*
* Find decimal-format by name
*
* Returns the xsltDecimalFormatPtr
*/
xsltDecimalFormatPtr
xsltDecimalFormatGetByName(xsltStylesheetPtr sheet, xmlChar *name)
{
xsltDecimalFormatPtr result;
xsltDecimalFormatPtr result = NULL;
if (name == NULL)
return sheet->decimalFormat;

View File

@ -50,8 +50,29 @@ struct _xsltRuntimeExtra {
void *val; /* data not needing deallocation */
};
/**
* XSLT_RUNTIME_EXTRA_LST:
* @ctxt: the transformation context
* @nr: the index
*
* Macro used to access extra information stored in the context
*/
#define XSLT_RUNTIME_EXTRA_LST(ctxt, nr) (ctxt)->extras[(nr)].info
/**
* XSLT_RUNTIME_EXTRA_FREE:
* @ctxt: the transformation context
* @nr: the index
*
* Macro used to free extra information stored in the context
*/
#define XSLT_RUNTIME_EXTRA_FREE(ctxt, nr) (ctxt)->extras[(nr)].deallocate
/**
* XSLT_RUNTIME_EXTRA:
* @ctxt: the transformation context
* @nr: the index
*
* Macro used to define extra information stored in the context
*/
#define XSLT_RUNTIME_EXTRA(ctxt, nr) (ctxt)->extras[(nr)].val
/**

View File

@ -476,6 +476,8 @@ xsltSetTransformErrorFunc(xsltTransformContextPtr ctxt,
/**
* xsltTransformError:
* @ctxt: an XSLT transformation context
* @style: the XSLT stylesheet used
* @node: the current node in the stylesheet
* @msg: the message to display/transmit
* @...: extra parameters for the message display
*
@ -631,10 +633,12 @@ xsltDocumentSortFunction(xmlNodeSetPtr list) {
/**
* xsltComputeSortResult:
* @ctxt: a XSLT process context
* @sorts: array of sort nodes
* @sort: node list
*
* reorder the current node list accordingly to the set of sorting
* requirement provided by the array of nodes.
*
* Returns a ordered XPath nodeset or NULL in case of error.
*/
xmlXPathObjectPtr *
xsltComputeSortResult(xsltTransformContextPtr ctxt, xmlNodePtr sort) {
@ -1321,7 +1325,6 @@ xsltSaveResultToFd(int fd, xmlDocPtr result, xsltStylesheetPtr style) {
* @doc_txt_len: Length of the generated XML text
* @result: the result xmlDocPtr
* @style: the stylesheet
* @compression: the compression factor (0 - 9 included)
*
* Save the result @result obtained by applying the @style stylesheet
* to a file or @URL
@ -1715,7 +1718,7 @@ static xsltDebuggerCallbacks xsltDebuggerCurrentCallbacks = {
int xslDebugStatus;
/**
* xslSetDebuggerCallbacks:
* xsltSetDebuggerCallbacks:
* @no : number of callbacks
* @block : the block of callbacks
*

View File

@ -24,7 +24,7 @@ extern "C" {
#endif
/**
* TODO:
* XSLT_TODO:
*
* Macro to flag unimplemented blocks.
*/
@ -34,7 +34,7 @@ extern "C" {
__FILE__, __LINE__);
/**
* STRANGE:
* XSLT_STRANGE:
*
* Macro to flag that a problem was detected internally.
*/
@ -175,6 +175,11 @@ xmlDocPtr xsltGetProfileInformation (xsltTransformContextPtr ctxt);
long xsltTimestamp (void);
void xsltCalibrateAdjust (long delta);
/**
* XSLT_TIMESTAMP_TICS_PER_SEC:
*
* Sampling precision for profiling
*/
#define XSLT_TIMESTAMP_TICS_PER_SEC 100000l
/*

View File

@ -33,6 +33,7 @@ isBlank()
loadStylesheetPI()
newStylesheet()
parseStylesheetDoc()
parseStylesheetFile()
# functions from module xsltutils
calibrateAdjust()
@ -110,6 +111,8 @@ Class transformCtxt()
# functions from module templates
attrListTemplateProcess()
attrTemplateProcess()
attrTemplateValueProcess()
attrTemplateValueProcessNode()
evalAttrValueTemplate()
evalTemplateString()
@ -118,6 +121,9 @@ Class transformCtxt()
freeTransformContext()
registerAllElement()
# functions from module transform.c
copyTree()
# functions from module variables
evalGlobalVariables()
evalOneUserParam()