You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by mm...@apache.org on 2001/09/13 16:52:27 UTC
cvs commit: xml-xalan/java/src/org/apache/xalan/templates ElemTemplateElement.java
mmidy 01/09/13 07:52:27
Modified: java/src/org/apache/xalan/templates ElemTemplateElement.java
Log:
Bug 3442: when building the prefix table for an element, just override prefixes defined in parent element with uris that have been redefined by the element instead of keeping both uris in the table.
Revision Changes Path
1.43 +26 -1 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.42
retrieving revision 1.43
diff -u -r1.42 -r1.43
--- ElemTemplateElement.java 2001/08/03 17:06:05 1.42
+++ ElemTemplateElement.java 2001/09/13 14:52:27 1.43
@@ -1012,6 +1012,7 @@
decl = new XMLNSDecl(prefix, uri, shouldExclude);
m_prefixTable.addElement(decl);
+
}
}
@@ -1047,7 +1048,8 @@
shouldExclude);
}
- m_prefixTable.addElement(decl);
+ //m_prefixTable.addElement(decl);
+ addOrReplaceDecls(decl);
}
}
}
@@ -1057,6 +1059,29 @@
// Must be stylesheet element without any result prefixes!
m_prefixTable = new Vector();
}
+ }
+
+ /**
+ * Add or replace this namespace declaration in list
+ * of namespaces in scope for this element.
+ *
+ * @param newDecl namespace declaration to add to list
+ */
+ void addOrReplaceDecls(XMLNSDecl newDecl)
+ {
+ int n = m_prefixTable.size();
+
+ for (int i = n - 1; i >= 0; i--)
+ {
+ XMLNSDecl decl = (XMLNSDecl) m_prefixTable.elementAt(i);
+
+ if (decl.getPrefix().equals(newDecl.getPrefix()))
+ {
+ return;
+ }
+ }
+ m_prefixTable.addElement(newDecl);
+
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org