- From: Costello, Roger L. <costello@mitre.org>
- Date: Wed, 24 Oct 2012 12:55:10 +0000
- To: "xmlschema-dev@w3.org" <xmlschema-dev@w3.org>
Hello Folks,
The following schema declares two ENTITIES, one for carriage return and one for line feed. And then it restricts the value of the <CRLF> element by referencing those ENTITIES.
-------------------------------------------------
CRLF.xsd
-------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xs:schema [
<!ENTITY CR " ">
<!ENTITY LF " ">
]>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Test">
<xs:complexType>
<xs:sequence>
<xs:element name="CRLF" maxOccurs="unbounded">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="&CR;&LF;"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
In an instance document the value of <CRLF> should be a carriage return followed by a line feed, right?
-------------------------------------------------
CRLF.xml
-------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<Test>
<CRLF> </CRLF>
</Test>
However, when I validate that instance document I get this error message:
The content "\r\n" of element <CRLF> does not match
the required simple type. Value "\r\n" contravenes the
pattern facet " " of the type of element CRLF.
That makes no sense. The pattern facet clearly specifies "\r\n"
What am I doing wrong?
/Roger
Received on Wednesday, 24 October 2012 12:55:38 UTC