without digging too much into the issue, have you looked into using
XMLBeans inst2xsd tool  to create an XSD for the instances you get
from Xcelsius. I've had a lot of success with the xsds created and it
was much easier than writing my own from scratch.

As far as the empty array, it might be related to the namespace. try
calling validate(errors) and iterating through the error list and that
might shed some more light on what is causing this.

-jacobd

On Thu, Nov 27, 2008 at 6:13 AM, Schuster Stefan
<[EMAIL PROTECTED]> wrote:
> Hi everyone,
>
> I have a problem with arrays. I get an XML document from a program that
> I cant change (Xcelsius). It looks like this
>
> <data>
>   <variable name="INFO_PROVIDER">
>      <row>
>         <column>IP1</column>
>      </row>
>   </variable>
>   <variable name="VIEW_ID">
>      <row>
>         <column>null</column>
>      </row>
>  </variable>
> </data>
>
>
> I created my own XSD to describe this document, in the XSD I have
> to use namespaces because data is already defined in the XSD namespace.
> The XSD is shown here:
>
>
> <?xml version="1.0" encoding="UTF-8"?>
> <schema xmlns="http://www.w3.org/2001/XMLSchema";
>        elementFormDefault="unqualified" 
> targetNamespace="http://cirquent.de/XcelsiusTable";
>        xmlns:tns="http://cirquent.de/XcelsiusTable";>
>
>        <complexType name="row">
>                <sequence maxOccurs="unbounded" minOccurs="0">
>                        <element name="column" type="string"></element>
>                </sequence>
>        </complexType>
>        <complexType name="variable">
>                <sequence maxOccurs="unbounded" minOccurs="0">
>                        <element name="row" type="tns:row"></element>
>                </sequence>
>                <attribute name="name" type="string" />
>        </complexType>
>
>
>        <element name="data" type="tns:data"></element>
>
>        <complexType name="data">
>                <sequence minOccurs="0" maxOccurs="unbounded">
>                        <element name="variable" type="tns:variable"></element>
>                </sequence>
>        </complexType>
> </schema>
>
> In order to handle the document, I have to replace the
> namespace using the substitution capabilities of XML Beans with
> the following code:
>
>        namespaceMap.put("", "http://cirquent.de/XcelsiusTable";);
>        xmlOptions.setLoadSubstituteNamespaces(namespaceMap);
>
> The document is parsed and if I call the save() method, the following
> string is written:
> <xcel:data xmlns:xcel="http://cirquent.de/XcelsiusTable";><xcel:variable 
> name="INFO_PROVIDER"><xcel:row><xcel:column>IP1</xcel:column></xcel:row></xcel:variable><xcel:variable
>  
> name="VIEW_ID"><xcel:row><xcel:column>null</xcel:column></xcel:row></xcel:variable</xcel:data>
>
>
> Here comes the problem: Calling getVariableArray() on the data element,
> I get an empty array as response.
>
> What am I doing wrong?
>
> Best regards,
>
> Stefan Schuster
>
> Consultant NW FI
>
>
> cirquent | softlab group
>
> Cirquent GmbH
>
> Königsberger Straße 29 | 60487 Frankfurt a.M.
>
> Telefon +49 69 97261-800 | Fax +49 69 97261-899
> E-Mail [EMAIL PROTECTED] | Mobil +49 151 1822 5456
> Internet http://www.cirquent.de
>
> Cirquent GmbH | Geschäftsführung: Peter Broicher (Vorsitzender), Dr. Stefan 
> Aicher,
> Thomas Balgheim (stellvertretender Vorsitzender), Bernd Stroppel, Said Tabet
> Sitz und Amtsgericht: München HRB 51846
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to