は、私は、次のXMLスキーマを使用します。それは、少なくとも1つの文字でなければなりませんrequiredStringTypeを定義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>
をしても、空白の崩壊を定義します。
私は次のXML文書の検証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は空白崩壊のために定義されています。
「置き換えることにより、暗示処理した後、#X20年代の連続配列をに崩壊しています1つの#x20と先頭と末尾の#x20が削除されます。
これは、3つの空白が1つまたはゼロの空白に折りたたまれていることを意味しますか? XmlSpyでは検証が失敗し、.NETでは成功します。
リメインホワイトスペース(折りたたみ後のホワイトスペース)が先頭の空白として扱われるかどうかはわかりません。多分.Netの賞賛は正しいです。私は間違っていると証明できるw3.orgサイトでXmlValidatorを見つけられませんでした。 – crauscher