grchiu 2003/05/13 10:42:30
Modified: java/src/org/apache/xalan/processor
ProcessorTemplateElem.java
java/src/org/apache/xalan/templates ElemAttributeSet.java
ElemElement.java ElemLiteralResult.java
ElemTemplateElement.java ElemUse.java
Log:
Some Trace-related fixes: Two trace events were being fired for ElemCopy,
and for templates elements derived from ElemUse the trace end event was
being fired before child templates were executed. Also saved locator
information for the end tag of stylesheet elements.
Revision Changes Path
1.13 +1 -1
xml-xalan/java/src/org/apache/xalan/processor/ProcessorTemplateElem.java
Index: ProcessorTemplateElem.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xalan/processor/ProcessorTemplateElem.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- ProcessorTemplateElem.java 30 Jan 2003 18:45:45 -0000 1.12
+++ ProcessorTemplateElem.java 13 May 2003 17:42:29 -0000 1.13
@@ -161,6 +161,6 @@
throws org.xml.sax.SAXException
{
super.endElement(handler, uri, localName, rawName);
- handler.popElemTemplateElement();
+ handler.popElemTemplateElement().setEndLocaterInfo(handler.getLocator());
}
}
1.12 +7 -0
xml-xalan/java/src/org/apache/xalan/templates/ElemAttributeSet.java
Index: ElemAttributeSet.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemAttributeSet.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- ElemAttributeSet.java 30 Jan 2003 18:45:50 -0000 1.11
+++ ElemAttributeSet.java 13 May 2003 17:42:30 -0000 1.12
@@ -141,6 +141,9 @@
throws TransformerException
{
+ if (TransformerImpl.S_DEBUG)
+ transformer.getTraceManager().fireTraceEvent(this);
+
if (transformer.isRecursiveAttrSet(this))
{
throw new TransformerException(
@@ -162,6 +165,10 @@
}
transformer.popElemAttributeSet();
+
+ if (TransformerImpl.S_DEBUG)
+ transformer.getTraceManager().fireTraceEndEvent(this);
+
}
/**
1.32 +4 -8
xml-xalan/java/src/org/apache/xalan/templates/ElemElement.java
Index: ElemElement.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemElement.java,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- ElemElement.java 24 Apr 2003 19:54:15 -0000 1.31
+++ ElemElement.java 13 May 2003 17:42:30 -0000 1.32
@@ -275,10 +275,8 @@
throws TransformerException
{
-// This was causing a duplicate trace event because the parent class,
ElemUse
-// is also firing this.
-// if (TransformerImpl.S_DEBUG)
-// transformer.getTraceManager().fireTraceEvent(this);
+ if (TransformerImpl.S_DEBUG)
+ transformer.getTraceManager().fireTraceEvent(this);
SerializationHandler rhandler = transformer.getSerializationHandler();
XPathContext xctxt = transformer.getXPathContext();
@@ -364,10 +362,8 @@
constructNode(nodeName, prefix, nodeNamespace, transformer);
-// This was causing a duplicate trace event because the parent class,
ElemUse
-// is also firing this.
-// if (TransformerImpl.S_DEBUG)
-// transformer.getTraceManager().fireTraceEndEvent(this);
+ if (TransformerImpl.S_DEBUG)
+ transformer.getTraceManager().fireTraceEndEvent(this);
}
/**
1.36 +7 -0
xml-xalan/java/src/org/apache/xalan/templates/ElemLiteralResult.java
Index: ElemLiteralResult.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemLiteralResult.java,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -r1.35 -r1.36
--- ElemLiteralResult.java 1 Apr 2003 20:16:27 -0000 1.35
+++ ElemLiteralResult.java 13 May 2003 17:42:30 -0000 1.36
@@ -645,6 +645,9 @@
throws TransformerException
{
+ if (TransformerImpl.S_DEBUG)
+ transformer.getTraceManager().fireTraceEvent(this);
+
try
{
SerializationHandler rhandler = transformer.getSerializationHandler();
@@ -710,6 +713,10 @@
{
throw new TransformerException(se);
}
+
+ if (TransformerImpl.S_DEBUG)
+ transformer.getTraceManager().fireTraceEndEvent(this);
+
}
/**
1.60 +44 -0
xml-xalan/java/src/org/apache/xalan/templates/ElemTemplateElement.java
Index: ElemTemplateElement.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemTemplateElement.java,v
retrieving revision 1.59
retrieving revision 1.60
diff -u -r1.59 -r1.60
--- ElemTemplateElement.java 1 Apr 2003 20:16:27 -0000 1.59
+++ ElemTemplateElement.java 13 May 2003 17:42:30 -0000 1.60
@@ -711,6 +711,22 @@
* @serial */
private int m_lineNumber;
+ /** line number where the current document event ends.
+ * @serial */
+ private int m_endLineNumber;
+
+ /**
+ * Return the line number where the current document event ends.
+ * Note that this is the line position of the first character
+ * after the text associated with the document event.
+ * @return The line number, or -1 if none is available.
+ * @see #getColumnNumber
+ */
+ public int getEndLineNumber()
+ {
+ return m_endLineNumber;
+ }
+
/**
* Return the line number where the current document event ends.
* Note that this is the line position of the first character
@@ -727,6 +743,23 @@
* @serial */
private int m_columnNumber;
+ /** the column number where the current document event ends.
+ * @serial */
+ private int m_endColumnNumber;
+
+ /**
+ * Return the column number where the current document event ends.
+ * Note that this is the column number of the first
+ * character after the text associated with the document
+ * event. The first column in a line is position 1.
+ * @return The column number, or -1 if none is available.
+ * @see #getLineNumber
+ */
+ public int getEndColumnNumber()
+ {
+ return m_endColumnNumber;
+ }
+
/**
* Return the column number where the current document event ends.
* Note that this is the column number of the first
@@ -778,6 +811,17 @@
m_lineNumber = locator.getLineNumber();
m_columnNumber = locator.getColumnNumber();
}
+
+ /**
+ * Set the end location information for this element.
+ *
+ * @param locator Source Locator with location information for this element
+ */
+ public void setEndLocaterInfo(SourceLocator locator)
+ {
+ m_endLineNumber = locator.getLineNumber();
+ m_endColumnNumber = locator.getColumnNumber();
+ }
/**
* Tell if this element has the default space handling
1.16 +1 -5
xml-xalan/java/src/org/apache/xalan/templates/ElemUse.java
Index: ElemUse.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemUse.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- ElemUse.java 30 Jan 2003 18:45:51 -0000 1.15
+++ ElemUse.java 13 May 2003 17:42:30 -0000 1.16
@@ -228,16 +228,12 @@
TransformerImpl transformer)
throws TransformerException
{
- if (TransformerImpl.S_DEBUG)
- transformer.getTraceManager().fireTraceEvent(this);
if (null != m_attributeSetsNames)
{
applyAttrSets(transformer, getStylesheetRoot(),
m_attributeSetsNames);
}
-
- if (TransformerImpl.S_DEBUG)
- transformer.getTraceManager().fireTraceEndEvent(this);
+
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]