]> gitweb.factorcode.org Git - factor.git/blob - basis/xml/tests/xmltest/canonxml.html
Remove executable bit from tons of files that aren't
[factor.git] / basis / xml / tests / xmltest / canonxml.html
1 <HTML>\r
2 <TITLE>Canonical XML</TITLE>\r
3 <BODY>\r
4 <H1>Canonical XML</H1>\r
5 <P>\r
6 This document defines a subset of XML called canonical XML.\r
7 The intended use of canonical XML is in testing XML processors,\r
8 as a representation of the result of parsing an XML document.\r
9 <P>\r
10 Every well-formed XML document has a unique structurally equivalent\r
11 canonical XML document.  Two structurally equivalent XML\r
12 documents have a byte-for-byte identical canonical XML document.\r
13 Canonicalizing an XML document requires only information that an XML\r
14 processor is required to make available to an application.\r
15 <P>\r
16 A canonical XML document conforms to the following grammar:\r
17 <PRE>\r
18 CanonXML    ::= Pi* element Pi*\r
19 element     ::= Stag (Datachar | Pi | element)* Etag\r
20 Stag        ::= '&lt;'  Name Atts '&gt;'\r
21 Etag        ::= '&lt;/' Name '&gt;'\r
22 Pi          ::= '&lt;?' Name ' ' (((Char - S) Char*)? - (Char* '?&gt;' Char*)) '?&gt;'\r
23 Atts        ::= (' ' Name '=' '"' Datachar* '"')*\r
24 Datachar    ::= '&amp;amp;' | '&amp;lt;' | '&amp;gt;' | '&amp;quot;'\r
25                  | '&amp;#9;'| '&amp;#10;'| '&amp;#13;'\r
26                  | (Char - ('&amp;' | '&lt;' | '&gt;' | '"' | #x9 | #xA | #xD))\r
27 Name        ::= (see XML spec)\r
28 Char        ::= (see XML spec)\r
29 S           ::= (see XML spec)\r
30 </PRE>\r
31 <P>\r
32 Attributes are in lexicographical order (in Unicode bit order).\r
33 <P>\r
34 A canonical XML document is encoded in UTF-8.\r
35 <P>\r
36 Ignorable white space is considered significant and is treated equivalently\r
37 to data.\r
38 <P>\r
39 <ADDRESS>\r
40 <A HREF="mailto:jjc@jclark.com">James Clark</A>\r
41 </ADDRESS>\r
42 \r
43 </BODY>\r
44 </HTML>