> trans.transform(new DOMSource(document), new StreamResult(sw));

How did you create document? When you create a DocumentBuilder, did you 
set namespace aware true on the DocumentBuilderFactory? You should do:

DocumentBuilderFactory dfactory =
                DocumentBuilderFactory.newInstance();

dfactory.setNamespaceAware(true);
DocumentBuilder docBuilder = dfactory.newDocumentBuilder();

Hope it helps,

Christine Li
XSLT Development
IBM Toronto Lab
Tel: (905)413-2601
Email: [EMAIL PROTECTED]



gilesP <[EMAIL PROTECTED]> 
09/05/2007 10:13 AM

To
xalan-j-users@xml.apache.org
cc

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