xom-interest AT lists.ibiblio.org
Subject: XOM API for Processing XML with Java
List archive
Re: [XOM-interest] Converting a nu.xom.Document to aorg.w3c.dom.Document
- From: "Michael Kay" <mike AT saxonica.com>
- To: <christophe.marchand AT axyus.com>
- Cc: 'XOM API for Processing XML with Java' <xom-interest AT lists.ibiblio.org>
- Subject: Re: [XOM-interest] Converting a nu.xom.Document to aorg.w3c.dom.Document
- Date: Mon, 19 Oct 2009 10:14:56 +0100
The general rule in Saxon is that everything has to use the same NamePool -
or at any rate, if things use different NamePools, then they must never
interact. Generally that means they must use the same Configuration. Your
TransformerFactory tf and your Processor are created independently of each
other, therefore using different configurations, so you get a conflict. The
rule is there to ensure that the integer name codes contained in the
compiled XSLT are the same as the integer namecodes contained in the built
instance document.
It would be best to do this all within s9api, so that everything derives
from the same Processor. The alternative is to get the Configuration from
the TransformerFactory, and use the methods on the Configurtation object to
built the wrapped XOM document.
Regards,
Michael Kay
http://www.saxonica.com/
http://twitter.com/michaelhkay
_____
From: Christophe Marchand [mailto:christophe.marchand AT axyus.com]
Sent: 19 October 2009 09:52
To: Michael Kay
Cc: 'XOM API for Processing XML with Java'
Subject: Re: [XOM-interest] Converting a nu.xom.Document to
aorg.w3c.dom.Document
Hi Michael,
Thanks for these entries, it helps !
I encounter a strange exception :
java.lang.IllegalArgumentException: Externally supplied NodeInfo belongs to
the wrong Configuration
at net.sf.saxon.Configuration.unravel(Configuration.java:2695)
at net.sf.saxon.Controller.prepareInputTree(Controller.java:1664)
at net.sf.saxon.Controller.transform(Controller.java:1589)
My code looks like this :
Builder parser = new Builder();
Document doc = parser.build(inputFile);
net.sf.saxon.s9api.DocumentBuilder s9DomBuilder = new
Processor(false).newDocumentBuilder();
XdmNode s9tree = s9DomBuilder.wrap(doc);
Controller tt = (Controller)tf.newTransformer(new
StreamSource(openStream(new URL(xslUrl))));
tt.setParameter("nomenclaturePasEnrichie", nomenclature);
DOMResult domResult = new DOMResult();
tt.transform(s9tree.asSource(), domResult);
Any idea ?
Thanks in advance,
Christophe
Michael Kay a écrit :
Not much available, I'm afraid, by way of sample code.
If you're using the s9api interface, you can wrap a XOM document using
DocumentBuilder.wrap(document), and the resulting XdmNode can be used as
input to a transformation or query.
If you're using the JAXP interface, use new
net.sf.saxon.xom.DocumentWrapper(document), and the resulting NodeInfo
implements the JAXP Source class and can therefore be used as transformation
input.
Note that for a complex transformation, working from the wrapped XOM
document isn't always optimal; it's sometimes better to copy the data across
to a Saxon TinyTree, which you can do with DocumentBuilder.build().
Michael Kay
Saxonica
_____
From: Christophe Marchand [mailto:christophe.marchand AT axyus.com]
Sent: 16 October 2009 13:36
To: Michael Kay
Cc: 'XOM API for Processing XML with Java'
Subject: Re: [XOM-interest] Converting a nu.xom.Document to
aorg.w3c.dom.Document
Hi Michael,
thanks for your responses (including those on XPath).
Do you have some links on examples on using Saxon wrappers on XOM objects ?
Thanks a lot in advance,
Christophe
Michael Kay a écrit :
If you run the transformation using Saxon interfaces, you can supply a XOM
document (wrapped in a Saxon-supplied wrapper) as the input to the
transformation, and supply a DOMResult as the destination.
Regards,
Michael Kay
http://www.saxonica.com/
http://twitter.com/michaelhkay
-----Original Message-----
From: xom-interest-bounces AT lists.ibiblio.org
[mailto:xom-interest-bounces AT lists.ibiblio.org] On Behalf Of
Christophe Marchand
Sent: 14 October 2009 14:45
To: xom-interest AT lists.ibiblio.org
Subject: [XOM-interest] Converting a nu.xom.Document to
aorg.w3c.dom.Document
Hi,
is there a way to convert a nu.xom.Document to a DOM Document ?
After a XSL Transform, I need to give the result to Flying
Saucer, which uses DOM. I would like to avoid a serialization
/ parsing...
Another question : as transform alway produces a Nodes, there
is no way to produce html, isn't it ?
Regards,
Christophe
_______________________________________________
XOM-interest mailing list
XOM-interest AT lists.ibiblio.org
http://lists.ibiblio.org/mailman/listinfo/xom-interest
-
[XOM-interest] Converting a nu.xom.Document to a org.w3c.dom.Document,
Christophe Marchand, 10/14/2009
-
Re: [XOM-interest] Converting a nu.xom.Document to aorg.w3c.dom.Document,
Michael Kay, 10/14/2009
-
Re: [XOM-interest] Converting a nu.xom.Document to aorg.w3c.dom.Document,
Christophe Marchand, 10/16/2009
-
Re: [XOM-interest] Converting a nu.xom.Document to aorg.w3c.dom.Document,
Michael Kay, 10/16/2009
-
Re: [XOM-interest] Converting a nu.xom.Document to aorg.w3c.dom.Document,
Christophe Marchand, 10/19/2009
-
Re: [XOM-interest] Converting a nu.xom.Document to aorg.w3c.dom.Document,
Michael Kay, 10/19/2009
- Re: [XOM-interest] Converting a nu.xom.Document to aorg.w3c.dom.Document, Christophe Marchand, 10/19/2009
-
Re: [XOM-interest] Converting a nu.xom.Document to aorg.w3c.dom.Document,
Michael Kay, 10/19/2009
-
Re: [XOM-interest] Converting a nu.xom.Document to aorg.w3c.dom.Document,
Christophe Marchand, 10/19/2009
-
Re: [XOM-interest] Converting a nu.xom.Document to aorg.w3c.dom.Document,
Michael Kay, 10/16/2009
-
Re: [XOM-interest] Converting a nu.xom.Document to aorg.w3c.dom.Document,
Christophe Marchand, 10/16/2009
- Re: [XOM-interest] Converting a nu.xom.Document to a org.w3c.dom.Document, Elliotte Rusty Harold, 10/14/2009
- Re: [XOM-interest] Converting a nu.xom.Document to a org.w3c.dom.Document, Adam Constabaris, 10/14/2009
-
Re: [XOM-interest] Converting a nu.xom.Document to aorg.w3c.dom.Document,
Michael Kay, 10/14/2009
Archive powered by MHonArc 2.6.24.