Hi Elian, This is a known issue, a temporary solution is to split your schema in different schemas (using different namespaces). It is a pain, I confess. The other solution is to wait for the SourceGenerator Binding File but unfortunately we have no release date for it available.
Hope this helps, Arnaud -> -----Original Message----- -> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] -> Sent: Thursday, November 08, 2001 2:46 AM -> To: [EMAIL PROTECTED] -> Subject: [castor-dev] Castor Bug 0.9.3 : attribute names mixed-up within -> types.* package -> -> -> Hi, -> -> Castor 0.9.3 mixes up attributes of different elements when they have the -> same name. For exemple, compiling the following schema results in the -> attribute 'SDValue' creating a class SDValueType and -> SDValueTypeDescriptor -> in package types.*; This class is erased for each new element with this -> attribute, with a different enumeration for each element. -> -> -> <xs:element name="AdvSide"> -> <xs:complexType> -> <xs:attribute name="FIXTag" type="xs:string" fixed="4" /> -> <xs:attribute name="DataType" type="xs:string" -> fixed="Char" -> /> -> <xs:attribute name="SDValue"> -> <xs:simpleType> -> <xs:restriction base="xs:string"> -> <xs:enumeration value="Buy" /> -> <xs:enumeration value="Sell" /> -> <xs:enumeration value="Cross" /> -> <xs:enumeration value="Trade" /> -> </xs:restriction> -> </xs:simpleType> -> </xs:attribute> -> </xs:complexType> -> </xs:element> -> -> <xs:element name="HandInst"> -> <xs:complexType> -> <xs:attribute name="FIXTag" type="xs:string" fixed="21" /> -> <xs:attribute name="DataType" type="xs:string" -> fixed="char" -> /> -> <xs:attribute name="SDValue"> -> <xs:simpleType> -> <xs:restriction base="xs:string"> -> <xs:enumeration value="AutoExecPriv" /> -> <xs:enumeration value="AutoExecPub" /> -> <xs:enumeration value="Manual" /> -> </xs:restriction> -> </xs:simpleType> -> </xs:attribute> -> </xs:complexType> -> </xs:element> -> -> It looks like the error is around L538 in SourceFactory, where className -> (or a subpackage) should distinguish a SDValue within AdvSide from a -> SDValue within HandInst. Any idea how to fix this properly ? -> -> SourceFactory.java ~l538: -> -> if (simpleType.hasFacet(Facet.ENUMERATION)) { -> className = "Enum"+ ??? should we indicate some path here ??? -> +"_"+className; -> enumeration = true; -> //-- XXXX Fix packageName...this is a hack I know, -> //-- XXXX we should change this -> if ((packageName != null) && (packageName.length() > 0)) -> packageName = packageName + ".types"; -> else -> packageName = "types"+ ??? should we have different -> packages for different element names ???; -> } -> -> Schema is FIXML 4.3 from FIXProtocol.org, converted from DTD to XSD using -> http://puvogel.informatik.med.uni-giessen.de/dtd2xs/ -> http://www.fixprotocol.org/specification/fix-43.zip -> -> Thanks, -> -> Elian Carsenat, -> Accenture -> Business Launch Center / Financial Industry Services (BLC-FSI) -> Direct line - T�l�phone Direct -> +33 (0) 1 53 23 59 86 -> -> -> -> This message is for the designated recipient only and may contain -> privileged, proprietary, or otherwise private information. If you have -> received it in error, please notify the sender immediately and delete the -> original. Any other use of the email by you is prohibited. -> -> ----------------------------------------------------------- -> If you wish to unsubscribe from this mailing, send mail to -> [EMAIL PROTECTED] with a subject of: -> unsubscribe castor-dev ----------------------------------------------------------- If you wish to unsubscribe from this mailing, send mail to [EMAIL PROTECTED] with a subject of: unsubscribe castor-dev
