Hi
Thanks for the speedy response.
Our code to create the new document is..
newEmptyDocument() {
DocumentBuilderFactory factory = null;
DocumentBuilder builder = null;
Document ret;
try {
factory = DocumentBuilderFactory.newInstance();
builder = factory.newDocumentBuilder();
} catch (ParserConfigurationException e) {
e.printStackTrace();
}
Then to create the checkout-shopping-cart element we do..
root = (Element)
document.createElementNS("http://checkout.google.com/schema/2","checkout-shopping-cart");
document.appendChild(root);
I have tried adding the factory.setNamespaceAware(true); but I still get
the same error back from google.
Thanks
Giles
Christine Li wrote:
>
>> 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
> [email protected]
> 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.
>
>
>
>
--
View this message in context:
http://www.nabble.com/Cannot-find-the-declaration...-tf3716003.html#a10396168
Sent from the Xalan - J - Users mailing list archive at Nabble.com.