You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by tm...@apache.org on 2002/03/05 20:26:35 UTC
cvs commit: xml-xalan/java/src/org/apache/xalan/xsltc/trax DOM2SAX.java SAX2DOM.java TransformerImpl.java
tmiller 02/03/05 11:26:35
Modified: java/src/org/apache/xalan/xsltc/trax DOM2SAX.java
SAX2DOM.java TransformerImpl.java
Log:
bug 6620 fix: DOMSource no longer requires
Document nodes, fix contrib by Santiago Pericas-Geersten
Revision Changes Path
1.9 +4 -4 xml-xalan/java/src/org/apache/xalan/xsltc/trax/DOM2SAX.java
Index: DOM2SAX.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/trax/DOM2SAX.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- DOM2SAX.java 8 Oct 2001 14:11:31 -0000 1.8
+++ DOM2SAX.java 5 Mar 2002 19:26:35 -0000 1.9
@@ -1,5 +1,5 @@
/*
- * @(#)$Id: DOM2SAX.java,v 1.8 2001/10/08 14:11:31 morten Exp $
+ * @(#)$Id: DOM2SAX.java,v 1.9 2002/03/05 19:26:35 tmiller Exp $
*
* The Apache Software License, Version 1.1
*
@@ -85,11 +85,11 @@
class DOM2SAX implements XMLReader , Locator {
- private Document _dom = null;
+ private Node _dom = null;
private ContentHandler _sax = null;
public DOM2SAX(Node root) {
- _dom = (Document)root;
+ _dom = root;
}
public ContentHandler getContentHandler() {
@@ -123,7 +123,7 @@
private void parse(Node node) throws IOException, SAXException {
Node first = null;
- if (node == null ) return;
+ if (node == null) return;
switch (node.getNodeType()) {
case Node.ATTRIBUTE_NODE: // handled by ELEMENT_NODE
1.6 +2 -1 xml-xalan/java/src/org/apache/xalan/xsltc/trax/SAX2DOM.java
Index: SAX2DOM.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/trax/SAX2DOM.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- SAX2DOM.java 21 Feb 2002 16:36:43 -0000 1.5
+++ SAX2DOM.java 5 Mar 2002 19:26:35 -0000 1.6
@@ -1,5 +1,5 @@
/*
- * @(#)$Id: SAX2DOM.java,v 1.5 2002/02/21 16:36:43 tmiller Exp $
+ * @(#)$Id: SAX2DOM.java,v 1.6 2002/03/05 19:26:35 tmiller Exp $
*
* The Apache Software License, Version 1.1
*
@@ -101,6 +101,7 @@
public void startDocument() {
_document = _builder.newDocument();
+ _nodeStk.push(_document);
// bugfix 6417, contributed by Tim Elcott
}
1.35 +17 -6 xml-xalan/java/src/org/apache/xalan/xsltc/trax/TransformerImpl.java
Index: TransformerImpl.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/trax/TransformerImpl.java,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- TransformerImpl.java 28 Feb 2002 19:16:39 -0000 1.34
+++ TransformerImpl.java 5 Mar 2002 19:26:35 -0000 1.35
@@ -1,5 +1,5 @@
/*
- * @(#)$Id: TransformerImpl.java,v 1.34 2002/02/28 19:16:39 tmiller Exp $
+ * @(#)$Id: TransformerImpl.java,v 1.35 2002/03/05 19:26:35 tmiller Exp $
*
* The Apache Software License, Version 1.1
*
@@ -409,8 +409,14 @@
// Handle DOMSource input
else if (source instanceof DOMSource) {
final DOMSource domsrc = (DOMSource)source;
- final Document tree = (Document)domsrc.getNode();
- final DOM2SAX dom2sax = new DOM2SAX(tree);
+ final org.w3c.dom.Node node = domsrc.getNode();
+
+ boolean isComplete = true;
+ if (node.getNodeType() != org.w3c.dom.Node.DOCUMENT_NODE) {
+ isComplete = false;
+ }
+
+ final DOM2SAX dom2sax = new DOM2SAX(node);
final InputSource input = null;
final String systemId = domsrc.getSystemId();
@@ -425,7 +431,13 @@
dom2sax.setContentHandler(builder);
// Parse the input and build the internal DOM
+ if (!isComplete) {
+ builder.startDocument();
+ }
dom2sax.parse(input); // need this parameter?
+ if (!isComplete) {
+ builder.endDocument();
+ }
dom.setDocumentURI(systemId);
}
// Handle StreamSource input
@@ -757,14 +769,13 @@
private Properties createOutputProperties() {
// Level3: Return the default property value
- // bug # 6751 fixed by removing setProperty lines for
- // OutputKeys.(DOCTYPE_PUBLIC|DOCTYPE_SYSTEM|CDATA_SECTION_ELEMENTS)
- // instead of setting them to "" (EMPTY_STRING). Fix contributed
- // by Derek Sayeau.
Properties third = new Properties();
third.setProperty(OutputKeys.ENCODING, "UTF-8");
third.setProperty(OutputKeys.METHOD, XML_STRING);
third.setProperty(OutputKeys.INDENT, NO_STRING);
+ third.setProperty(OutputKeys.DOCTYPE_PUBLIC, EMPTY_STRING);
+ third.setProperty(OutputKeys.DOCTYPE_SYSTEM, EMPTY_STRING);
+ third.setProperty(OutputKeys.CDATA_SECTION_ELEMENTS, EMPTY_STRING);
third.setProperty(OutputKeys.MEDIA_TYPE, "text/xml");
third.setProperty(OutputKeys.OMIT_XML_DECLARATION, NO_STRING);
third.setProperty(OutputKeys.STANDALONE, NO_STRING);
---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org