grchiu 2002/12/19 10:45:29
Modified: java/src/org/apache/xalan/templates Tag: xslt20
ElemCopyOf.java ElemElement.java
ElemTemplateElement.java
java/src/org/apache/xalan/transformer Tag: xslt20
ResultTreeHandler.java
Log:
Migrating fixes for bugzillas 8473, 13374, 13375, 13414 to xslt20 branch.
Revision Changes Path
No revision
No revision
1.14.4.1.2.1 +4 -0
xml-xalan/java/src/org/apache/xalan/templates/ElemCopyOf.java
Index: ElemCopyOf.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemCopyOf.java,v
retrieving revision 1.14.4.1
retrieving revision 1.14.4.1.2.1
diff -u -r1.14.4.1 -r1.14.4.1.2.1
--- ElemCopyOf.java 14 Aug 2002 19:21:28 -0000 1.14.4.1
+++ ElemCopyOf.java 19 Dec 2002 18:45:29 -0000 1.14.4.1.2.1
@@ -279,6 +279,10 @@
child != DTM.NULL;
child = dtm.getNextSibling(child))
{
+ // Bugzilla 8473
+ if (dtm.getNamespaceURI(child) == null) {
+ handler.startPrefixMapping("","");
+ }
tw.traverse(child);
}
}
1.26.2.1.2.2 +6 -2
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.26.2.1.2.1
retrieving revision 1.26.2.1.2.2
diff -u -r1.26.2.1.2.1 -r1.26.2.1.2.2
--- ElemElement.java 6 Dec 2002 18:14:51 -0000 1.26.2.1.2.1
+++ ElemElement.java 19 Dec 2002 18:45:29 -0000 1.26.2.1.2.2
@@ -402,7 +402,9 @@
else
{
// Add namespace declarations.
- executeNSDecls(transformer);
+ // Bugzilla 13414: do not startPrefixMapping on 'prefix'
+ // as it is handled below
+ executeNSDecls(transformer, prefix);
if (null != prefix)
{
@@ -428,7 +430,9 @@
{
rhandler.endPrefixMapping(prefix);
}
- unexecuteNSDecls(transformer);
+ // Bugzilla 13414: do not endPrefixMapping on 'prefix'
+ // as it is handled above
+ unexecuteNSDecls(transformer, prefix);
}
}
catch (SAXException se)
1.53.2.1.2.2 +31 -3
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.53.2.1.2.1
retrieving revision 1.53.2.1.2.2
diff -u -r1.53.2.1.2.1 -r1.53.2.1.2.2
--- ElemTemplateElement.java 11 Oct 2002 21:23:18 -0000 1.53.2.1.2.1
+++ ElemTemplateElement.java 19 Dec 2002 18:45:29 -0000 1.53.2.1.2.2
@@ -1216,6 +1216,20 @@
*/
protected void executeNSDecls(TransformerImpl transformer) throws
TransformerException
{
+ executeNSDecls(transformer, null);
+ }
+
+ /**
+ * Send startPrefixMapping events to the result tree handler
+ * for all declared prefix mappings in the stylesheet.
+ *
+ * @param transformer non-null reference to the the current transform-time
state.
+ * @param ignorePrefix string prefix to not startPrefixMapping
+ *
+ * @throws TransformerException
+ */
+ void executeNSDecls(TransformerImpl transformer, String ignorePrefix)
throws TransformerException
+ {
try
{
@@ -1228,7 +1242,7 @@
{
XMLNSDecl decl = (XMLNSDecl) m_prefixTable.elementAt(i);
- if (!decl.getIsExcluded())
+ if (!decl.getIsExcluded() && !(null != ignorePrefix &&
decl.getPrefix().equals(ignorePrefix)))
{
rhandler.startPrefixMapping(decl.getPrefix(), decl.getURI(),
true);
}
@@ -1242,7 +1256,7 @@
}
/**
- * Send startPrefixMapping events to the result tree handler
+ * Send endPrefixMapping events to the result tree handler
* for all declared prefix mappings in the stylesheet.
*
* @param transformer non-null reference to the the current transform-time
state.
@@ -1251,6 +1265,20 @@
*/
protected void unexecuteNSDecls(TransformerImpl transformer) throws
TransformerException
{
+ unexecuteNSDecls(transformer, null);
+ }
+
+ /**
+ * Send endPrefixMapping events to the result tree handler
+ * for all declared prefix mappings in the stylesheet.
+ *
+ * @param transformer non-null reference to the the current transform-time
state.
+ * @param ignorePrefix string prefix to not endPrefixMapping
+ *
+ * @throws TransformerException
+ */
+ void unexecuteNSDecls(TransformerImpl transformer, String ignorePrefix)
throws TransformerException
+ {
try
{
@@ -1263,7 +1291,7 @@
{
XMLNSDecl decl = (XMLNSDecl) m_prefixTable.elementAt(i);
- if (!decl.getIsExcluded())
+ if (!decl.getIsExcluded() && !(null != ignorePrefix &&
decl.getPrefix().equals(ignorePrefix)))
{
rhandler.endPrefixMapping(decl.getPrefix());
}
No revision
No revision
1.56.2.1.2.1 +3 -3
xml-xalan/java/src/org/apache/xalan/transformer/ResultTreeHandler.java
Index: ResultTreeHandler.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xalan/transformer/ResultTreeHandler.java,v
retrieving revision 1.56.2.1
retrieving revision 1.56.2.1.2.1
diff -u -r1.56.2.1 -r1.56.2.1.2.1
--- ResultTreeHandler.java 14 Aug 2002 19:21:30 -0000 1.56.2.1
+++ ResultTreeHandler.java 19 Dec 2002 18:45:29 -0000 1.56.2.1.2.1
@@ -1106,6 +1106,9 @@
String prefix = (String) prefixes.nextElement();
String uri=m_nsSupport.getURI(prefix);
+ if (null == uri)
+ uri = "";
+
// Send event
handler.startPrefixMapping(prefix, uri);
@@ -1120,9 +1123,6 @@
}
else
name = "xmlns:" + prefix;
-
- if (null == uri)
- uri = "";
m_attributes.addAttribute("http://www.w3.org/2000/xmlns/",
prefix, name, "CDATA", uri);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]