The answer sounds good to me but are you sure that a document is supported by a DOMSource. I´ve just tried your example and there are no errors during compilation. But if I start the example I get the following error:

 

root cause

org.w3c.dom.DOMException: NOT_SUPPORTED_ERR: The implementation does not support the requested type of object or operation. 
        at org.apache.xerces.dom.CoreDocumentImpl.importNode(Unknown Source)
        at org.apache.xerces.dom.CoreDocumentImpl.importNode(Unknown Source)
        at ausgabe.Ausgabe.Artikel_transformieren(Ausgabe.java:106)
        at ausgabe.Ausgabe.Artikel_zurueckgeben(Ausgabe.java:176)
        at org.apache.jsp.ergebnis_jsp._jspService(ergebnis_jsp.java:315)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:210)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
        at java.lang.Thread.run(Thread.java:534)

 

 


Von: Eickvonder Bjoern [mailto:[EMAIL PROTECTED]
Gesendet: Mittwoch, 7. September 2005 13:36
An: xindice-users@xml.apache.org
Betreff: AW: Create Result Set without Iterator

 

You will probably need to merge the results before transforming. Just create a Document object, create and append a root element of your choice, import and append the result nodes, then transform it. The following should work:

 

Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();

Element root = doc.createElement("result");

doc.appendChild(root);

while (results.hasMoreResources())

{          

    XMLResource res1        = (XMLResource) results.nextResource();

    Node node                    = res1.getContentAsDOM();

    root.appendChild(doc.importNode(node,true));   

}

DOMSource src            = new DOMSource(doc);                    

 

………

transformer.transform(src, res);

 

Bjoern Eickvonder

 


Von: Pasche [mailto:[EMAIL PROTECTED]]
Gesendet: Mittwoch, 7. September 2005 13:05
An: xindice-users@xml.apache.org
Betreff: Create Result Set without Iterator

As you can see the Xindice-query returns a result with more than one document. These documents are transformed into a DOMSource Object which is used to transform the documents with an XSLT stylesheet. It was hard for me to get this transformation working. In my example only the last result of the xindice query will be used for the transformation. Is it possible to put all result elements into the src-object? I know that I don´t need the ResourceIterator but I don´t know how to solve the problem without it.

 

XPathQueryService service        = (XPathQueryService) col.getService("XPathQueryService", "1.0");

ResourceSet resultSet              = service.query(xpath);

ResourceIterator results             = resultSet.getIterator();

 

while (results.hasMoreResources())

{          

                        /* Element des ResourceIterators in DOMSource umwandeln */

                        XMLResource res1        = (XMLResource) results.nextResource();

                        Node node                    = res1.getContentAsDOM();  

                        DOMSource src            = new DOMSource(node);                    

            }

………

transformer.transform(src, res);

 

 

 

-----

JasDA



____________
Virus checked by G DATA AntiVirusKit
Version: AVK 16.348 from 06.09.2005

Reply via email to