Hi Brian
I get...
trans class: org.apache.xalan.transformer.TransformerIdentityImpl
docuemnt class: org.apache.xerces.dom.DocumentImpl
I was not calling setNamespaceAware(true) but have added this to the code,
sadly the same result. I have to admit that I am finding all this rather
confusing!
Regards
Giles
Brian Minchau wrote:
>
> Giles,
> from your com.sun.org.apache.xalan.internal.Version.getVersion() it looks
> like you are using SUN's version of Apache Xalan, not Apache's version
> (this is an Apache mailing list).
>
> I'd be curious to know the class name of your objects?
> System.out.println("trans class: " + trans.getClass().getName());
> System.out.println("docuemnt class: " + document.getClass().getName());
>
> If these are also SUN classes then you may need to take your question to
> SUN.
>
>
> In any case you are using the identity transform to serialize the DOM to a
> String of XML.
>
> Did you call setNamespaceAware(true) on your DocumentBuilderFactory? Have
> my doubts about whether the namespace was set in the original document
> that
> you are serializing.
>
> I often work on the serializer code in Apache Xalan and it has no
> namespace
> aware mode that can be set, it is always namespace aware, so I'm sure the
> issue is with your DOM document.
>
>
> - Brian
> - - - - - - - - - - - - - - - - - - - -
> Brian Minchau, Ph.D.
> XSLT Development, IBM Toronto
> e-mail: [EMAIL PROTECTED]
>
>
>
>
> gilesP
> <[EMAIL PROTECTED]
> .co.uk> To
> [email protected]
> 05/09/2007 10:13 cc
> AM
> Subject
> Cannot find the declaration...
>
>
>
>
>
>
>
>
>
>
>
> Hi
>
> I am trying to integrate our web application with google-checkout. We
> send
> them an xml version of our shopping cart but their server is responding
> with
> "Error parsing XML; message from parser is: cvc-elt.1: Cannot find the
> declaration of element 'checkout-shopping-cart'"
>
> The xml we are sending is ....
> <?xml version="1.0" encoding="UTF-8"?>
> <checkout-shopping-cart>
> <shopping-cart>
> <items>
> <item>
> <item-name>Cotton Lined Wellingtons - EU:40 UK:6 to 6.5
> </item-name>
> <item-description/>
> <unit-price currency="GBP">15.71</unit-price>
> <quantity>1</quantity>
> <merchant-item-id>Gar_217518_40</merchant-item-id>
> <tax-table-selector>Standard</tax-table-selector>
> </item></items>
> </shopping-cart>
> </checkout-shopping-cart>
>
> I believe the <checkout-shopping-cart> element should be
> <checkout-shopping-cart xmlns="http://checkout.google.com/schema/2">
>
> When we build our Document object the returned checkout-shopping-cart
> element does have the namespace
> xmlns="http://checkout.google.com/schema/2"
>
> The trouble seems to be when we create the xml string from the Document
> using xlan, it seems to drop this namespace declaration.
>
> This is the exact code we are using to return the xml as a string where
> "document" is our cart as a Document which seems to have the correct
> namespace....
>
> try {
> TransformerFactory tf =
> TransformerFactory.newInstance();
> Transformer trans =
> tf.newTransformer();
> StringWriter sw = new StringWriter();
> trans.transform(new
> DOMSource(document), new StreamResult(sw));
> return sw.toString();
> } catch (TransformerException tEx) {
> tEx.printStackTrace();
> }
>
> We are using java version "1.5.0_07"
> If I call com.sun.org.apache.xalan.internal.Version.getVersion() I get
> Xalan Java 2.6.0
>
> I hope this makes sense to somebody as I have had no luck on the
> google-checkout forum and this has ground our development to a halt!
>
> Many thanks
>
> Giles
>
> --
> View this message in context:
> http://www.nabble.com/Cannot-find-the-declaration...-tf3716003.html#a10395125
>
> Sent from the Xalan - J - Users mailing list archive at Nabble.com.
>
>
>
>
>
--
View this message in context:
http://www.nabble.com/Cannot-find-the-declaration...-tf3716003.html#a10396269
Sent from the Xalan - J - Users mailing list archive at Nabble.com.