- 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