XmlSchema Espaces effondrement: Ce qui se passe à plusieurs espaces?

J'utilise la suite XmlSchema:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
  targetNamespace="http://www.test.com/XmlValidation"
  elementFormDefault="qualified"
  attributeFormDefault="unqualified"
  xmlns:m="http://www.test.com/XmlValidation">

  <xs:element name="test">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="testElement" type="m:requiredStringType"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:simpleType name="requiredStringType">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:whiteSpace value="collapse"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>

Il définit un requiredStringType qui doit être au moins un caractère de long et définit également les espaces de l'effondrement.

Quand j'ai valider le document Xml suivant la validation succeedes:

<?xml version="1.0" encoding="UTF-8"?>
<test xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.text.com/XmlValidation">
    <testElement>     </testElement>
</test>

w3.org définit pour les espaces effondrement:

"Après le traitement de l'implicite à remplacer, des séquences contiguës de #x20 sont réduites à une seule #x20, et d'attaque et de fuite #x20 sont supprimés."

Est-ce à dire que 3 espaces sont réduits à un ou à zéro des espaces? Dans XmlSpy la validation échoue, dans .Net, il réussit.

OriginalL'auteur crauscher | 2009-03-20