santiagopg    02/04/08 09:18:39

  Modified:    java/src/org/apache/xalan/xsltc/trax SAX2DOM.java
  Log:
  Add support for user-specified root node.
  
  Revision  Changes    Path
  1.9       +15 -15    
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.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- SAX2DOM.java      2 Apr 2002 23:50:25 -0000       1.8
  +++ SAX2DOM.java      8 Apr 2002 16:18:39 -0000       1.9
  @@ -1,5 +1,5 @@
   /*
  - * @(#)$Id: SAX2DOM.java,v 1.8 2002/04/02 23:50:25 santiagopg Exp $
  + * @(#)$Id: SAX2DOM.java,v 1.9 2002/04/08 16:18:39 santiagopg Exp $
    *
    * The Apache Software License, Version 1.1
    *
  @@ -82,35 +82,35 @@
   
   class SAX2DOM implements ContentHandler, Constants {
   
  -    private Stack _nodeStk = null;
  -    private Document _document = null;
  -    private DocumentBuilder _builder = null;
  - 
  +    private Document _root = null;
  +    private Stack _nodeStk = new Stack();
       private Vector _namespaceDecls = null;
   
       public SAX2DOM() throws ParserConfigurationException {
  -     DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
  -     _builder = factory.newDocumentBuilder();
  -     _nodeStk = new Stack();
  +     final DocumentBuilderFactory factory = 
DocumentBuilderFactory.newInstance();
  +     _root = factory.newDocumentBuilder().newDocument();
  +    }
  +
  +    public SAX2DOM(Node root) throws ParserConfigurationException {
  +     _root = (Document) root;   // TODO: add support for frags and elems
       }
   
       public Node getDOM() {
  -     return _document;
  +     return _root;
       }
   
       public void characters(char[] ch, int start, int length) {
        final Node last = (Node)_nodeStk.peek();
  -     final String text = new String(ch, start, length);
   
        // No text nodes can be children of root (DOM006 exception)
  -     if (last != _document) {
  -         last.appendChild(_document.createTextNode(text));
  +     if (last != _root) {
  +         final String text = new String(ch, start, length);
  +         last.appendChild(_root.createTextNode(text));
        }
       }
   
       public void startDocument() {
  -     _document = _builder.newDocument();
  -     _nodeStk.push(_document);
  +     _nodeStk.push(_root);
       }
   
       public void endDocument() {
  @@ -119,7 +119,7 @@
       public void startElement(String namespace, String localName, String 
qName,
        Attributes attrs) 
       {
  -     final Element tmp = (Element)_document.createElementNS(namespace, 
qName);
  +     final Element tmp = (Element)_root.createElementNS(namespace, qName);
   
        // Add namespace declarations first
        if (_namespaceDecls != null) {
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to