Stanimir Stamenkov
Usenet Archive
- Joined
- Dec 2, 2002
- Messages
- 431
- Reaction score
- 0
Using Xerces2 Java I'm trying to validate a CSV data following an XNI example <http://xml.apache.org/xerces2-j/xni-config.html#examples>. The CSV scanner generates XML tree events like:
<csv>
<row>
<col>Andy Clark</col>
<col>16 Jan 1973</col>
<col>Cincinnati</col>
</row>
</csv>
In the "XML Schema Part 1: Structures" specification I find the following paragraph
In order to validate the XML structure generated from the CSV data I would need an XML Schema like:
<!-- top-level declaration -->
<xs:element name="csv">
<xs:complexType>
<xs:sequence>
<xs:element name="row" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="col" type="type1" />
<xs:element name="col" type="type2" />
<xs:element name="col" type="type3" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
Where 'type1', 'type2' and 'type3' are whatever different simple types. According to the spec the above is not permissible, but seems like the Xerces2 implementation doesn't mind it. I think it should be permissible at least in such "straight-forward" cases, where the position of the element in the tree also matters for resolving its content type definition.
Is there development for such an issue for the next version of the XML Schema spec and is it reasonably valid for the Xerces2 implementation to behave such differently from the current specification?
<csv>
<row>
<col>Andy Clark</col>
<col>16 Jan 1973</col>
<col>Cincinnati</col>
</row>
</csv>
In the "XML Schema Part 1: Structures" specification I find the following paragraph
When two or more particles contained directly or indirectly in the {particles} of a model group have identically named element declarations as their {term}, the type definitions of those declarations must be the same. ...
In order to validate the XML structure generated from the CSV data I would need an XML Schema like:
<!-- top-level declaration -->
<xs:element name="csv">
<xs:complexType>
<xs:sequence>
<xs:element name="row" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="col" type="type1" />
<xs:element name="col" type="type2" />
<xs:element name="col" type="type3" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
Where 'type1', 'type2' and 'type3' are whatever different simple types. According to the spec the above is not permissible, but seems like the Xerces2 implementation doesn't mind it. I think it should be permissible at least in such "straight-forward" cases, where the position of the element in the tree also matters for resolving its content type definition.
Is there development for such an issue for the next version of the XML Schema spec and is it reasonably valid for the Xerces2 implementation to behave such differently from the current specification?