Hello,

We are having a problem with xml generation using castor.

We have a schema which declares a choice within a group (sorry about the
formatting):

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
        <!-- Probe -->
        <xsd:element name="probe">
                <xsd:complexType>
                        <xsd:sequence>
                                <xsd:element name="ip"
type="xsd:string"/>
                                <xsd:group ref="Card"/>
                        </xsd:sequence>
                </xsd:complexType>
        </xsd:element>
        <xsd:group name="Card">
                <xsd:choice>
                        <xsd:element ref="ss7card"
maxOccurs="unbounded"/>
                        <xsd:element ref="gbcard"
maxOccurs="unbounded"/>
                </xsd:choice>
        </xsd:group>
        <!-- SS7Card -->
        <xsd:element name="ss7card">
                <xsd:complexType>
                        <xsd:sequence>
                                <xsd:element name="ip"
type="xsd:string"/>
                        </xsd:sequence>
                </xsd:complexType>
        </xsd:element>
        <!-- GbCard -->
        <xsd:element name="gbcard">
                <xsd:complexType>
                        <xsd:sequence>
                                <xsd:element name="location"
type="xsd:string"/>
                        </xsd:sequence>
                </xsd:complexType>
        </xsd:element>
</xsd:schema>

Source is generated from the xsd. 
A with a marshalling done (try/catch removed for brevity):

       XmlProbe xmlProbe = new XmlProbe();
         xmlProbe.setIp("1.1.1.2");
       XmlCard xmlCard = new XmlCard();
       
     
       XmlSs7Card xmlSs7Card = new XmlSs7Card();
       xmlSs7Card.setIp("1.1.1.1");
       

       XmlSs7Card xmlSs7Card2 = new XmlSs7Card();
       xmlSs7Card2.setIp("1.1.1.3");
       
     
       xmlCard.setXmlSs7Card(new XmlSs7Card[]{xmlSs7Card,xmlSs7Card2});
       xmlProbe.setXmlCard(xmlCard);
        
        Mapping map = new Mapping();
        map.loadMapping(Files.getCastorMappingFileUrl());
        BufferedWriter writer = new BufferedWriter(
        new FileWriter(Files.getOutputFile()));
        Marshaller marshaller = new Marshaller(writer);
        marshaller.setMapping(map);
        marshaller.marshal(xmlProbe);


A resulting xml is produced:

<?xml version="1.0" encoding="UTF-8"?>
<probe>
        <ip>1.1.1.2</ip>
        <ss7card xml-ss7-card-count="2" valid="true"
xml-gb-card-count="0">
                <xml-ss7-card valid="true">
                        <ip>1.1.1.1</ip>
                </xml-ss7-card>
                <xml-ss7-card valid="true">
                        <ip>1.1.1.3</ip>
                </xml-ss7-card>
        </ss7card>
</probe>

However we would like a result that looks:

<?xml version="1.0" encoding="UTF-8"?>
<probe>
        <ip>1.1.1.2</ip>
        <ss7card>
                <ip>1.1.1.1</ip>
        </ss7card >
        <ss7card>
                <ip>1.1.1.3</ip>
        </ss7card >
</probe>

Here the choice is suppressed (hidden) in the result. Is there anyway to
achieve this? 

Thank you,
Jennifer

           
Jennifer Thorsley
Software Engineer
________________________________

Nexus Telecom AG 
Wireless Network Systems
Muertschenstrasse 27
P.O. Box 1413
CH-8048 Zurich
Switzerland


Email: [EMAIL PROTECTED]
Website:   www.nexustelecom.com 
 



---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email

Reply via email to