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 
>                                        xalan-j-users@xml.apache.org        
>              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.

Reply via email to