You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@xerces.apache.org by Xiaofan Zhou <Xi...@businessobjects.com> on 2006/02/22 20:24:33 UTC
Is this a Xerces bug
Hi, All,
I am using the SAX parser from xerces-c (version 2.7) to parse XML file.
I have one case related to an attribtue with default value defined in
the schema (I pasted the instance document and the schema in this
message). When I parse the instance document, I noticed the following:
If I turn on parser validation (for which I use loadGrammar to give the
parser the test.xsd), for the two elements <image>, from the SAX
startElement event, I got one attribtue for each, and have the following
values:
For the first <image> element:
URI QName
LocalName Value
========================================================================
=================
http://www.attribute-examples.org src src
http://www.xfront.com
For the second <image> element
URI QName
LocalName Value
========================================================================
==========
http://www.attribute-examples.org i:src src
http://www.xfront.com/BestPractices.html
However, if I turn off parser validation, I got two attributes for the
second <image> element from the SAX startElement event as below:
URI QName
LocalName Value
========================================================================
==========
http://www.attribute-examples.org i:src src
http://www.xfront.com/BestPractices.html
http://www.attribute-examples.org src src
http://www.xfront.com
I would expect consistence between the two senarios, am I right?
Thanks much.
Frank
instance XML doc
=========
<?xml version="1.0"?>
<AttributeExamples xmlns="http://www.attribute-examples.org"
xmlns:i="http://www.attribute-examples.org"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.attribute-examples.org test.xsd
<http://www.attribute-examples.org test.xsd> ">
<image/>
<!-- Using the default value -->
<image i:src="http://www.xfront.com/BestPractices.html"/> <!-- Not
using the default value -->
</AttributeExamples>
schema test.xsd
============
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.attribute-examples.org"
xmlns="http://www.attribute-examples.org"
elementFormDefault="qualified">
<xsd:element name="image">
<xsd:complexType>
<xsd:attribute ref="src" default="http://www.xfront.com"/>
</xsd:complexType>
</xsd:element>
<xsd:attribute name="src" type="xsd:anyURI"/>
<xsd:element name="AttributeExamples">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="image" maxOccurs="2"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Re: Is this a Xerces bug
Posted by Alberto Massari <am...@datadirect.com>.
Frank,
this looks the same error reported as jira# 1533
(http://issues.apache.org/jira/browse/XERCESC-1533): you can get the
diff from http://svn.apache.org/viewcvs.cgi?rev=359081&view=rev
Hope this helps,
Alberto
At 11:24 AM 2/22/2006 -0800, Xiaofan Zhou wrote:
>Hi, All,
>
>I am using the SAX parser from xerces-c (version 2.7) to parse XML
>file. I have one case related to an attribtue with default value
>defined in the schema (I pasted the instance document and the schema
>in this message). When I parse the instance document, I noticed the following:
>
>If I turn on parser validation (for which I use loadGrammar to give
>the parser the test.xsd), for the two elements <image>, from the SAX
>startElement event, I got one attribtue for each, and have the
>following values:
>
> For the first <image> element:
>
> URI QName
> LocalName Value
>
>=========================================================================================
>
><http://www.attribute-examples.org>http://www.attribute-examples.org
>src src
><http://www.xfront.com>http://www.xfront.com
>
> For the second <image> element
>
> URI QName
> LocalName Value
>
>==================================================================================
>
><http://www.attribute-examples.org>http://www.attribute-examples.org
>i:src src
><http://www.xfront.com/BestPractices.html>http://www.xfront.com/BestPractices.html
>However, if I turn off parser validation, I got two attributes for
>the second <image> element from the SAX startElement event as below:
>
> URI QName
> LocalName Value
>
>==================================================================================
>
><http://www.attribute-examples.org>http://www.attribute-examples.org
>i:src src
><http://www.xfront.com/BestPractices.html>http://www.xfront.com/BestPractices.html
> http://www.attribute-examples.org src src
> <http://www.xfront.com>http://www.xfront.com
>I would expect consistence between the two senarios, am I right?
>
>Thanks much.
>Frank
>
>instance XML doc
>=========
><?xml version="1.0"?>
><AttributeExamples
>xmlns="<http://www.attribute-examples.org>http://www.attribute-examples.org"
>xmlns:i="<http://www.attribute-examples.org>http://www.attribute-examples.org"
>xmlns:xsi="<http://www.w3.org/2001/XMLSchema-instance>http://www.w3.org/2001/XMLSchema-instance"
>xsi:schemaLocation="<http://www.attribute-examples.org
>test.xsd>http://www.attribute-examples.org
>test<http://www.attribute-examples.org test.xsd>.xsd">
> <image/>
> <!-- Using the default value -->
> <image
> i:src="<http://www.xfront.com/BestPractices.html"/>http://www.xfront.com/BestPractices.html"/>
> <!-- Not using the default value -->
></AttributeExamples>
>
>schema test.xsd
>============
><?xml version="1.0"?>
><xsd:schema
>xmlns:xsd="<http://www.w3.org/2001/XMLSchema>http://www.w3.org/2001/XMLSchema"
>targetNamespace="<http://www.attribute-examples.org>http://www.attribute-examples.org"
>xmlns="<http://www.attribute-examples.org>http://www.attribute-examples.org"
> elementFormDefault="qualified">
>
> <xsd:element name="image">
> <xsd:complexType>
> <xsd:attribute ref="src"
> default="<http://www.xfront.com"/>http://www.xfront.com"/>
> </xsd:complexType>
> </xsd:element>
>
> <xsd:attribute name="src" type="xsd:anyURI"/>
>
> <xsd:element name="AttributeExamples">
> <xsd:complexType>
> <xsd:sequence>
> <xsd:element ref="image" maxOccurs="2"/>
> </xsd:sequence>
> </xsd:complexType>
> </xsd:element>
>
></xsd:schema>
---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org