Is this a specification problem? I'm fairly sure the SDO spec states that the Type name for an anonymous type is taken from the enclosing element. In your example you have 2 types with the same name in the same namespace.
Cheers, On 27/04/07, Simon Laws <[EMAIL PROTECTED]> wrote:
I talking to a user of the PHP SDO implementatio about a problem they have where SDO fails to parse an XML file with the error: SDO_DAS_XML_ParserException - unknown element errors... Looking at the code what seems to be going on is that annonymous types are being overwritten when the annonymous types have the same element name, for example, If I have the schema: <?xml version="1.0" encoding="UTF-8"?> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/AnnonTypes" xmlns:tns="http://www.example.org/AnnonTypes" elementFormDefault="qualified"> <element name="Top"> <complexType> <sequence> <element name="ElementA"> <complexType> <sequence> <element name="Overlapping"> <complexType> <sequence> <element name="ValueA" type="string"/> </sequence> </complexType> </element> </sequence> </complexType> </element> <element name="ElementB"> <complexType> <sequence> <element name="Overlapping"> <complexType> <sequence> <element name="ValueB" type="string"/> </sequence> </complexType> </element> </sequence> </complexType> </element> </sequence> </complexType> </element> </schema> And the XML <?xml version="1.0" encoding="UTF-8"?> <tns:Top xmlns:tns="http://www.example.org/AnnonTypes" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.example.org/AnnonTypes AnnonTypes.xsd "> <tns:ElementA> <tns:Overlapping> <tns:ValueA>tns:ValueA</tns:ValueA> </tns:Overlapping> </tns:ElementA> <tns:ElementB> <tns:Overlapping> <tns:ValueB>tns:ValueB</tns:ValueB> </tns:Overlapping> </tns:ElementB> </tns:Top> I looked to see if this had been raised as a bug and It didn't look like it had. I'll go and do that but was just wondering if that was by design for some reason? To fix this we would have to construct a scoping mechanism for annonymous types based on the context in which they appear. Regards Simon
-- Pete
