- From: Dieter Guthmann <mailing-deg@bup-nbg.de>
- Date: Thu, 12 Mar 2009 17:35:04 +0100
- To: xmlschema-dev@w3.org
Hi,
I've tested a few XML-Parsers/Validators and discovered that the
restriction "whiteSpace=collapse" [1] is interpreted in two different ways.
"Liquid XML Studio 2009" treats a whitespace-only string within a tag
not as trailing/leading whitespace [1]:
"<tag> \n </tag>" will be transformed in "<tag> </tag>" before
validation (or it seems so),
whereas the other parsers I've tested (Altova XML Spy, XMLmind XML
Editor, W3C XSV) will transform
"<tag> \n </tag>" to "<tag></tag>"
Which behaviour is the correct one? See below for a schema example.
Best Regards,
Dieter Guthmann
[1] <http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#rf-whiteSpace>
Below an Example:
------- begin mysschema.xsd -------
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="nocontent">
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse" />
<xs:pattern value="" />
<!-- This line above will not work in Liquid XML... replace
"value" with "[ ]" and it will work -->
</xs:restriction>
</xs:simpleType>
<xs:element name="customerdatabase">
<xs:complexType>
<xs:sequence>
<xs:element ref="customer" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="customer">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="nocontent">
<xs:attribute name="name" type="xs:string" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:schema>
------- end myschema.xsd -------
------- begin myxmlfile.xml -------
<?xml version="1.0" encoding="UTF-8"?>
<customerdatabase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="myschema.xsd">
<customer name="test">
</customer>
</customerdatabase>
------- end myxmlfile.xml -------
Received on Friday, 13 March 2009 01:00:41 UTC