diff options
Diffstat (limited to 'kxsldbg/kxsldbgpart/libxsldbg/variable_cmds.cpp')
| -rw-r--r-- | kxsldbg/kxsldbgpart/libxsldbg/variable_cmds.cpp | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/kxsldbg/kxsldbgpart/libxsldbg/variable_cmds.cpp b/kxsldbg/kxsldbgpart/libxsldbg/variable_cmds.cpp deleted file mode 100644 index a3a4df53..00000000 --- a/kxsldbg/kxsldbgpart/libxsldbg/variable_cmds.cpp +++ /dev/null @@ -1,114 +0,0 @@ - -/*************************************************************************** - variable_cmds.c - description - ------------------- - begin : Sun Dec 30 2001 - copyright : (C) 2001 by Keith Isdale - email : k_isdale@tpg.com.au - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#include <libxml/xpath.h> -#include <libxslt/xsltInternals.h> -#include <libxslt/variables.h> /* needed for xsltVariablesComp */ -#include <libxml/valid.h> /* needed for xmlSplitTQName2 */ -#include "xsldbg.h" -#include "debugXSL.h" -#include "search.h" - - -int -xslDbgShellSetVariable(xsltTransformContextPtr styleCtxt, xmlChar * arg) -{ - int result = 0, showUsage = 0; - xmlChar *name, *nameURI, *selectExpr, *opts[3]; - - if (!styleCtxt) { - - xsldbgGenericErrorFunc(i18n("Error: Stylesheet is not valid.\n")); - return result; - } - - if (!arg) { -#ifdef WITH_XSLDBG_DEBUG_PROCESS - xsltGenericError(xsltGenericErrorContext, - "Error: NULL argument provided\n"); -#endif - return result; - } - - if (xmlStrLen(arg) > 1) { - if (splitString(arg, 2, opts) == 2) { - nameURI = NULL; - /* ignore any "$" prefix as user probably didn't mean that - "$" is part of variable name*/ - if (*opts[0] =='$'){ - opts[0] = opts[0] + 1; - } - name = xmlSplitQName2(opts[0], &nameURI); - if (name == NULL) - name = xmlStrdup(opts[0]); - selectExpr = xmlStrdup(opts[1]); - if (name && selectExpr) { - xsltStackElemPtr def = NULL; - - if (styleCtxt->varsNr && styleCtxt->varsTab) { - /* try finding varaible in stack */ - for (int i = styleCtxt->varsNr; i > styleCtxt->varsBase; i--) { - xsltStackElemPtr item = styleCtxt->varsTab[i-1]; - while (item) { - if ((xmlStrCmp(name, item->name) == 0) && - (item->nameURI == NULL - || (xmlStrCmp(name, item->nameURI) == 0))) { - def = item; - break; - } - item = item->next; - } - } - } - - if (def == NULL) - def = (xsltStackElemPtr) - xmlHashLookup2(styleCtxt->globalVars, - name, nameURI); - if (def != NULL) { - if (def->select) { - def->select = xmlDictLookup(styleCtxt->dict, selectExpr, -1); - def->tree = NULL; /* maybe a memory leak, but play it safe */ - def->computed = 1; - if (def->comp->comp) - xmlXPathFreeCompExpr(def->comp->comp); - def->comp->comp = xmlXPathCompile(def->select); - if (def->value) - xmlXPathFreeObject(def->value); - def->value = - xmlXPathEval(def->select, - styleCtxt->xpathCtxt); - result = 1; - } else { - xmlFree(selectExpr); - xsldbgGenericErrorFunc(i18n("Error: Cannot change a variable that does not use the select attribute.\n")); - } - } else - xsldbgGenericErrorFunc(i18n("Error: Variable %1 was not found.\n").arg(xsldbgText(name))); - xmlFree(name); - } else - xsldbgGenericErrorFunc(i18n("Error: Out of memory.\n")); - } else { - showUsage = 1; - } - - if (showUsage == 1) - xsldbgGenericErrorFunc(i18n("Error: Invalid arguments to command %1.\n").arg("set")); - } - return result; -} |
