Martin --

Okay.  I see what's going on.  The stack trace was very helpful.  The
error message is occuring while you're attempting to build the -output-
DOM.  Each time you have an Order element, you write out <hr/>.  But
each <hr/> is at the top level of the resulting DOM tree.  This is not
allowed in the DOM.  Only one top level element is allowed which is why
you're getting that error message.

To see exactly what's going on, change:

  transformer.transform(xmlDomSource, domResult);

to 

  transformer.transform(xmlDomSource, new StreamSource(System.out));

HTH,
Gary

Martin Sparenberg wrote:
> 
> Gary L Peskin wrote:
> 
> > Martin --
> >
> > The DOM code looks fine.  I read it just the opposite of how you created
> > it:
> >
> >   FileInputStream istream = new
> > FileInputStream("c:\\temp\\domMartin.ser");
> >   ObjectInputStream p = new ObjectInputStream(istream);
> >   Document doc = (Document) p.readObject();
> >   istream.close();
> 
> I see - somehow I didn't think so far... ;-)
> 
> >
> > I think you should send the entire java program that you're using.  You
> > show the call to transform but not how the transformer itself was
> > created so I think you should send the entire java program.
> 
> The sourcecode is attached to this mail. (It's based on the
> DOM2DOM-sample of the Xalan2-distribution. I wanted to try out working
> with selfbuilded DOMs there before going with it to my real project). I
> also attached a file with the output (containing a few lines of
> debugging-stuff and then the stacktrace of the thrown exception(s)) of
> that program.
> 
> I just recognized another interesting thing: When I put calling the
> transformation into a try-catch-block with ignoring the exception, then
> he does a transformation, but only for the first appearance of the node
> the template should match with. Maybe the prg does that once and
> terminates then with the exception...
> 
> > Gary
> 
> Thanks
> 
>   Martin
> 
>   ------------------------------------------------------------------------
> 
> // Imported TraX classes
> import javax.xml.transform.TransformerFactory;
> import javax.xml.transform.Transformer;
> import javax.xml.transform.stream.StreamSource;
> import javax.xml.transform.stream.StreamResult;
> import javax.xml.transform.TransformerException;
> import javax.xml.transform.TransformerConfigurationException;
> import javax.xml.transform.dom.DOMSource;
> import javax.xml.transform.dom.DOMResult;
> 
> // Imported java.io classes
> import java.io.IOException;
> import java.io.FileNotFoundException;
> 
> // Imported SAX classes
> import org.xml.sax.InputSource;
> import org.xml.sax.SAXException;
> 
> // Imported DOM classes
> import org.w3c.dom.DocumentFragment;
> import org.w3c.dom.Document;
> import org.w3c.dom.Node;
> 
> // Imported Serializer classes
> import org.apache.xalan.serialize.Serializer;
> import org.apache.xalan.serialize.SerializerFactory;
> 
> import org.apache.xalan.templates.OutputProperties;
> 
> // Imported JAVA API for XML Parsing classes
> import javax.xml.parsers.DocumentBuilder;
> import javax.xml.parsers.DocumentBuilderFactory;
> import javax.xml.parsers.ParserConfigurationException;
> 
> import org.w3c.dom.DOMImplementation;
> import org.w3c.dom.Element;
> import org.apache.xerces.dom.DocumentImpl;
> import javax.xml.transform.ErrorListener;
> 
>   /**
>    * Show how to transform a DOM tree into another DOM tree.
>    * This uses the javax.xml.parsers to parse both an XSL file
>    * and the XML file into a DOM, and create an output DOM.
>    */
> public class myDOM2DOM
> {
>   private static final String NAMESPACE = "http://www.w3.org/1999/XSL/Transform";;
>   // private static final String NAMESPACE = "http://mein.toller.namespace";;
> 
> 
>   public static void main(String[] args)
>       throws TransformerException, TransformerConfigurationException,
>              FileNotFoundException, ParserConfigurationException,
>              SAXException, IOException
>   {
>     TransformerFactory tFactory = TransformerFactory.newInstance();
>     Element tempElement = null;
>     if(tFactory.getFeature(DOMSource.FEATURE) && 
>tFactory.getFeature(DOMResult.FEATURE))
>     {
>       Document xslDoc = null;
> 
>       try {
>         DocumentBuilderFactory dFactory = DocumentBuilderFactory.newInstance();
>         dFactory.setNamespaceAware( true );
>         DocumentBuilder dBuilder = dFactory.newDocumentBuilder();
> 
>         // With this, all works very well (see xalan-sample "DOM2DOM"):
>         // // Use the DocumentBuilder to parse the XSL stylesheet.
>         // xslDoc = dBuilder.parse("birds.xsl");
> 
>         DOMImplementation domImpl = dBuilder.getDOMImplementation();
>         xslDoc = domImpl.createDocument( NAMESPACE, "xsl:stylesheet", null );
>         tempElement = xslDoc.getDocumentElement();
>         System.out.println( "DocumentElement: " + tempElement.getTagName() );
> 
>         tempElement.setAttributeNS( null, "version", "1.0" );
>         tempElement.setAttributeNS( "http://www.w3.org/2000/xmlns/";, "xmlns:xsl",
>                                     "http://www.w3.org/1999/XSL/Transform"; );
> 
>         Element output = (Element) xslDoc.createElementNS( NAMESPACE, "xsl:output" );
>         output.setAttributeNS( null, "method", "xml");
>         output.setAttributeNS( null, "indent", "yes");
>         tempElement.appendChild( output );
> 
>         Element el1 = (Element) xslDoc.createElementNS( NAMESPACE, "xsl:template" );
>         el1.setAttributeNS( null, "match", "Order" );
>         Element el2 = (Element) xslDoc.createElementNS( null, "hr" );
>         el1.appendChild( el2 );
>         tempElement.appendChild( el1 );
> 
>       } catch (ParserConfigurationException pce) {
>             // Parser with specified options can't be built
>           System.out.println( "Tatah...! - ParserConfigurationException" );
>           pce.printStackTrace();
>       }
> 
>       /*
>       java.io.FileOutputStream fos = new java.io.FileOutputStream("dom.ser");
>       java.io.ObjectOutputStream oos = new java.io.ObjectOutputStream(fos);
>       oos.writeObject(xslDoc);
>       oos.flush();
>       fos.close();
>       */
> 
>       System.out.println( "--------------------------------------------" );
>       Serializer serializer = SerializerFactory.getSerializer
>                    (OutputProperties.getDefaultMethodProperties("xml"));
>       serializer.setOutputStream(System.out);
>       serializer.asDOMSerializer().serialize( xslDoc);
>       System.out.println( "\n--------------------------------------------" );
> 
>       // Use the DOM Document to define a DOMSource object.
>       DOMSource xslDomSource = new DOMSource();
> 
>       System.out.println("Jetzt Zuweisung der Node zum DomSource");
>       xslDomSource.setNode( xslDoc );
>       System.out.println( "getNode: " + xslDomSource.getNode().getNodeName() );
> 
>       // Set the systemId: note this is actually a URL, not a local filename
>       xslDomSource.setSystemId( "myXSLT.xsl" );  //  "http://blah.blub";);
> 
>       // Process the stylesheet DOMSource and generate a Transformer.
>       System.out.println("bis hierher bin ich gekommen...");
> 
>       Transformer transformer = tFactory.newTransformer(xslDomSource);
>       System.out.println("und wie stehts mit dieser Codestelle?");
> 
>       //Use the DocumentBuilder to parse the XML input.
>       Document xmlDoc = null;
>       try {
>         DocumentBuilderFactory dFactory = DocumentBuilderFactory.newInstance();
> 
>         // And setNamespaceAware, which is required when parsing xsl files
>         dFactory.setNamespaceAware(true);
> 
>         //Use the DocumentBuilderFactory to create a DocumentBuilder.
>         DocumentBuilder dBuilder = dFactory.newDocumentBuilder();
>         System.out.println("Parse nun birds.xml");
> 
>         xmlDoc = dBuilder.parse("birds.xml");
>       } catch (ParserConfigurationException pce) {
>             // Parser with specified options can't be built
>           System.out.println( "Tatah...! - ParserConfigurationException" );
>           pce.printStackTrace();
>       }
>       // Use the DOM Document to define a DOMSource object.
>       DOMSource xmlDomSource = new DOMSource(xmlDoc);
> 
>       // Set the base URI for the DOMSource so any relative URIs it contains can
>       // be resolved.
>       xmlDomSource.setSystemId("birds.xml");
> 
>       // Create an empty DOMResult for the Result.
>       DOMResult domResult = new DOMResult();
> 
>       System.out.println("Rufe nun den Transformer auf.");
>       // Perform the transformation, placing the output in the DOMResult.
>       // try{
>       transformer.transform(xmlDomSource, domResult);  // <- !!!
>       // }catch( javax.xml.transform.TransformerException te ) {
>       //   ...
>       // }
> 
>       // Instantiate an Xalan XML serializer and use it to serialize the
>       // output DOM to System.out.
> 
>       // using a default output format.
>       // Serializer serializer = SerializerFactory.getSerializer
>       //                             
>(OutputProperties.getDefaultMethodProperties("xml"));
>       // serializer.setOutputStream(System.out);
>       serializer.asDOMSerializer().serialize(domResult.getNode());
>     }
>     else
>     {
>       throw new org.xml.sax.SAXNotSupportedException("DOM node processing not 
>supported!");
>     }
>   }
> }
> 
>   ------------------------------------------------------------------------
> <?xml version="1.0" encoding="UTF-8"?>
> <Class>
> <Order Name="TINAMIFORMES">
>         <Family Name="TINAMIDAE">
>             <Species Scientific_Name="Tinamus major">  Great Tinamou.</Species>
>             <Species Scientific_Name="Nothocercus">Highland Tinamou.</Species>
>             <Species Scientific_Name="Crypturellus soui">Little Tinamou.</Species>
>             <Species Scientific_Name="Crypturellus cinnamomeus">Thicket 
>Tinamou.</Species>
>             <Species Scientific_Name="Crypturellus boucardi">Slaty-breasted 
>Tinamou.</Species>
>             <Species Scientific_Name="Crypturellus kerriae">Choco Tinamou.</Species>
>         </Family>
>     </Order>
> <Order Name="GAVIIFORMES">
>         <Family Name="GAVIIDAE">
>             <Species Scientific_Name="Gavia stellata">Red-throated Loon.</Species>
>             <Species Scientific_Name="Gavia arctica">Arctic Loon.</Species>
>             <Species Scientific_Name="Gavia pacifica">Pacific Loon.</Species>
>             <Species Scientific_Name="Gavia immer">Common Loon.</Species>
>             <Species Scientific_Name="Gavia adamsii">Yellow-billed Loon.</Species>
>         </Family>
>     </Order>
> 
> <Order Name="PODICIPEDIFORMES">
>         <Family Name="PODICIPEDIDAE">
>             <Species Scientific_Name="Tachybaptus dominicus">Least Grebe.</Species>
>             <Species Scientific_Name="Podilymbus podiceps">Pied-billed 
>Grebe.</Species>
>             <Species Scientific_Name="">Atitlan Grebe.</Species>
>             <Species Scientific_Name="">Horned Grebe.</Species>
>             <Species Scientific_Name="">Red-necked Grebe.</Species>
>             <Species Scientific_Name="">Eared Grebe.</Species>
>             <Species Scientific_Name="">Western Grebe.</Species>
>             <Species Scientific_Name="">Clark's Grebe.</Species>
>             <Species Scientific_Name=""/>
>         </Family>
>     </Order>
> 
> <Order Name="PROCELLARIIFORMES">
>         <Family Name="DIOMEDEIDAE">
>             <Species Scientific_Name="Thalassarche chlororhynchos">Yellow-nosed 
>Albatross. (A)</Species>
>             <Species Scientific_Name="Thalassarche cauta">Shy Albatross. 
>(A)</Species>
>             <Species Scientific_Name="Thalassarche melanophris">Black-browed 
>Albatross. (A)</Species>
>             <Species Scientific_Name="Phoebetria palpebrata">Light-mantled 
>Albatross. (A)</Species>
>             <Species Scientific_Name="Diomedea exulans">Wandering Albatross. 
>(A)</Species>
>             <Species Scientific_Name="Phoebastria immutabilis">Laysan 
>Albatross.</Species>
>             <Species Scientific_Name="Phoebastria nigripes">Black-footed 
>Albatross.</Species>
>             <Species Scientific_Name="Phoebastria albatrus">Short-tailed Albatross. 
>(N)</Species>
>         </Family>
>         <Family Name="PROCELLARIIDAE">
>             <Species Scientific_Name="Fulmarus glacialis">Northern Fulmar.</Species>
>             <Species Scientific_Name="Pterodroma neglecta">Kermadec Petrel. 
>(A)</Species>
>             <Species Scientific_Name="Pterodroma arminjoniana">Herald Petrel. 
>(A)</Species>
>             <Species Scientific_Name="Pterodroma ultima">Murphy's Petrel. 
>(N)</Species>
>             <Species Scientific_Name="Pterodroma inexpectata">Mottled Petrel. 
>(A)</Species>
>             <Species Scientific_Name="Pterodroma cahow">Bermuda Petrel.</Species>
>             <Species Scientific_Name="Pterodroma hasitata">Black-capped 
>Petrel.</Species>
>             <Species Scientific_Name="Pterodroma externa">Juan Fernandez Petrel. 
>(N)</Species>
>             <Species Scientific_Name="Pterodroma phaeopygia">Dark-rumped 
>Petrel.</Species>
>             <Species Scientific_Name="Pterodroma cervicalis">White-necked Petrel. 
>(H)</Species>
>             <Species Scientific_Name="Pterodroma hypoleuca">Bonin Petrel. 
>(H)</Species>
>             <Species Scientific_Name="Pterodroma nigripennis">Black-winged Petrel. 
>(H, A)</Species>
>             <Species Scientific_Name="Pterodroma cookii">Cook's Petrel. (N)</Species>
>             <Species Scientific_Name="Pterodroma longirostris">Stejneger's Petrel. 
>(A)</Species>
>             <Species Scientific_Name="Bulweria bulwerii">Bulwer's Petrel. 
>(H)</Species>
>             <Species Scientific_Name="Bulweria fallax">Jouanin's Petrel. (H, 
>A)</Species>
>             <Species Scientific_Name="Procellaria parkinsoni">Parkinson's Petrel. 
>(N)</Species>
>             <Species Scientific_Name="Calonectris leucomelas">Streaked Shearwater. 
>(A)</Species>
>             <Species Scientific_Name="Calonectris diomedea">Cory's Shearwater. 
>(N)</Species>
>             <Species Scientific_Name="Puffinus creatopus">Pink-footed Shearwater. 
>(N)</Species>
>             <Species Scientific_Name="Puffinus carneipes">Flesh-footed Shearwater. 
>(N)</Species>
>             <Species Scientific_Name="Puffinus gravis">Greater Shearwater. 
>(N)</Species>
>             <Species Scientific_Name="Puffinus pacificus">Wedge-tailed 
>Shearwater.</Species>
>             <Species Scientific_Name="Puffinus bulleri">Buller's Shearwater. 
>(N)</Species>
>             <Species Scientific_Name="Puffinus griseus">Sooty Shearwater. 
>(N)</Species>
>             <Species Scientific_Name="Puffinus tenuirostris">Short-tailed 
>Shearwater. (N)</Species>
>             <Species Scientific_Name="Puffinus nativitatis">Christmas Shearwater. 
>(H)</Species>
>             <Species Scientific_Name="Puffinus puffinus">Manx Shearwater.</Species>
>             <Species Scientific_Name="Puffinus auricularis">Townsend's 
>Shearwater.</Species>
>             <Species Scientific_Name="Puffinus opisthomelas">Black-vented 
>Shearwater.</Species>
>             <Species Scientific_Name="Puffinus lherminieri">Audubon's 
>Shearwater.</Species>
>             <Species Scientific_Name="Puffinus assimilis">Little Shearwater. 
>(A)</Species>
>         </Family>
>         <Family Name="HYDROBATIDAE">
>             <Species Scientific_Name="Oceanites oceanicus">Wilson's Storm-Petrel. 
>(N)</Species>
>             <Species Scientific_Name="Pelagodroma marina">White-faced Storm-Petrel. 
>(A)</Species>
>             <Species Scientific_Name="Hydrobates pelagicus">European Storm-Petrel. 
>(A)</Species>
>             <Species Scientific_Name="Oceanodroma furcata">Fork-tailed 
>Storm-Petrel.</Species>
>             <Species Scientific_Name="Oceanodroma leucorhoa">Leach's 
>Storm-Petrel.</Species>
>             <Species Scientific_Name="Oceanodroma homochroa">Ashy 
>Storm-Petrel.</Species>
>             <Species Scientific_Name="Oceanodroma castro">Band-rumped Storm-Petrel. 
>(N)</Species>
>             <Species Scientific_Name="Oceanodroma tethys">Wedge-rumped Storm-Petrel. 
>(N)</Species>
>             <Species Scientific_Name="Oceanodroma melania">Black 
>Storm-Petrel.</Species>
>             <Species Scientific_Name="Oceanodroma macrodactyla">Guadalupe 
>Storm-Petrel.</Species>
>             <Species Scientific_Name="Oceanodroma markhami">Markham's Storm-Petrel. 
>(A)</Species>
>             <Species Scientific_Name="Oceanodroma tristrami">Tristram's 
>Storm-Petrel. (H)</Species>
>             <Species Scientific_Name="Oceanodroma microsoma">Least 
>Storm-Petrel.</Species>
>         </Family>
>     </Order>
> 
> <Order Name="PELECANIFORMES">
>         <Family Name="PHAETHONTIDAE">
>             <Species Scientific_Name="Phaethon lepturus">White-tailed 
>Tropicbird.</Species>
>             <Species Scientific_Name="Phaethon aethereus">Red-billed 
>Tropicbird.</Species>
>             <Species Scientific_Name="Phaethon rubricauda">Red-tailed 
>Tropicbird.</Species>
>         </Family>
>         <Family Name="SULIDAE">
>             <Species Scientific_Name="Sula dactylatra">Masked Booby.</Species>
>             <Species Scientific_Name="Sula nebouxii">Blue-footed Booby.</Species>
>             <Species Scientific_Name="Sula variegata">Peruvian Booby. (A)</Species>
>             <Species Scientific_Name="Sula leucogaster">Brown Booby.</Species>
>             <Species Scientific_Name="Sula sula">Red-footed Booby.</Species>
>             <Species Scientific_Name="Morus bassanus">Northern Gannet.</Species>
>         </Family>
>         <Family Name="PELECANIDAE">
>             <Species Scientific_Name="Pelecanus erythrorhynchos">American White 
>Pelican.</Species>
>             <Species Scientific_Name="Pelecanus occidentalis">Brown 
>Pelican.</Species>
>         </Family>
>         <Family Name="PHALACROCORACIDAE">
>             <Species Scientific_Name="Phalacrocorax penicillatus">Brandt's 
>Cormorant.</Species>
>             <Species Scientific_Name="Phalacrocorax brasilianus">Neotropic 
>Cormorant.</Species>
>             <Species Scientific_Name="Phalacrocorax auritus">Double-crested 
>Cormorant.</Species>
>             <Species Scientific_Name="Phalacrocorax carbo">Great Cormorant.</Species>
>             <Species Scientific_Name="Phalacrocorax urile">Red-faced 
>Cormorant.</Species>
>             <Species Scientific_Name="Phalacrocorax pelagicus">Pelagic 
>Cormorant.</Species>
>         </Family>
>         <Family Name="ANHINGIDAE">
>             <Species Scientific_Name="Anhinga anhinga">Anhinga.</Species>
>         </Family>
>         <Family Name="FREGATIDAE">
>             <Species Scientific_Name="Fregata magnificens">Magnificent 
>Frigatebird.</Species>
>             <Species Scientific_Name="Fregata minor">Great Frigatebird.</Species>
>             <Species Scientific_Name="Fregata ariel">Lesser Frigatebird. 
>(A)</Species>
>         </Family>
>     </Order>
> </Class>
> 
>   ------------------------------------------------------------------------
> sparenbe@mango:~ > java myDOM2DOM
> DocumentElement: xsl:stylesheet
> --------------------------------------------
> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
> <xsl:stylesheet version="1.0" 
>xmlns:xsl="http://www.w3.org/1999/XSL/Transform";><xsl:output indent="yes" 
>method="xml"/><xsl:template match="Order"><hr/></xsl:template></xsl:stylesheet>
> --------------------------------------------
> Jetzt Zuweisung der Node zum DomSource
> getNode: #document
> bis hierher bin ich gekommen...
> und wie stehts mit dieser Codestelle?
> Parse nun birds.xml
> Rufe nun den Transformer auf.
> Exception in thread "main" javax.xml.transform.TransformerException: Can't have more 
>than one root on a DOM!
>         at 
>org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java, 
>Compiled Code)
>         at 
>org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java, Compiled 
>Code)
>         at 
>org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java, Compiled 
>Code)
>         at myDOM2DOM.main(myDOM2DOM.java, Compiled Code)
> ---------
> javax.xml.transform.TransformerException: Can't have more than one root on a DOM!
>         at 
>org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java, Compiled 
>Code)
>         at 
>org.apache.xalan.templates.ElemForEach.transformSelectedNodes(ElemForEach.java, 
>Compiled Code)
>         at 
>org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java, 
>Compiled Code)
>         at 
>org.apache.xalan.templates.ElemForEach.transformSelectedNodes(ElemForEach.java, 
>Compiled Code)
>         at 
>org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java, 
>Compiled Code)
>         at 
>org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java,
> Compiled Code)
>         at 
>org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java,
> Compiled Code)
>         at 
>org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java, 
>Compiled Code)
>         at 
>org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java, Compiled 
>Code)
>         at 
>org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java, Compiled 
>Code)
>         at myDOM2DOM.main(myDOM2DOM.java, Compiled Code)
> ---------
> org.xml.sax.SAXException: Can't have more than one root on a DOM!
>         at org.apache.xml.utils.DOMBuilder.append(DOMBuilder.java, Compiled Code)
>         at org.apache.xml.utils.DOMBuilder.startElement(DOMBuilder.java, Compiled 
>Code)
>         at 
>org.apache.xalan.transformer.QueuedStartElement.flush(QueuedStartElement.java, 
>Compiled Code)
>         at 
>org.apache.xalan.transformer.ResultTreeHandler.flushPending(ResultTreeHandler.java, 
>Compiled Code)
>         at 
>org.apache.xalan.transformer.ResultTreeHandler.endElement(ResultTreeHandler.java, 
>Compiled Code)
>         at 
>org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java, Compiled 
>Code)
>         at 
>org.apache.xalan.templates.ElemForEach.transformSelectedNodes(ElemForEach.java, 
>Compiled Code)
>         at 
>org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java, 
>Compiled Code)
>         at 
>org.apache.xalan.templates.ElemForEach.transformSelectedNodes(ElemForEach.java, 
>Compiled Code)
>         at 
>org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java, 
>Compiled Code)
>         at 
>org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java,
> Compiled Code)
>         at 
>org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java,
> Compiled Code)
>         at 
>org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java, 
>Compiled Code)
>         at 
>org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java, Compiled 
>Code)
>         at 
>org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java, Compiled 
>Code)
>         at myDOM2DOM.main(myDOM2DOM.java, Compiled Code)
> ---------
> org.xml.sax.SAXException: Can't have more than one root on a DOM!
>         at org.apache.xml.utils.DOMBuilder.append(DOMBuilder.java, Compiled Code)
>         at org.apache.xml.utils.DOMBuilder.startElement(DOMBuilder.java, Compiled 
>Code)
>         at 
>org.apache.xalan.transformer.QueuedStartElement.flush(QueuedStartElement.java, 
>Compiled Code)
>         at 
>org.apache.xalan.transformer.ResultTreeHandler.flushPending(ResultTreeHandler.java, 
>Compiled Code)
>         at 
>org.apache.xalan.transformer.ResultTreeHandler.endElement(ResultTreeHandler.java, 
>Compiled Code)
>         at 
>org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java, Compiled 
>Code)
>         at 
>org.apache.xalan.templates.ElemForEach.transformSelectedNodes(ElemForEach.java, 
>Compiled Code)
>         at 
>org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java, 
>Compiled Code)
>         at 
>org.apache.xalan.templates.ElemForEach.transformSelectedNodes(ElemForEach.java, 
>Compiled Code)
>         at 
>org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java, 
>Compiled Code)
>         at 
>org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java,
> Compiled Code)
>         at 
>org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java,
> Compiled Code)
>         at 
>org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java, 
>Compiled Code)
>         at 
>org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java, Compiled 
>Code)
>         at 
>org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java, Compiled 
>Code)
>         at myDOM2DOM.main(myDOM2DOM.java, Compiled Code)
> sparenbe@mango:~ >

Reply via email to