<TESTCASES PROFILE="Richard Tobin's XML 1.0 2nd edition errata test suite 21 Jul 2003">

<!-- E1 is an editorial change that does not need a test -->

<TEST RECOMMENDATION="XML1.0-errata2e" SECTIONS="E2" URI="E2a.xml" ID="rmt-e2e-2a" TYPE="invalid">
Duplicate token in enumerated attribute declaration
</TEST>

<TEST RECOMMENDATION="XML1.0-errata2e" SECTIONS="E2" URI="E2b.xml" ID="rmt-e2e-2b" TYPE="invalid">
Duplicate token in NOTATION attribute declaration
</TEST>

<!-- E3 concerns URI redirection (eg by catalog or HTTP), and can't be
     reasonably tested in a standalone test suite such as this -->

<!-- E4 concerns escaping of characters in URIs by the parser, and can't be
     reasonably tested in a standalone test suite such as this -->

<!-- E5-E8 are editorial changes that do not need tests -->

<TEST RECOMMENDATION="XML1.0-errata2e" SECTIONS="E9" URI="E9a.xml" ID="rmt-e2e-9a" TYPE="valid">
An unused attribute default need only be syntactically correct
</TEST>

<TEST RECOMMENDATION="XML1.0-errata2e" SECTIONS="E9" URI="E9b.xml" ID="rmt-e2e-9b" TYPE="invalid">
An attribute default must be syntactically correct even if unused
</TEST>

<!-- E10 is obsoleted by E45 -->

<!-- E11 updates the reference to RFC 1766 (Language Identification Tags)
     to refer to RFC 3066 instead, and this does not affect the behaviour
     of XML processors -->

<!-- E12 updates the reference to RFC 2376 (XML Media Types) to refer to
     RFC 3023 instead; I don't think anything can be tested here -->

<!-- E13 corrects a spelling mistake -->

<TEST RECOMMENDATION="XML1.0-errata2e" SECTIONS="E14" URI="E14.xml" ID="rmt-e2e-14" ENTITIES="parameter" TYPE="invalid">
Declarations mis-nested wrt parameter entities are just validity
errors (but note that some parsers treat some such errors as fatal)
</TEST>

<TEST RECOMMENDATION="XML1.0-errata2e" SECTIONS="E15" URI="E15a.xml" ID="rmt-e2e-15a" TYPE="invalid">
Empty content can't contain an entity reference
</TEST>

<TEST RECOMMENDATION="XML1.0-errata2e" SECTIONS="E15" URI="E15b.xml" ID="rmt-e2e-15b" TYPE="invalid">
Empty content can't contain a comment
</TEST>

<TEST RECOMMENDATION="XML1.0-errata2e" SECTIONS="E15" URI="E15c.xml" ID="rmt-e2e-15c" TYPE="invalid">
Empty content can't contain a PI
</TEST>

<TEST RECOMMENDATION="XML1.0-errata2e" SECTIONS="E15" URI="E15d.xml" ID="rmt-e2e-15d" TYPE="invalid">
Empty content can't contain whitespace
</TEST>

<TEST RECOMMENDATION="XML1.0-errata2e" SECTIONS="E15" URI="E15e.xml" ID="rmt-e2e-15e" TYPE="valid">
Element content can contain entity reference if replacement text is whitespace
</TEST>

<TEST RECOMMENDATION="XML1.0-errata2e" SECTIONS="E15" URI="E15f.xml" ID="rmt-e2e-15f" TYPE="valid">
Element content can contain entity reference if replacement text is whitespace,
even if it came from a character reference in the literal entity value
</TEST>

<TEST RECOMMENDATION="XML1.0-errata2e" SECTIONS="E15" URI="E15g.xml" ID="rmt-e2e-15g" TYPE="invalid">
Element content can't contain character reference to whitespace
</TEST>

<TEST RECOMMENDATION="XML1.0-errata2e" SECTIONS="E15" URI="E15h.xml" ID="rmt-e2e-15h" TYPE="invalid">
Element content can't contain entity reference if replacement text is
character reference to whitespace
</TEST>

<TEST RECOMMENDATION="XML1.0-errata2e" SECTIONS="E15" URI="E15i.xml" ID="rmt-e2e-15i" TYPE="valid">
Element content can contain a comment
</TEST>

<TEST RECOMMENDATION="XML1.0-errata2e" SECTIONS="E15" URI="E15j.xml" ID="rmt-e2e-15j" TYPE="valid">
Element content can contain a PI
</TEST>

<TEST RECOMMENDATION="XML1.0-errata2e" SECTIONS="E15" URI="E15k.xml" ID="rmt-e2e-15k" TYPE="valid">
Mixed content can contain a comment
</TEST>

<TEST RECOMMENDATION="XML1.0-errata2e" SECTIONS="E15" URI="E15l.xml" ID="rmt-e2e-15l" TYPE="valid">
Mixed content can contain a PI
</TEST>

<!-- E16 is a change to the references -->

<!-- E17 is a change to the Notation section -->

<TEST RECOMMENDATION="XML1.0-errata2e" SECTIONS="E18" URI="E18.xml" ID="rmt-e2e-18" ENTITIES="both" OUTPUT="out/E18.xml" TYPE="valid">
External entity containing start of entity declaration is base URI
for system identifier
</TEST>

<TEST RECOMMENDATION="XML1.0-errata2e" SECTIONS="E19" URI="E19.xml" ID="rmt-e2e-19" ENTITIES="parameter" OUTPUT="out/E19.xml" TYPE="valid">
Parameter entities and character references are included-in-literal, but
general entities are bypassed.
</TEST>

<TEST RECOMMENDATION="XML1.0-errata2e" SECTIONS="E20" URI="E20.xml" ID="rmt-e2e-20" TYPE="invalid">
Tokens, after normalization, must be separated by space, not other
whitespace characters
</TEST>

<!-- E21 defines "internal subset" to not include the square brackets,
     but I don't see any way to test this in a document -->

<TEST RECOMMENDATION="XML1.0-errata2e" SECTIONS="E22" URI="E22.xml" ID="rmt-e2e-22" TYPE="valid">
UTF-8 entities may start with a BOM
</TEST>

<!-- E23 cannot be tested in a standalone test suite -->

<TEST RECOMMENDATION="XML1.0-errata2e" SECTIONS="E24" URI="E24.xml" ID="rmt-e2e-24" TYPE="valid">
Either the built-in entity or a character reference can be used to
represent greater-than after two close-square-brackets
</TEST>

<!-- E25 and E26 cannot be tested in a standalone test suite -->

<TEST RECOMMENDATION="XML1.0-errata2e" SECTIONS="E27" URI="E27.xml" ID="rmt-e2e-27" TYPE="not-wf">
Contains an irregular UTF-8 sequence (i.e. a surrogate pair)
</TEST>

<!-- E28 is a change to the references -->

<TEST RECOMMENDATION="XML1.0-errata2e" SECTIONS="E29" URI="E29.xml" ID="rmt-e2e-29" TYPE="valid">
Three-letter language codes are allowed
</TEST>

<!-- E30-E33 are editorial -->

<TEST RECOMMENDATION="XML1.0-errata2e" SECTIONS="E34" URI="E34.xml" ID="rmt-e2e-34" TYPE="error">
A non-deterministic content model is an error even if the element type
is not used.
</TEST>

<!-- E35 is editorial -->

<TEST RECOMMENDATION="XML1.0-errata2e" SECTIONS="E36" URI="E36.xml" ID="rmt-e2e-36" ENTITIES="parameter" TYPE="valid">
An external ATTLIST declaration does not make a document non-standalone
if the normalization would have been the same without the declaration
</TEST>

<!-- E37 is a clarification that doesn't affect parsing -->

<TEST RECOMMENDATION="XML1.0-errata2e" SECTIONS="E38" URI="E38.xml" ID="rmt-e2e-38" ENTITIES="general" TYPE="not-wf">
XML 1.0 document refers to 1.1 entity
</TEST>

<!-- E39 does not affect parsing -->

<!-- E40 is editorial -->

<TEST RECOMMENDATION="XML1.0-errata2e" SECTIONS="E41" URI="E41.xml" ID="rmt-e2e-41" TYPE="valid">
An xml:lang attribute may be empty
</TEST>

<!-- E42 cannot be tested without an application -->

<!-- E43 is just a consolidation of other errata -->

<!-- E44 is editorial -->

<!-- E45 can only reasonably be tested by putting the parser into a mode
     where it doesn't read external entities, and we can't force that -->

<!-- E46 is editorial -->

<!-- E47 has the same problem as E45 -->

<TEST RECOMMENDATION="XML1.0-errata2e" SECTIONS="E48" URI="E48.xml" ID="rmt-e2e-48" TYPE="valid">
ANY content allows character data
</TEST>

<!-- E49 is editorial -->

<TEST RECOMMENDATION="XML1.0-errata2e" SECTIONS="E50" URI="E50.xml" ID="rmt-e2e-50" VERSION="1.1" TYPE="valid">
All line-ends are normalized, even those not passed to the application.
NB this can only be tested effectively in XML 1.1, since CR is in the
S production; in 1.1 we can use NEL which isn't.
</TEST>

<!-- E51-E54 are editorial -->

<TEST RECOMMENDATION="XML1.0-errata2e" SECTIONS="E55" URI="E55.xml" ID="rmt-e2e-55" TYPE="error">
A reference to an unparsed entity in an entity value is an error rather
than forbidden (unless the entity is referenced, of course)
</TEST>

<!-- E56 is editorial -->

<TEST RECOMMENDATION="XML1.0-errata2e" SECTIONS="E57" URI="E57.xml" ID="rmt-e2e-57" TYPE="error">
A value other than preserve or default for xml:space is an error
</TEST>

<!-- E58 clarifies that certain things are undefined, so there is
     nothing that can usefully be tested -->

<!-- E59 is an explanatory note -->

<TEST RECOMMENDATION="XML1.0-errata2e" SECTIONS="E60" URI="E60.xml" ID="rmt-e2e-60" ENTITIES="parameter" TYPE="valid">
Conditional sections are allowed in external parameter entities referred
to from the internal subset.
</TEST>

<TEST RECOMMENDATION="XML1.0-errata2e" SECTIONS="E61" URI="E61.xml" ID="rmt-e2e-61" TYPE="not-wf">
(From John Cowan) An encoding declaration in ASCII specifying an encoding
that is not compatible with ASCII (so the document is not in its declared
encoding).  It should generate a fatal error.
</TEST>

</TESTCASES>
