dbertoni 2002/07/09 17:43:02
Modified: c/src/XSLT StylesheetExecutionContext.hpp
StylesheetExecutionContextDefault.cpp
StylesheetExecutionContextDefault.hpp
XSLTEngineImpl.cpp XSLTEngineImpl.hpp
XSLTProcessor.hpp
Log:
Changes for new select debugging interface.
Revision Changes Path
1.75 +6 -4 xml-xalan/c/src/XSLT/StylesheetExecutionContext.hpp
Index: StylesheetExecutionContext.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XSLT/StylesheetExecutionContext.hpp,v
retrieving revision 1.74
retrieving revision 1.75
diff -u -r1.74 -r1.75
--- StylesheetExecutionContext.hpp 9 Jul 2002 06:19:40 -0000 1.74
+++ StylesheetExecutionContext.hpp 10 Jul 2002 00:43:01 -0000 1.75
@@ -1507,13 +1507,15 @@
/**
* Compose a diagnostic trace of the current selection
*
- * @param theTemplate current context node
- * @param nl list of selected nodes
+ * @param theStylesheetElement The executing stylesheet element
+ * @param nl The list of selected nodes
+ * @param xpath A pointer to the XPath which generated the list of nodes, if
any.
*/
virtual void
traceSelect(
- const XalanElement& theTemplate,
- const NodeRefListBase& nl) const = 0;
+ const ElemTemplateElement& theStylesheetElement,
+ const NodeRefListBase& nl,
+ const XPath* xpath) = 0;
enum eCaseOrder { eDefault, eLowerFirst, eUpperFirst };
1.93 +4 -3 xml-xalan/c/src/XSLT/StylesheetExecutionContextDefault.cpp
Index: StylesheetExecutionContextDefault.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XSLT/StylesheetExecutionContextDefault.cpp,v
retrieving revision 1.92
retrieving revision 1.93
diff -u -r1.92 -r1.93
--- StylesheetExecutionContextDefault.cpp 9 Jul 2002 06:19:40 -0000 1.92
+++ StylesheetExecutionContextDefault.cpp 10 Jul 2002 00:43:01 -0000 1.93
@@ -1196,12 +1196,13 @@
void
StylesheetExecutionContextDefault::traceSelect(
- const XalanElement& theTemplate,
- const NodeRefListBase& nl) const
+ const ElemTemplateElement& theTemplate,
+ const NodeRefListBase& nl,
+ const XPath* xpath)
{
assert(m_xsltProcessor != 0);
- m_xsltProcessor->traceSelect(theTemplate, nl);
+ m_xsltProcessor->traceSelect(*this, theTemplate, nl, xpath);
}
1.80 +3 -2 xml-xalan/c/src/XSLT/StylesheetExecutionContextDefault.hpp
Index: StylesheetExecutionContextDefault.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XSLT/StylesheetExecutionContextDefault.hpp,v
retrieving revision 1.79
retrieving revision 1.80
diff -u -r1.79 -r1.80
--- StylesheetExecutionContextDefault.hpp 9 Jul 2002 06:19:40 -0000 1.79
+++ StylesheetExecutionContextDefault.hpp 10 Jul 2002 00:43:01 -0000 1.80
@@ -667,8 +667,9 @@
virtual void
traceSelect(
- const XalanElement& theTemplate,
- const NodeRefListBase& nl) const;
+ const ElemTemplateElement& theStylesheetElement,
+ const NodeRefListBase& nl,
+ const XPath* xpath);
virtual int
collationCompare(
1.147 +18 -14 xml-xalan/c/src/XSLT/XSLTEngineImpl.cpp
Index: XSLTEngineImpl.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XSLT/XSLTEngineImpl.cpp,v
retrieving revision 1.146
retrieving revision 1.147
diff -u -r1.146 -r1.147
--- XSLTEngineImpl.cpp 9 Jul 2002 06:19:40 -0000 1.146
+++ XSLTEngineImpl.cpp 10 Jul 2002 00:43:01 -0000 1.147
@@ -86,6 +86,7 @@
#include <PlatformSupport/PrintWriter.hpp>
#include <PlatformSupport/StringTokenizer.hpp>
+#include <PlatformSupport/XalanLocator.hpp>
#include <PlatformSupport/XalanUnicode.hpp>
@@ -1153,8 +1154,8 @@
XalanDOMString uri;
- int lineNumber = -1;
- int columnNumber = -1;
+ XalanLocator::size_type lineNumber = -1;
+ XalanLocator::size_type columnNumber = -1;
if (locator != 0)
{
@@ -1271,15 +1272,15 @@
const Locator&
locator,
const XalanNode*
sourceNode) const
{
- const XalanDOMChar* id = locator.getSystemId();
+ const XalanDOMChar* id = locator.getSystemId();
if (id == 0)
{
id = &theDummy;
}
- const int lineNumber =
locator.getLineNumber();
- const int columnNumber =
locator.getColumnNumber();
+ const XalanLocator::size_type lineNumber = locator.getLineNumber();
+ const XalanLocator::size_type columnNumber = locator.getColumnNumber();
if (m_problemListener != 0)
{
@@ -1503,18 +1504,18 @@
void
XSLTEngineImpl::traceSelect(
- const XalanElement& theTemplate,
- const NodeRefListBase& nl) const
+ StylesheetExecutionContext& executionContext,
+ const ElemTemplateElement& theTemplate,
+ const NodeRefListBase& nl,
+ const XPath* xpath) const
{
if (0 != m_diagnosticsPrintWriter)
{
XalanDOMString msg = theTemplate.getNodeName() +
XalanDOMString(XALAN_STATIC_UCODE_STRING(": "));
- XalanAttr* attr =
theTemplate.getAttributeNode(Constants::ATTRNAME_SELECT);
-
- if(0 != attr)
+ if(xpath != 0)
{
- msg += attr->getValue();
+ msg += xpath->getExpression().getCurrentPattern();
msg += XALAN_STATIC_UCODE_STRING(", ");
msg += UnsignedLongToDOMString(nl.getLength());
msg += XALAN_STATIC_UCODE_STRING(" selected");
@@ -1526,11 +1527,14 @@
msg += XALAN_STATIC_UCODE_STRING(" selected");
}
- attr = theTemplate.getAttributeNode(Constants::ATTRNAME_MODE);
+ const XalanQName* const mode =
executionContext.getCurrentMode();
- if(0 != attr)
+ if(mode != 0 && mode->isEmpty() == false)
{
- msg += XalanDOMString(XALAN_STATIC_UCODE_STRING(", mode = "))
+ attr->getValue();
+ msg += XALAN_STATIC_UCODE_STRING(", mode = {");
+ msg += mode->getNamespace();
+ msg += XALAN_STATIC_UCODE_STRING("}");
+ msg += mode->getLocalPart();
}
m_diagnosticsPrintWriter->println(msg);
1.88 +5 -3 xml-xalan/c/src/XSLT/XSLTEngineImpl.hpp
Index: XSLTEngineImpl.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XSLT/XSLTEngineImpl.hpp,v
retrieving revision 1.87
retrieving revision 1.88
diff -u -r1.87 -r1.88
--- XSLTEngineImpl.hpp 9 Jul 2002 06:19:40 -0000 1.87
+++ XSLTEngineImpl.hpp 10 Jul 2002 00:43:01 -0000 1.88
@@ -310,10 +310,12 @@
virtual void
setTraceSelects(bool b);
- virtual void
+ void
traceSelect(
- const XalanElement& theTemplate,
- const NodeRefListBase& nl) const;
+ StylesheetExecutionContext& executionContext,
+ const ElemTemplateElement& theTemplate,
+ const NodeRefListBase& nl,
+ const XPath* xpath) const;
virtual void
setQuietConflictWarnings(bool b);
1.29 +9 -4 xml-xalan/c/src/XSLT/XSLTProcessor.hpp
Index: XSLTProcessor.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XSLT/XSLTProcessor.hpp,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- XSLTProcessor.hpp 9 Jul 2002 06:19:40 -0000 1.28
+++ XSLTProcessor.hpp 10 Jul 2002 00:43:01 -0000 1.29
@@ -96,6 +96,7 @@
class XMLParserLiaison;
class XObject;
class XObjectPtr;
+class XPath;
class XPathExecutionContext;
class XSLTInputSource;
class XSLTResultTarget;
@@ -384,13 +385,17 @@
/**
* Compose a diagnostic trace of the current selection
*
- * @param theTemplate current context node
- * @param nl list of selected nodes
+ * @param executionContext The current execution context
+ * @param theStylesheetElement The executing stylesheet element
+ * @param nl The list of selected nodes
+ * @param xpath A pointer to the XPath which generated the list of nodes, if
any.
*/
virtual void
traceSelect(
- const XalanElement& theTemplate,
- const NodeRefListBase& nl) const = 0;
+ StylesheetExecutionContext& executionContext,
+ const ElemTemplateElement& theStylesheetElement,
+ const NodeRefListBase& nl,
+ const XPath* xpath) const =
0;
/**
* If the quietConflictWarnings property is set to
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]