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.



Reply via email to