First step toward _private cleanup: use the psvi field to store the
authorDaniel Veillard <veillard@src.gnome.org>
Wed, 25 Feb 2004 15:37:39 +0000 (15:37 +0000)
committerDaniel Veillard <veillard@src.gnome.org>
Wed, 25 Feb 2004 15:37:39 +0000 (15:37 +0000)
* libxslt/attributes.c libxslt/keys.h libxslt/preproc.c
  libxslt/transform.c libxslt/variables.c libxslt/xsltutils.c:
  First step toward _private cleanup: use the psvi field to store
  the precompilation informations in the stylesheet nodes.
Daniel

ChangeLog
libxslt/attributes.c
libxslt/keys.h
libxslt/preproc.c
libxslt/transform.c
libxslt/variables.c
libxslt/xsltutils.c

index bac92cc..adcd5be 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Wed Feb 25 16:35:01 CET 2004 Daniel Veillard <daniel@veillard.com>
+
+       * libxslt/attributes.c libxslt/keys.h libxslt/preproc.c 
+         libxslt/transform.c libxslt/variables.c libxslt/xsltutils.c:
+         First step toward _private cleanup: use the psvi field to store
+         the precompilation informations in the stylesheet nodes.
+
 Wed Feb 25 14:24:34 CET 2004 Daniel Veillard <daniel@veillard.com>
 
        * libxslt/variables.c: trying to use the fact that names comes
index c3b2cce..d5a53fe 100644 (file)
@@ -768,7 +768,7 @@ xsltApplyAttributeSet(xsltTransformContextPtr ctxt, xmlNodePtr node,
                 while (values != NULL) {
                     if (values->attr != NULL) {
                         xsltAttributeInternal(ctxt, node, values->attr,
-                                              values->attr->_private, 1);
+                                              values->attr->psvi, 1);
                     }
                     values = values->next;
                 }
index bf07c6d..8238e6a 100644 (file)
@@ -18,6 +18,7 @@
 extern "C" {
 #endif
 
+#define NODE_IS_KEYED (1 >> 15)
 XSLTPUBFUN int XSLTCALL
                xsltAddKey              (xsltStylesheetPtr style,
                                         const xmlChar *name,
index f4cb1d1..779dc2a 100644 (file)
@@ -246,7 +246,7 @@ xsltSortComp(xsltStylesheetPtr style, xmlNodePtr inst) {
     comp = xsltNewStylePreComp(style, XSLT_FUNC_SORT);
     if (comp == NULL)
        return;
-    inst->_private = comp;
+    inst->psvi = comp;
     comp->inst = inst;
 
     comp->stype = xsltEvalStaticAttrValueTemplate(style, inst,
@@ -339,7 +339,7 @@ xsltCopyComp(xsltStylesheetPtr style, xmlNodePtr inst) {
     comp = xsltNewStylePreComp(style, XSLT_FUNC_COPY);
     if (comp == NULL)
        return;
-    inst->_private = comp;
+    inst->psvi = comp;
     comp->inst = inst;
 
 
@@ -368,7 +368,7 @@ xsltTextComp(xsltStylesheetPtr style, xmlNodePtr inst) {
     comp = xsltNewStylePreComp(style, XSLT_FUNC_TEXT);
     if (comp == NULL)
        return;
-    inst->_private = comp;
+    inst->psvi = comp;
     comp->inst = inst;
     comp->noescape = 0;
 
@@ -403,7 +403,7 @@ xsltElementComp(xsltStylesheetPtr style, xmlNodePtr inst) {
     comp = xsltNewStylePreComp(style, XSLT_FUNC_ELEMENT);
     if (comp == NULL)
        return;
-    inst->_private = comp;
+    inst->psvi = comp;
     comp->inst = inst;
 
     comp->name = xsltEvalStaticAttrValueTemplate(style, inst,
@@ -449,7 +449,7 @@ xsltAttributeComp(xsltStylesheetPtr style, xmlNodePtr inst) {
     comp = xsltNewStylePreComp(style, XSLT_FUNC_ATTRIBUTE);
     if (comp == NULL)
        return;
-    inst->_private = comp;
+    inst->psvi = comp;
     comp->inst = inst;
 
     /*
@@ -487,7 +487,7 @@ xsltCommentComp(xsltStylesheetPtr style, xmlNodePtr inst) {
     comp = xsltNewStylePreComp(style, XSLT_FUNC_COMMENT);
     if (comp == NULL)
        return;
-    inst->_private = comp;
+    inst->psvi = comp;
     comp->inst = inst;
 }
 
@@ -507,7 +507,7 @@ xsltProcessingInstructionComp(xsltStylesheetPtr style, xmlNodePtr inst) {
     comp = xsltNewStylePreComp(style, XSLT_FUNC_PI);
     if (comp == NULL)
        return;
-    inst->_private = comp;
+    inst->psvi = comp;
     comp->inst = inst;
 
     comp->name = xsltEvalStaticAttrValueTemplate(style, inst,
@@ -531,7 +531,7 @@ xsltCopyOfComp(xsltStylesheetPtr style, xmlNodePtr inst) {
     comp = xsltNewStylePreComp(style, XSLT_FUNC_COPYOF);
     if (comp == NULL)
        return;
-    inst->_private = comp;
+    inst->psvi = comp;
     comp->inst = inst;
 
     comp->select = xsltGetCNsProp(style, inst, (const xmlChar *)"select",
@@ -568,7 +568,7 @@ xsltValueOfComp(xsltStylesheetPtr style, xmlNodePtr inst) {
     comp = xsltNewStylePreComp(style, XSLT_FUNC_VALUEOF);
     if (comp == NULL)
        return;
-    inst->_private = comp;
+    inst->psvi = comp;
     comp->inst = inst;
 
     prop = xsltGetCNsProp(style, inst,
@@ -618,7 +618,7 @@ xsltWithParamComp(xsltStylesheetPtr style, xmlNodePtr inst) {
     comp = xsltNewStylePreComp(style, XSLT_FUNC_WITHPARAM);
     if (comp == NULL)
        return;
-    inst->_private = comp;
+    inst->psvi = comp;
     comp->inst = inst;
 
     /*
@@ -682,7 +682,7 @@ xsltNumberComp(xsltStylesheetPtr style, xmlNodePtr cur) {
     comp = xsltNewStylePreComp(style, XSLT_FUNC_NUMBER);
     if (comp == NULL)
        return;
-    cur->_private = comp;
+    cur->psvi = comp;
 
     if ((style == NULL) || (cur == NULL))
        return;
@@ -786,7 +786,7 @@ xsltApplyImportsComp(xsltStylesheetPtr style, xmlNodePtr inst) {
     comp = xsltNewStylePreComp(style, XSLT_FUNC_APPLYIMPORTS);
     if (comp == NULL)
        return;
-    inst->_private = comp;
+    inst->psvi = comp;
     comp->inst = inst;
 }
 
@@ -807,7 +807,7 @@ xsltCallTemplateComp(xsltStylesheetPtr style, xmlNodePtr inst) {
     comp = xsltNewStylePreComp(style, XSLT_FUNC_CALLTEMPLATE);
     if (comp == NULL)
        return;
-    inst->_private = comp;
+    inst->psvi = comp;
     comp->inst = inst;
 
     /*
@@ -855,7 +855,7 @@ xsltApplyTemplatesComp(xsltStylesheetPtr style, xmlNodePtr inst) {
     comp = xsltNewStylePreComp(style, XSLT_FUNC_APPLYTEMPLATES);
     if (comp == NULL)
        return;
-    inst->_private = comp;
+    inst->psvi = comp;
     comp->inst = inst;
 
     /*
@@ -908,7 +908,7 @@ xsltChooseComp(xsltStylesheetPtr style, xmlNodePtr inst) {
     comp = xsltNewStylePreComp(style, XSLT_FUNC_CHOOSE);
     if (comp == NULL)
        return;
-    inst->_private = comp;
+    inst->psvi = comp;
     comp->inst = inst;
 }
 
@@ -928,7 +928,7 @@ xsltIfComp(xsltStylesheetPtr style, xmlNodePtr inst) {
     comp = xsltNewStylePreComp(style, XSLT_FUNC_IF);
     if (comp == NULL)
        return;
-    inst->_private = comp;
+    inst->psvi = comp;
     comp->inst = inst;
 
     comp->test = xsltGetCNsProp(style, inst, (const xmlChar *)"test", XSLT_NAMESPACE);
@@ -963,7 +963,7 @@ xsltWhenComp(xsltStylesheetPtr style, xmlNodePtr inst) {
     comp = xsltNewStylePreComp(style, XSLT_FUNC_WHEN);
     if (comp == NULL)
        return;
-    inst->_private = comp;
+    inst->psvi = comp;
     comp->inst = inst;
 
     comp->test = xsltGetCNsProp(style, inst, (const xmlChar *)"test", XSLT_NAMESPACE);
@@ -998,7 +998,7 @@ xsltForEachComp(xsltStylesheetPtr style, xmlNodePtr inst) {
     comp = xsltNewStylePreComp(style, XSLT_FUNC_FOREACH);
     if (comp == NULL)
        return;
-    inst->_private = comp;
+    inst->psvi = comp;
     comp->inst = inst;
 
     comp->select = xsltGetCNsProp(style, inst, (const xmlChar *)"select",
@@ -1036,7 +1036,7 @@ xsltVariableComp(xsltStylesheetPtr style, xmlNodePtr inst) {
     comp = xsltNewStylePreComp(style, XSLT_FUNC_VARIABLE);
     if (comp == NULL)
        return;
-    inst->_private = comp;
+    inst->psvi = comp;
     comp->inst = inst;
 
     /*
@@ -1100,7 +1100,7 @@ xsltParamComp(xsltStylesheetPtr style, xmlNodePtr inst) {
     comp = xsltNewStylePreComp(style, XSLT_FUNC_PARAM);
     if (comp == NULL)
        return;
-    inst->_private = comp;
+    inst->psvi = comp;
     comp->inst = inst;
 
     /*
@@ -1186,7 +1186,7 @@ xsltFreeStylePreComps(xsltStylesheetPtr style) {
  */
 void
 xsltStylePreCompute(xsltStylesheetPtr style, xmlNodePtr inst) {
-    if (inst->_private != NULL) 
+    if (inst->psvi != NULL) 
         return;
     if (IS_XSLT_ELEM(inst)) {
        xsltStylePreCompPtr cur;
@@ -1277,7 +1277,7 @@ xsltStylePreCompute(xsltStylesheetPtr style, xmlNodePtr inst) {
            /* no computation needed */
            return;
        } else if (IS_XSLT_NAME(inst, "document")) {
-           inst->_private = (void *) xsltDocumentComp(style, inst,
+           inst->psvi = (void *) xsltDocumentComp(style, inst,
                                (xsltTransformFunction) xsltDocumentElem);
        } else {
            xsltTransformError(NULL, style, inst,
@@ -1288,7 +1288,7 @@ xsltStylePreCompute(xsltStylesheetPtr style, xmlNodePtr inst) {
         * Add the namespace lookup here, this code can be shared by
         * all precomputations.
         */
-       cur = (xsltStylePreCompPtr) inst->_private;
+       cur = (xsltStylePreCompPtr) inst->psvi;
        if (cur != NULL) {
            int i = 0;
 
@@ -1300,14 +1300,14 @@ xsltStylePreCompute(xsltStylesheetPtr style, xmlNodePtr inst) {
            cur->nsNr = i;
        }
     } else {
-       inst->_private =
+       inst->psvi =
            (void *) xsltPreComputeExtModuleElement(style, inst);
 
        /*
         * Unknown element, maybe registered at the context
         * level. Mark it for later recognition.
         */
-       if (inst->_private == NULL)
-           inst->_private = (void *) xsltExtMarker;
+       if (inst->psvi == NULL)
+           inst->psvi = (void *) xsltExtMarker;
     }
 }
index 1deffbd..4f95bff 100644 (file)
@@ -1532,7 +1532,7 @@ xsltApplyOneTemplate(xsltTransformContextPtr ctxt, xmlNodePtr node,
             /*
              * This is an XSLT node
              */
-            xsltStylePreCompPtr info = (xsltStylePreCompPtr) cur->_private;
+            xsltStylePreCompPtr info = (xsltStylePreCompPtr) cur->psvi;
 
             if (info == NULL) {
                 if (IS_XSLT_NAME(cur, "message")) {
@@ -1607,17 +1607,17 @@ xsltApplyOneTemplate(xsltTransformContextPtr ctxt, xmlNodePtr node,
 #endif
             xsltCopyText(ctxt, insert, cur);
         } else if ((cur->type == XML_ELEMENT_NODE) &&
-                   (cur->ns != NULL) && (cur->_private != NULL)) {
+                   (cur->ns != NULL) && (cur->psvi != NULL)) {
             xsltTransformFunction function;
 
             /*
              * Flagged as an extension element
              */
-            if (cur->_private == xsltExtMarker)
+            if (cur->psvi == xsltExtMarker)
                 function = (xsltTransformFunction)
                     xsltExtElementLookup(ctxt, cur->name, cur->ns->href);
             else
-                function = ((xsltElemPreCompPtr) cur->_private)->func;
+                function = ((xsltElemPreCompPtr) cur->psvi)->func;
 
             if (function == NULL) {
                 xmlNodePtr child;
@@ -1655,7 +1655,7 @@ xsltApplyOneTemplate(xsltTransformContextPtr ctxt, xmlNodePtr node,
 #endif
 
                 ctxt->insert = insert;
-                function(ctxt, node, cur, cur->_private);
+                function(ctxt, node, cur, cur->psvi);
                 ctxt->insert = oldInsert;
             }
             goto skip_children;
@@ -3407,7 +3407,7 @@ xsltChoose(xsltTransformContextPtr ctxt, xmlNodePtr node,
     }
     while ((IS_XSLT_ELEM(replacement) && (IS_XSLT_NAME(replacement, "when")))
            || xmlIsBlankNode(replacement)) {
-       xsltStylePreCompPtr wcomp = replacement->_private;
+       xsltStylePreCompPtr wcomp = replacement->psvi;
 
        if (xmlIsBlankNode(replacement)) {
            replacement = replacement->next;
index 8845ea4..3938eb4 100644 (file)
@@ -1342,7 +1342,7 @@ xsltParseStylesheetCallerParam(xsltTransformContextPtr ctxt, xmlNodePtr cur) {
 
     if ((cur == NULL) || (ctxt == NULL))
        return(NULL);
-    comp = (xsltStylePreCompPtr) cur->_private;
+    comp = (xsltStylePreCompPtr) cur->psvi;
     if (comp == NULL) {
        xsltTransformError(ctxt, NULL, cur,
            "xsl:param : compilation error\n");
@@ -1392,7 +1392,7 @@ xsltParseGlobalVariable(xsltStylesheetPtr style, xmlNodePtr cur) {
        return;
 
     xsltStylePreCompute(style, cur);
-    comp = (xsltStylePreCompPtr) cur->_private;
+    comp = (xsltStylePreCompPtr) cur->psvi;
     if (comp == NULL) {
        xsltTransformError(NULL, style, cur,
             "xsl:variable : compilation failed\n");
@@ -1431,7 +1431,7 @@ xsltParseGlobalParam(xsltStylesheetPtr style, xmlNodePtr cur) {
        return;
 
     xsltStylePreCompute(style, cur);
-    comp = (xsltStylePreCompPtr) cur->_private;
+    comp = (xsltStylePreCompPtr) cur->psvi;
     if (comp == NULL) {
        xsltTransformError(NULL, style, cur,
             "xsl:param : compilation failed\n");
@@ -1469,7 +1469,7 @@ xsltParseStylesheetVariable(xsltTransformContextPtr ctxt, xmlNodePtr cur) {
     if ((cur == NULL) || (ctxt == NULL))
        return;
 
-    comp = (xsltStylePreCompPtr) cur->_private;
+    comp = (xsltStylePreCompPtr) cur->psvi;
     if (comp == NULL) {
        xsltTransformError(ctxt, NULL, cur,
             "xsl:variable : compilation failed\n");
@@ -1506,7 +1506,7 @@ xsltParseStylesheetParam(xsltTransformContextPtr ctxt, xmlNodePtr cur) {
     if ((cur == NULL) || (ctxt == NULL))
        return;
 
-    comp = (xsltStylePreCompPtr) cur->_private;
+    comp = (xsltStylePreCompPtr) cur->psvi;
     if (comp == NULL) {
        xsltTransformError(ctxt, NULL, cur,
             "xsl:param : compilation failed\n");
index 71f018f..53ac087 100644 (file)
@@ -760,7 +760,7 @@ xsltComputeSortResult(xsltTransformContextPtr ctxt, xmlNodePtr sort) {
     int oldNsNr;
     xmlNsPtr *oldNamespaces;
 
-    comp = sort->_private;
+    comp = sort->psvi;
     if (comp == NULL) {
        xsltGenericError(xsltGenericErrorContext,
             "xsl:sort : compilation failed\n");
@@ -874,7 +874,7 @@ xsltDefaultSortFunction(xsltTransformContextPtr ctxt, xmlNodePtr *sorts,
        return;
     if (sorts[0] == NULL)
        return;
-    comp = sorts[0]->_private;
+    comp = sorts[0]->psvi;
     if (comp == NULL)
        return;
 
@@ -883,7 +883,7 @@ xsltDefaultSortFunction(xsltTransformContextPtr ctxt, xmlNodePtr *sorts,
        return; /* nothing to do */
 
     for (j = 0; j < nbsorts; j++) {
-       comp = sorts[j]->_private;
+       comp = sorts[j]->psvi;
        tempstype[j] = 0;
        if ((comp->stype == NULL) && (comp->has_stype != 0)) {
            comp->stype =
@@ -934,7 +934,7 @@ xsltDefaultSortFunction(xsltTransformContextPtr ctxt, xmlNodePtr *sorts,
 
     results = resultsTab[0];
 
-    comp = sorts[0]->_private;
+    comp = sorts[0]->psvi;
     descending = comp->descending;
     number = comp->number;
     if (results == NULL)
@@ -983,7 +983,7 @@ xsltDefaultSortFunction(xsltTransformContextPtr ctxt, xmlNodePtr *sorts,
                    while (depth < nbsorts) {
                        if (sorts[depth] == NULL)
                            break;
-                       comp = sorts[depth]->_private;
+                       comp = sorts[depth]->psvi;
                        if (comp == NULL)
                            break;
                        desc = comp->descending;
@@ -1069,7 +1069,7 @@ xsltDefaultSortFunction(xsltTransformContextPtr ctxt, xmlNodePtr *sorts,
     }
 
     for (j = 0; j < nbsorts; j++) {
-       comp = sorts[j]->_private;
+       comp = sorts[j]->psvi;
        if (tempstype[j] == 1) {
            /* The data-type needs to be recomputed each time */
            xmlFree((void *)(comp->stype));