XSD prefixes are *not* parts of the definitions.
It may be nice for XML to use the original prefixes, however different
ones must be used instead if ever conflicted.
"_1" may be ugly, but it doesn't disconform to the XSD.

Do you want to change "bug" to "improvement"?

On 10/11/06, Fuhwei Lwo <[EMAIL PROTECTED]> wrote:

I just found out XMLHelper.save() method always uses the
dataobject's  namespace URI to derive its namespace prefix even the prefix
was  defined in the XSD.

For example, I modify "xmlns:nsPrefix=nsURI" in the simple.xsd located  in
the resource folder under sdo/impl project from  xmlns:simple="
http://www.example.com/simple"; to  xmlns:simple="
http://www.example.com/simple/1.0"; then modify  SimpleDynamicTestCase.javato 
display its serialization output. Here  are the XSD and the serialization
output:

*simple.xsd*

<xsd:schema
   targetNamespace="http://www.example.com/simple/1.0";
   xmlns:xsd="http://www.w3.org/2001/XMLSchema";
   xmlns:simple="http://www.example.com/simple/1.0";>

    <xsd:element name="stockQuote" type="simple:Quote"/>

    <xsd:complexType name="Quote">
        <xsd:sequence>
           <xsd:element name="symbol" type="xsd:string"/>
           <xsd:element name="companyName" type="xsd:string"/>
           <xsd:element name="price" type="xsd:decimal"/>
           <xsd:element name="open1" type="xsd:decimal"/>
           <xsd:element name="high" type="xsd:decimal"/>
           <xsd:element name="low" type="xsd:decimal"/>
           <xsd:element name="volume" type="xsd:double"/>
           <xsd:element name="change1" type="xsd:double"/>
           <xsd:element  name="quotes" type="simple:Quote"
minOccurs="0"  maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>

</xsd:schema>

*Serialization output*

<?xml version="1.0" encoding="ASCII"?>
<_1:stockQuote xmlns:_1="http://www.example.com/simple/1.0";>
   <symbol>fbnt</symbol>
   <companyName>FlyByNightTechnology</companyName>
   <price>1000.0</price>
   <open1>1000.0</open1>
   <low>1000.0</low>
   <volume>1000.0</volume>
   <change1>1000.0</change1>
   <quotes>
     <price>2000.0</price>
   </quotes>
</_1:stockQuote>

Is this expected behaviour?




--

Yang ZHONG

Reply via email to