From 308b2125a424a1e342a33a941131e64962b35ced Mon Sep 17 00:00:00 2001 From: "inonit%inonit.com" Date: Mon, 5 Feb 2007 19:08:07 +0000 Subject: [PATCH] Don't rely on JAXP for ignoring comments (semantics are slightly different than E4X, or JRE parser has a bug, not sure which) --- .../javascript/xmlimpl/XmlProcessor.java | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/js/rhino/xmlimplsrc/org/mozilla/javascript/xmlimpl/XmlProcessor.java b/js/rhino/xmlimplsrc/org/mozilla/javascript/xmlimpl/XmlProcessor.java index 39de6f32d5d..994fd9bba0e 100644 --- a/js/rhino/xmlimplsrc/org/mozilla/javascript/xmlimpl/XmlProcessor.java +++ b/js/rhino/xmlimplsrc/org/mozilla/javascript/xmlimpl/XmlProcessor.java @@ -103,12 +103,22 @@ class XmlProcessor { } } + private void addCommentsTo(java.util.Vector v, Node node) { + if (node instanceof Comment) { + v.add(node); + } + if (node.getChildNodes() != null) { + for (int i=0; i" + xml + ""; Document document = domFactory.newDocumentBuilder().parse( new org.xml.sax.InputSource(new java.io.StringReader(syntheticXml)) ); @@ -147,6 +157,14 @@ class XmlProcessor { node.getParentNode().removeChild(node); } } + if (ignoreComments) { + java.util.Vector v = new java.util.Vector(); + addCommentsTo(v, document); + for (int i=0; i