]> Attribute values must start with attribute names, not "?". Names may not start with "."; it's not a Letter. Processing Instruction target name is required. SGML-ism: processing instructions end in '?>' not '>'. Processing instructions end in '?>' not '?'. XML comments may not contain "--" General entity references have no whitespace after the entity name and before the semicolon. Entity references must include names, which don't begin with '.' (it's not a Letter or other name start character). Character references may have only decimal or numeric strings. Ampersand may only appear as part of a general entity reference. SGML-ism: attribute values must be explicitly assigned a value, it can't act as a boolean toggle. SGML-ism: attribute values must be quoted in all cases. The quotes on both ends of an attribute value must match. Attribute values may not contain literal '<' characters. Attribute values need a value, not just an equals sign. Attribute values need an associated name. CDATA sections need a terminating ']]>'. CDATA sections begin with a literal '<![CDATA[', no space. End tags may not be abbreviated as '</>'. Attribute values may not contain literal '&' characters except as part of an entity reference. Attribute values may not contain literal '&' characters except as part of an entity reference. Character references end with semicolons, always! Digits are not valid name start characters. Digits are not valid name start characters. Text may not contain a literal ']]>' sequence. Text may not contain a literal ']]>' sequence. Comments must be terminated with "-->". Processing instructions must end with '?>'. Text may not contain a literal ']]>' sequence. A form feed is not a legal XML character. A form feed is not a legal XML character. A form feed is not a legal XML character. An ESC (octal 033) is not a legal XML character. A form feed is not a legal XML character. The '<' character is a markup delimiter and must start an element, CDATA section, PI, or comment. Text may not appear after the root element. Character references may not appear after the root element. Tests the "Unique Att Spec" WF constraint by providing multiple values for an attribute. Tests the Element Type Match WFC - end tag name must match start tag name. Provides two document elements. Provides two document elements. Invalid End Tag Provides #PCDATA text after the document element. Provides two document elements. Invalid Empty Element Tag This start (or empty element) tag was not terminated correctly. Invalid empty element tag invalid whitespace Provides a CDATA section after the root element. Missing start tag Empty document, with no root element. CDATA is invalid at top level of document. Invalid character reference. End tag does not match start tag. PUBLIC requires two literals. Invalid Document Type Definition format. Invalid Document Type Definition format - misplaced comment. This isn't SGML; comments can't exist in declarations. Invalid character , in ATTLIST enumeration String literal must be in quotes. Invalid type NAME defined in ATTLIST. External entity declarations require whitespace between public and system IDs. Entity declarations need space after the entity name. Conditional sections may only appear in the external DTD subset. Space is required between attribute type and default values in <!ATTLIST...> declarations. Space is required between attribute name and type in <!ATTLIST...> declarations. Required whitespace is missing. Space is required between attribute type and default values in <!ATTLIST...> declarations. Space is required between NOTATION keyword and list of enumerated choices in <!ATTLIST...> declarations. Space is required before an NDATA entity annotation. XML comments may not contain "--" ENTITY can't reference itself directly or indirectly. Undefined ENTITY foo. Undefined ENTITY f. Internal general parsed entities are only well formed if they match the "content" production. ENTITY can't reference itself directly or indirectly. Undefined ENTITY foo. Undefined ENTITY bar. Undefined ENTITY foo. ENTITY can't reference itself directly or indirectly. ENTITY can't reference itself directly or indirectly. This tests the No External Entity References WFC, since the entity is referred to within an attribute. This tests the No External Entity References WFC, since the entity is referred to within an attribute. Undefined NOTATION n. Tests the Parsed Entity WFC by referring to an unparsed entity. (This precedes the error of not declaring that entity's notation, which may be detected any time before the DTD parsing is completed.) Public IDs may not contain "[". Public IDs may not contain "[". Public IDs may not contain "[". Attribute values are terminated by literal quote characters, and any entity expansion is done afterwards. Parameter entities "are" always parsed; NDATA annotations are not permitted. Attributes may not contain a literal "<" character; this one has one because of reference expansion. Parameter entities "are" always parsed; NDATA annotations are not permitted. The replacement text of this entity has an illegal reference, because the character reference is expanded immediately. Hexadecimal character references may not use the uppercase 'X'. Prolog VERSION must be lowercase. VersionInfo must come before EncodingDecl. Space is required before the standalone declaration. Both quotes surrounding VersionNum must be the same. Only one "version=..." string may appear in an XML declaration. Only three pseudo-attributes are in the XML declaration, and "valid=..." is not one of them. Only "yes" and "no" are permitted as values of "standalone". Space is not permitted in an encoding name. Provides an illegal XML version number; spaces are illegal. End-tag required for element foo. Internal general parsed entities are only well formed if they match the "content" production. Invalid placement of CDATA section. Invalid placement of entity declaration. Invalid document type declaration. CDATA alone is invalid. No space in '<![CDATA['. Tags invalid within EntityDecl. Entity reference must be in content of element. Entiry reference must be in content of element not Start-tag. CDATA sections start '<![CDATA[', not '<!cdata['. Parameter entity values must use valid reference syntax; this reference is malformed. General entity values must use valid reference syntax; this reference is malformed. The replacement text of this entity is an illegal character reference, which must be rejected when it is parsed in the context of an attribute value. Internal general parsed entities are only well formed if they match the "content" production. This is a partial character reference, not a full one. Internal general parsed entities are only well formed if they match the "content" production. This is a partial character reference, not a full one. Entity reference expansion is not recursive. Internal general parsed entities are only well formed if they match the "content" production. This is a partial character reference, not a full one. Character references are expanded in the replacement text of an internal entity, which is then parsed as usual. Accordingly, & must be doubly quoted - encoded either as &amp; or as &#38;#38;. A name of an ENTITY was started with an invalid character. Invalid syntax mixed connectors are used. Invalid syntax mismatched parenthesis. Invalid format of Mixed-content declaration. Invalid syntax extra set of parenthesis not necessary. Invalid syntax Mixed-content must be defined as zero or more. Invalid syntax Mixed-content must be defined as zero or more. Invalid CDATA syntax. Invalid syntax for Element Type Declaration. Invalid syntax for Element Type Declaration. Invalid syntax for Element Type Declaration. Invalid syntax mixed connectors used. Illegal whitespace before optional character causes syntax error. Illegal whitespace before optional character causes syntax error. Invalid character used as connector. Tag omission is invalid in XML. Space is required before a content model. Invalid syntax for content particle. The element-content model should not be empty. Character '&#x309a;' is a CombiningChar, not a Letter, and so may not begin a name. Character #x0E5C is not legal in XML names. Character #x0000 is not legal anywhere in an XML document. Character #x001F is not legal anywhere in an XML document. Character #xFFFF is not legal anywhere in an XML document. Character #xD800 is not legal anywhere in an XML document. (If it appeared in a UTF-16 surrogate pair, it'd represent half of a UCS-4 character and so wouldn't really be in the document.) Character references must also refer to legal XML characters; #x00110000 is one more than the largest legal character. XML Declaration may not be preceded by whitespace. XML Declaration may not be preceded by comments or whitespace. XML Declaration may not be within a DTD. XML declarations may not be within element content. XML declarations may not follow document content. XML declarations must include the "version=..." string. Text declarations may not begin internal parsed entities; they may only appear at the beginning of external parsed (parameter or general) entities. '<?XML ...?>' is neither an XML declaration nor a legal processing instruction target name. '<?xmL ...?>' is neither an XML declaration nor a legal processing instruction target name. '<?xMl ...?>' is neither an XML declaration nor a legal processing instruction target name. '<?xmL ...?>' is not a legal processing instruction target name. SGML-ism: "#NOTATION gif" can't have attributes. Uses '&' unquoted in an entity declaration, which is illegal syntax for an entity reference. Violates the PEs in Internal Subset WFC by using a PE reference within a declaration. Violates the PEs in Internal Subset WFC by using a PE reference within a declaration. Violates the PEs in Internal Subset WFC by using a PE reference within a declaration. Invalid placement of Parameter entity reference. Invalid placement of Parameter entity reference. Parameter entity declarations must have a space before the '%'. Character FFFF is not legal anywhere in an XML document. Character FFFE is not legal anywhere in an XML document. An unpaired surrogate (D800) is not legal anywhere in an XML document. An unpaired surrogate (DC00) is not legal anywhere in an XML document. Four byte UTF-8 encodings can encode UCS-4 characters which are beyond the range of legal XML characters (and can't be expressed in Unicode surrogate pairs). This document holds such a character. Character FFFF is not legal anywhere in an XML document. Character FFFF is not legal anywhere in an XML document. Character FFFF is not legal anywhere in an XML document. Character FFFF is not legal anywhere in an XML document. Character FFFF is not legal anywhere in an XML document. Start tags must have matching end tags. Character FFFF is not legal anywhere in an XML document. Invalid syntax matching double quote is missing. Invalid syntax matching double quote is missing. The Entity Declared WFC requires entities to be declared before they are used in an attribute list declaration. Internal parsed entities must match the content production to be well formed. Internal parsed entities must match the content production to be well formed. Mixed content declarations may not include content particles. In mixed content models, element names must not be parenthesized. Tests the Entity Declared WFC. Note: a nonvalidating parser is permitted not to report this WFC violation, since it would need to read an external parameter entity to distinguish it from a violation of the Standalone Declaration VC. Whitespace is required between attribute/value pairs. Conditional sections must be properly terminated ("]>" used instead of "]]>"). Processing instruction target names may not be "XML" in any combination of cases. Conditional sections must be properly terminated ("]]>" omitted). Conditional sections must be properly terminated ("]]>" omitted). Tests the Entity Declared VC by referring to an undefined parameter entity within an external entity. Conditional sections need a '[' after the INCLUDE or IGNORE. A <!DOCTYPE ...> declaration may not begin any external entity; it's only found once, in the document entity. In DTDs, the '%' character must be part of a parameter entity reference. This test violates WFC:PE Between Declarations in Production 28a. The last character of a markup declaration is not contained in the same parameter-entity text replacement. Tests the No Recursion WFC by having an external general entity be self-recursive. External entities have "text declarations", which do not permit the "standalone=..." attribute that's allowed in XML declarations. Only one text declaration is permitted; a second one looks like an illegal processing instruction (target names of "xml" in any case are not allowed). Tests the "Proper Group/PE Nesting" validity constraint by fragmenting a content model between two parameter entities. Tests the "Proper Declaration/PE Nesting" validity constraint by fragmenting an element declaration between two parameter entities. Tests the "Proper Declaration/PE Nesting" validity constraint by fragmenting an element declaration between two parameter entities. Test the "Proper Conditional Section/ PE Nesting" validity constraint. Test demonstrates an Element Type Declaration with Mixed Content. Test demonstrates that whitespace is permitted after the tag name in a Start-tag. Test demonstrates that whitespace is permitted after the tag name in an End-tag. Test demonstrates a valid attribute specification within a Start-tag. Test demonstrates a valid attribute specification within a Start-tag that contains whitespace on both sides of the equal sign. Test demonstrates that the AttValue within a Start-tag can use a single quote as a delimter. Test demonstrates numeric character references can be used for element content. Test demonstrates character references can be used for element content. Test demonstrates that PubidChar can be used for element content. Test demonstrates that whitespace is valid after the Attribute in a Start-tag. Test demonstrates mutliple Attibutes within the Start-tag. Uses a legal XML 1.0 name consisting of a single colon character (disallowed by the latest XML Namespaces draft). Test demonstrates that the Attribute in a Start-tag can consist of numerals along with special characters. Test demonstrates that all lower case letters are valid for the Attribute in a Start-tag. Test demonstrates that all upper case letters are valid for the Attribute in a Start-tag. Test demonstrates that Processing Instructions are valid element content. Test demonstrates that Processing Instructions are valid element content and there can be more than one. Test demonstrates that CDATA sections are valid element content. Test demonstrates that CDATA sections are valid element content and that ampersands may occur in their literal form. Test demonstractes that CDATA sections are valid element content and that everyting between the CDStart and CDEnd is recognized as character data not markup. Test demonstrates that comments are valid element content. Test demonstrates that comments are valid element content and that all characters before the double-hypen right angle combination are considered part of thecomment. Test demonstrates that Entity References are valid element content. Test demonstrates that Entity References are valid element content and also demonstrates a valid Entity Declaration. Test demonstrates an Element Type Declaration and that the contentspec can be of mixed content. Test demonstrates an Element Type Declaration and that EMPTY is a valid contentspec. Test demonstrates an Element Type Declaration and that ANY is a valid contenspec. Test demonstrates a valid prolog that uses double quotes as delimeters around the VersionNum. Test demonstrates a valid prolog that uses single quotes as delimters around the VersionNum. Test demonstrates a valid prolog that contains whitespace on both sides of the equal sign in the VersionInfo. Test demonstrates a valid EncodingDecl within the prolog. Test demonstrates a valid SDDecl within the prolog. Test demonstrates that both a EncodingDecl and SDDecl are valid within the prolog. Test demonstrates the correct syntax for an Empty element tag. Test demonstrates that whitespace is permissible after the name in an Empty element tag. Test demonstrates a valid processing instruction. Test demonstrates a valid comment and that it may appear anywhere in the document including at the end. Test demonstrates a valid comment and that it may appear anywhere in the document including the beginning. Test demonstrates a valid processing instruction and that it may appear at the beginning of the document. Test demonstrates an Attribute List declaration that uses a StringType as the AttType. Test demonstrates an Attribute List declaration that uses a StringType as the AttType and also expands the CDATA attribute with a character reference. Test demonstrates an Attribute List declaration that uses a StringType as the AttType and also expands the CDATA attribute with a character reference. The test also shows that the leading zeros in the character reference are ignored. An element's attributes may be declared before its content model; and attribute values may contain newlines. Test demonstrates that the empty-element tag must be use for an elements that are declared EMPTY. Tests whether more than one definition can be provided for the same attribute of a given element type with the first declaration being binding. Test demonstrates that when more than one AttlistDecl is provided for a given element type, the contents of all those provided are merged. Test demonstrates that extra whitespace is normalized into single space character. Test demonstrates that character data is valid element content. Test demonstrates that characters outside of normal ascii range can be used as element content. Test demonstrates that characters outside of normal ascii range can be used as element content. The document is encoded in UTF-16 and uses some name characters well outside of the normal ASCII range. The document is encoded in UTF-8 and the text inside the root element uses two non-ASCII characters, encoded in UTF-8 and each of which expands to a Unicode surrogate pair. Tests inclusion of a well-formed internal entity, which holds an element required by the content model. Test demonstrates that extra whitespace within Start-tags and End-tags are nomalized into single spaces. Test demonstrates that extra whitespace within a processing instruction willnormalized into s single space character. Test demonstrates an Attribute List declaration that uses a StringType as the AttType and also expands the CDATA attribute with a character reference. The test also shows that the leading zeros in the character reference are ignored. Test demonstrates an element content model whose element can occur zero or more times. Test demonstrates that extra whitespace be normalized into a single space character in an attribute of type NMTOKENS. Test demonstrates an Element Type Declaration that uses the contentspec of EMPTY. The element cannot have any contents and must always appear as an empty element in the document. The test also shows an Attribute-list declaration with multiple AttDef's. Test demonstrates the use of decimal Character References within element content. Test demonstrates the use of decimal Character References within element content. Test demonstrates the use of hexadecimal Character References within element. The document is encoded in UTF-8 and the name of the root element type uses non-ASCII characters. Tests in-line handling of two legal character references, which each expand to a Unicode surrogate pair. Tests ability to define an internal entity which can't legally be expanded (contains an unquoted <). Expands a CDATA attribute with a character reference. Test demonstrates the use of decimal character references within element content. Tests definition of an internal entity holding a carriage return character reference, which must not be normalized before reporting to the application. Line break normalization only occurs when parsing external parsed entities. Verifies that an XML parser will parse a NOTATION declaration; the output phase of this test ensures that it's reported to the application. Verifies that internal parameter entities are correctly expanded within the internal subset. Test demonstrates that an AttlistDecl can use ID as the TokenizedType within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl. Test demonstrates that an AttlistDecl can use IDREF as the TokenizedType within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl. Test demonstrates that an AttlistDecl can use IDREFS as the TokenizedType within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl. Test demonstrates that an AttlistDecl can use ENTITY as the TokenizedType within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl. Test demonstrates that an AttlistDecl can use ENTITIES as the TokenizedType within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl. Verifies that an XML parser will parse a NOTATION attribute; the output phase of this test ensures that both notations are reported to the application. Test demonstrates that an AttlistDecl can use an EnumeratedType within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl. Test demonstrates that an AttlistDecl can use an StringType of CDATA within the Attribute type. The test also shows that REQUIRED is a valid DefaultDecl. Test demonstrates that an AttlistDecl can use an StringType of CDATA within the Attribute type. The test also shows that FIXED is a valid DefaultDecl and that a value can be given to the attribute in the Start-tag as well as the AttListDecl. Test demonstrates that an AttlistDecl can use an StringType of CDATA within the Attribute type. The test also shows that FIXED is a valid DefaultDecl and that an value can be given to the attribute. Test demonstrates the use of the optional character following a name or list to govern the number of times an element or content particles in the list occur. Tests that an external PE may be defined (but not referenced). Tests that an external PE may be defined (but not referenced). Test demonstrates that although whitespace can be used to set apart markup for greater readability it is not necessary. Parameter and General entities use different namespaces, so there can be an entity of each type with a given name. Tests whether entities may be declared more than once, with the first declaration being the binding one. Tests whether character references in internal entities are expanded early enough, by relying on correct handling to make the entity be well formed. Tests whether entity references in internal entities are expanded late enough, by relying on correct handling to make the expanded text be valid. (If it's expanded too early, the entity will parse as an element that's not valid in that context.) Tests entity expansion of three legal character references, which each expand to a Unicode surrogate pair. Verifies that an XML parser will parse a NOTATION attribute; the output phase of this test ensures that the notation is reported to the application. Verifies that an XML parser will parse an ENTITY attribute; the output phase of this test ensures that the notation is reported to the application, and for validating parsers it further tests that the entity is so reported. Test demostrates that extra whitespace is normalized into a single space character. Test demonstrates that extra whitespace is not intended for inclusion in the delivered version of the document. Attribute defaults with a DTD have special parsing rules, different from other strings. That means that characters found there may look like an undefined parameter entity reference "within a markup declaration", but they aren't ... so they can't be violating the PEs in Internal Subset WFC. Basically an output test, this requires extra whitespace to be normalized into a single space character in an attribute of type NMTOKENS. Test demonstrates that extra whitespace is normalized into a single space character in an attribute of type NMTOKENS. Basically an output test, this tests whether an externally defined attribute declaration (with a default) takes proper precedence over a subsequent internal declaration. Test demonstrates that extra whitespace within a processing instruction is converted into a single space character. Test demonstrates the name of the encoding can be composed of lowercase characters. Makes sure that PUBLIC identifiers may have some strange characters. NOTE: The XML editors have said that the XML specification errata will specify that parameter entity expansion does not occur in PUBLIC identifiers, so that the '%' character will not flag a malformed parameter entity reference. This tests whether entity expansion is (incorrectly) done while processing entity declarations; if it is, the entity value literal will terminate prematurely. Test demonstrates that a CDATA attribute can pass a double quote as its value. Test demonstrates that an attribute can pass a less than sign as its value. Test demonstrates that extra whitespace within an Attribute of a Start-tag is normalized to a single space character. Basically an output test, this requires a CDATA attribute with a tab character to be passed through as one space. Basically an output test, this requires a CDATA attribute with a newline character to be passed through as one space. Basically an output test, this requires a CDATA attribute with a return character to be passed through as one space. This tests normalization of end-of-line characters (CRLF) within entities to LF, primarily as an output test. Test demonstrates that an attribute can have a null value. Basically an output test, this requires that a CDATA attribute with a CRLF be normalized to one space. Character references expanding to spaces doesn't affect treatment of attributes. Test demonstrates shows the use of content particles within the element content. Test demonstrates that it is not an error to have attributes declared for an element not itself declared. Test demonstrates that all text within a valid CDATA section is considered text and not recognized as markup. Test demonstrates that an entity reference is processed by recursively processing the replacement text of the entity. Test demonstrates that a line break within CDATA will be normalized. Test demonstrates that entity expansion is done while processing entity declarations. Test demonstrates that entity expansion is done while processing entity declarations. Comments may contain any legal XML characters; only the string "--" is disallowed. Test demonstrates the use of an ExternalID within a document type definition. Test demonstrates the use of an ExternalID within a document type definition. Test demonstrates the expansion of an external parameter entity that declares an attribute. Expands an external parameter entity in two different ways, with one of them declaring an attribute. Test demonstrates the expansion of an external parameter entity that declares an attribute. Test demonstrates that when more than one definition is provided for the same attribute of a given element type only the first declaration is binding. Test demonstrates the use of an Attribute list declaration within an external entity. Test demonstrates that an external identifier may include a public identifier. Test demonstrates that an external identifier may include a public identifier. Test demonstrates that when more that one definition is provided for the same attribute of a given element type only the first declaration is binding. Test demonstrates a parameter entity declaration whose parameter entity definition is an ExternalID. Test demonstrates an enternal parsed entity that begins with a text declaration. Test demonstrates the use of the conditional section INCLUDE that will include its contents as part of the DTD. Test demonstrates the use of the conditional section INCLUDE that will include its contents as part of the DTD. The keyword is a parameter-entity reference. Test demonstrates the use of the conditonal section IGNORE the will ignore its content from being part of the DTD. The keyword is a parameter-entity reference. Test demonstrates the use of the conditional section INCLUDE that will include its contents as part of the DTD. The keyword is a parameter-entity reference. Test demonstrates a parameter entity declaration that contains an attribute list declaration. Test demonstrates an EnternalID whose contents contain an parameter entity declaration and a attribute list definition. Test demonstrates that a parameter entity will be expanded with spaces on either side. Parameter entities expand with spaces on either side. Test demonstrates a parameter entity declaration that contains a partial attribute list declaration. Test demonstrates the use of a parameter entity reference within an attribute list declaration. Constructs an <!ATTLIST...> declaration from several PEs. Test demonstrates that when more that one definition is provided for the same entity only the first declaration is binding. Test demonstrates that when more that one definition is provided for the same attribute of a given element type only the first declaration is binding. Test demonstrates a parameter entity reference whose value is NULL. Test demonstrates the use of the conditional section INCLUDE that will include its contents. Test demonstrates the use of the conditonal section IGNORE the will ignore its content from being used. Test demonstrates the use of the conditonal section IGNORE the will ignore its content from being used. Expands a general entity which contains a CDATA section with what looks like a markup declaration (but is just text since it's in a CDATA section). A combination of carriage return line feed in an external entity must be normalized to a single newline. A carriage return (also CRLF) in an external entity must be normalized to a single newline. Test demonstrates that the content of an element can be empty. In this case the external entity is an empty file. A carriage return (also CRLF) in an external entity must be normalized to a single newline. Test demonstrates the use of optional character and content particles within an element content. The test also show the use of external entity. Test demonstrates the use of optional character and content particles within mixed element content. The test also shows the use of an external entity and that a carriage control line feed in an external entity must be normalized to a single newline. Test demonstrates the use of external entity and how replacement text is retrieved and processed. Test demonstrates the use of external entity and how replacement text is retrieved and processed. Also tests the use of an EncodingDecl of UTF-16. A carriage return (also CRLF) in an external entity must be normalized to a single newline. Test demonstrates the use of a public identifier with and external entity. The test also show that a carriage control line feed combination in an external entity must be normalized to a single newline. Test demonstrates both internal and external entities and that processing of entity references may be required to produce the correct replacement text. Test demonstrates that whitespace is handled by adding a single whitespace to the normalized value in the attribute list. Test demonstrates use of characters outside of normal ASCII range. Test support for the EUC-JP encoding, and for text which relies on Japanese characters. If a processor does not support this encoding, it must report a fatal error. (Also requires ability to process a moderately complex DTD.) Test support for the ISO-2022-JP encoding, and for text which relies on Japanese characters. If a processor does not support this encoding, it must report a fatal error. (Also requires ability to process a moderately complex DTD.) Test support for little-endian UTF-16 text which relies on Japanese characters. (Also requires ability to process a moderately complex DTD.) Test support for the Shift_JIS encoding, and for text which relies on Japanese characters. If a processor does not support this encoding, it must report a fatal error. (Also requires ability to process a moderately complex DTD.) Test support UTF-16 text which relies on Japanese characters. (Also requires ability to process a moderately complex DTD.) Test support for UTF-8 text which relies on Japanese characters. (Also requires ability to process a moderately complex DTD.) Test support for EUC-JP encoding, and XML names which contain Japanese characters. If a processor does not support this encoding, it must report a fatal error. Test support for ISO-2022-JP encoding, and XML names which contain Japanese characters. If a processor does not support this encoding, it must report a fatal error. Test support for little-endian UTF-16 encoding, and XML names which contain Japanese characters. Test support for Shift_JIS encoding, and XML names which contain Japanese characters. If a processor does not support this encoding, it must report a fatal error. Test support for UTF-16 encoding, and XML names which contain Japanese characters. Test support for UTF-8 encoding and XML names which contain Japanese characters. Parameter entities references are NOT RECOGNIZED in default attribute values. Tests parsing of alternative forms of text-only mixed content declaration. Comments don't get parameter entity expansion Tests clauses 1, 3, and 4 of the Element Valid validity constraint. Tests use of external parsed entities with and without content. Tests use of external parsed entities with different encodings than the base document. A non-standalone document is valid if declared as such. A non-standalone document is valid if declared as such. A non-standalone document is valid if declared as such. A non-standalone document is valid if declared as such. NOTATION declarations don't need SYSTEM IDs; and externally declared notations may be used to declare unparsed entities in the internal DTD subset. The notation must be reported to the application. Tests declarations of "children" content models, and the validity constraints associated with them. Tests the #REQUIRED attribute declaration syntax, and the associated validity constraint. A document may be marked 'standalone' if any optional whitespace is defined within the internal DTD subset. A document may be marked 'standalone' if any attributes that need normalization are defined within the internal DTD subset. A document may be marked 'standalone' if any the defined entities need expanding are internal, and no attributes need defaulting or normalization. On output, requires notations to be correctly reported. Like sa03 but relies on attribute defaulting defined in the internal subset. On output, requires notations to be correctly reported. Like sa01 but this document is standalone since it has no optional whitespace. On output, requires notations to be correctly reported. XML permits token reuse, while SGML does not. Tests a lowercase ISO language code. Tests a ISO language code with a subcode. Tests a IANA language code with a subcode. Tests a user language code with a subcode. Tests an uppercase ISO language code. Tests a user language code. Tests construction of internal entity replacement text, using an example in the XML specification. Tests construction of internal entity replacement text, using an example in the XML specification. Tests construction of internal entity replacement text, using a complex example in the XML specification. Tests the No Duplicate Types VC Tests the "Notation Declared" VC by using an undeclared notation name. Tests the "Element Valid" VC (clause 2) by omitting a required element. Tests the Element Valid VC (clause 4) by including an undeclared child element. Tests the Element Valid VC (clause 1) by including elements in an EMPTY content model. Tests the Element Valid VC (clause 3) by including a child element not permitted by a mixed content model. Tests the Unique Element Type Declaration VC. Tests the No Duplicate Types VC. Tests the Element Valid VC (clause 1), using one of the predefined internal entities inside an EMPTY content model. Tests the ID (is a Name) VC Tests the ID (appears once) VC Tests the One ID per Element Type VC Tests the ID Attribute Default VC Tests the ID Attribute Default VC Tests the IDREF (is a Name) VC Tests the IDREFS (is a Names) VC Tests the IDREF (matches an ID) VC Tests the IDREF (IDREFS matches an ID) VC Tests the Standalone Document Declaration VC, ensuring that optional whitespace causes a validity error. Tests the Standalone Document Declaration VC, ensuring that attributes needing normalization cause a validity error. Tests the Standalone Document Declaration VC, ensuring that attributes needing defaulting cause a validity error. Tests the Standalone Document Declaration VC, ensuring that a token attribute that needs normalization causes a validity error. Tests the Standalone Document Declaration VC, ensuring that a NOTATION attribute that needs normalization causes a validity error. Tests the Standalone Document Declaration VC, ensuring that an NMTOKEN attribute needing normalization causes a validity error. Tests the Standalone Document Declaration VC, ensuring that an NMTOKENS attribute needing normalization causes a validity error. Tests the Standalone Document Declaration VC, ensuring that an ID attribute needing normalization causes a validity error. Tests the Standalone Document Declaration VC, ensuring that an IDREF attribute needing normalization causes a validity error. Tests the Standalone Document Declaration VC, ensuring that an IDREFS attribute needing normalization causes a validity error. Tests the Standalone Document Declaration VC, ensuring that an ENTITY attribute needing normalization causes a validity error. Tests the Standalone Document Declaration VC, ensuring that an ENTITIES attribute needing normalization causes a validity error. CDATA sections containing only whitespace do not match the nonterminal S, and cannot appear in these positions. Tests the Element Valid VC (clause 2) for one instance of "children" content model, providing no children where one is required. Tests the Element Valid VC (clause 2) for one instance of "children" content model, providing two children where one is required. Tests the Element Valid VC (clause 2) for one instance of "children" content model, providing no children where two are required. Tests the Element Valid VC (clause 2) for one instance of "children" content model, providing three children where two are required. Tests the Element Valid VC (clause 2) for one instance of "children" content model, providing no children where one or two are required (one construction of that model). Tests the Element Valid VC (clause 2) for one instance of "children" content model, providing no children where one or two are required (a second construction of that model). Tests the Element Valid VC (clause 2) for one instance of "children" content model, providing no children where one or two are required (a third construction of that model). Tests the Element Valid VC (clause 2) for one instance of "children" content model, providing no children where one or two are required (a fourth construction of that model). Tests the Element Valid VC (clause 2) for one instance of "children" content model, providing no children where one or two are required (a fifth construction of that model). Tests the Element Valid VC (clause 2) for one instance of "children" content model, providing three children where one or two are required (a basic construction of that model). Tests the Element Valid VC (clause 2) for one instance of "children" content model, providing three children where one or two are required (a second construction of that model). Tests the Element Valid VC (clause 2) for one instance of "children" content model, providing three children where one or two are required (a third construction of that model). Tests the Element Valid VC (clause 2) for one instance of "children" content model, providing three children where one or two are required (a fourth construction of that model). Tests the Element Valid VC (clause 2) for one instance of "children" content model, providing three children where one or two are required (a fifth construction of that model). Tests the Element Valid VC (clause 2) for one instance of "children" content model, providing no children where one or more are required (a sixth construction of that model). Tests the Element Valid VC (clause 2) for one instance of "children" content model, providing no children where one or more are required (a seventh construction of that model). Tests the Element Valid VC (clause 2) for one instance of "children" content model, providing no children where one or more are required (an eigth construction of that model). Tests the Element Valid VC (clause 2) for one instance of "children" content model, providing no children where one or more are required (a ninth construction of that model). Tests the Element Valid VC (clause 2) for one instance of "children" content model, providing no children where one or more are required (a tenth construction of that model). Tests the Element Valid VC (clause 2) for one instance of "children" content model, providing text content where one or more elements are required. Tests the Required Attribute VC. Tests the Attribute Value Type (declared) VC for the xml:space attribute Tests the Attribute Value Type (declared) VC for the xml:lang attribute Tests the Root Element Type VC Tests the "Entity Name" VC for the ENTITY attribute type. Tests the "Entity Name" VC for the ENTITIES attribute type. Tests the "Notation Attributes" VC for the NOTATION attribute type, first clause: value must be one of the ones that's declared. Tests the "Notation Attributes" VC for the NOTATION attribute type, second clause: the names in the declaration must all be declared. Tests the "Name Token" VC for the NMTOKEN attribute type. Tests the "Name Token" VC for the NMTOKENS attribute type. Tests the "Enumeration" VC by providing a value which wasn't one of the choices. Tests the "Fixed Attribute Default" VC by providing the wrong value. Tests the "Attribute Default Legal" VC by providing an illegal IDREF value. Tests the "Attribute Default Legal" VC by providing an illegal IDREFS value. Tests the "Attribute Default Legal" VC by providing an illegal ENTITY value. Tests the "Attribute Default Legal" VC by providing an illegal ENTITIES value. Tests the "Attribute Default Legal" VC by providing an illegal NMTOKEN value. Tests the "Attribute Default Legal" VC by providing an illegal NMTOKENS value. Tests the "Attribute Default Legal" VC by providing an illegal NOTATIONS value. Tests the "Attribute Default Legal" VC by providing an illegal enumeration value. Tests reading an invalid "big endian" UTF-16 document Tests reading an invalid "little endian" UTF-16 document CDATA section containing only white space does not match the nonterminal S, and cannot appear in these positions. Tests the Entity Declared WFC, ensuring that a reference to externally defined entity causes a well-formedness error. SGML's NUTOKEN is not allowed. SGML's NUTOKENS attribute type is not allowed. Comma doesn't separate enumerations, unlike in SGML. SGML's NUMBER attribute type is not allowed. SGML's NUMBERS attribute type is not allowed. SGML's NAME attribute type is not allowed. SGML's NAMES attribute type is not allowed. SGML's #CURRENT is not allowed. SGML's #CONREF is not allowed. Whitespace required between attributes Whitespace required between attributes Only INCLUDE and IGNORE are conditional section keywords Must have keyword in conditional sections No whitespace before "?" in content model No whitespace before "*" in content model No whitespace before "+" in content model External entities may not have standalone decls. Comma mandatory in content model Can't mix comma and vertical bar in content models PE name immediately after "%" PE name immediately followed by ";" PUBLIC literal must be quoted SYSTEM identifier must be quoted Text declarations (which optionally begin any external entity) are required to have "encoding=...". EOF in middle of incomplete ETAG EOF in middle of incomplete ETAG Illegal markup (<%@ ... %>) Illegal markup (<% ... %>) Illegal markup (<!ELEMENT ... >) Illegal character " " in encoding name Illegal character "/" in encoding name Illegal character reference in encoding name Illegal character ":" in encoding name Illegal character "@" in encoding name Illegal character "+" in encoding name Text declarations (which optionally begin any external entity) are required to have "encoding=...". No space between PI target name and data Illegal entity ref in public ID Illegal characters in public ID Illegal characters in public ID Illegal characters in public ID SGML-ism: public ID without system ID SGML-ism: omitted end tag for EMPTY content XML declaration must be at the very beginning of a document; it"s not a processing instruction Comments may not contain "--" ATTLIST declarations apply to only one element, unlike SGML ELEMENT declarations apply to only one element, unlike SGML ATTLIST declarations are never global, unlike in SGML SGML Tag minimization specifications are not allowed SGML Tag minimization specifications are not allowed SGML Content model exception specifications are not allowed SGML Content model exception specifications are not allowed CDATA is not a valid content model spec RCDATA is not a valid content model spec SGML Unordered content models not allowed SYSTEM ids may not have URI fragments various Misc items where they can occur various satisfactions of the Names production in a NAMES attribute various valid Nmtoken 's in an attribute list declaration. various satisfaction of an NMTOKENS attribute value. valid EntityValue's. Except for entity references, markup is not recognized. valid public IDs. XML decl and doctypedecl just doctypedecl S between decls is not required Empty-element tag must be used for element which are declared EMPTY. Valid doctypedecl with Parameter entity reference. The declaration of a parameter entity must precede any reference to it. Valid doctypedecl with ExternalID as an External Entity declaration. Valid doctypedecl with ExternalID as an External Entity. A parameter entity reference is also used. Valid types of markupdecl. Valid doctypedecl with ExternalID as an External Entity. The external entity has an element declaration. Valid doctypedecl with ExternalID as an Enternal Entity. The external entity begins with a Text Declaration. external subset can be empty Valid doctypedecl with EXternalID as Enternal Entity. The external entity contains a parameter entity reference and condtional sections. Valid use of character data, comments, processing instructions and CDATA sections within the start and end tag. valid element declarations Valid use of contentspec, element content models, and mixed content within an element type declaration. Valid use of contentspec, element content models, choices, sequences and content particles within an element type declaration. The optional character following a name or list governs the number of times the element or content particle may appear. Valid use of contentspec, element content models, choices, sequences and content particles within an element type declaration. The optional character following a name or list governs the number of times the element or content particle may appear. Valid use of contentspec, element content models, choices, and content particles within an element type declaration. The optional character following a name or list governs the number of times the element or content particle may appear. Whitespace is also valid between choices. Valid use of contentspec, element content models, sequences and content particles within an element type declaration. The optional character following a name or list governs the number of times the element or content particle may appear. Whitespace is also valid between sequences. valid Mixed contentspec's. valid AttlistDecls: No AttDef's are required, and the terminating S is optional, multiple ATTLISTS per element are OK, and multiple declarations of the same attribute are OK. a valid AttDef the three kinds of attribute types StringType = "CDATA" the 7 tokenized attribute types enumerated types are NMTOKEN or NOTATION lists NOTATION enumeration has on or more items NMTOKEN enumerations haveon or more items the four types of default values valid conditional sections are INCLUDE and IGNORE valid INCLUDE sections -- options S before and after keyword, sections can nest valid IGNORE sections IGNOREd sections ignore everything except section delimiters Valid entity references. Also ensures that a charref to '&' isn't interpreted as an entity reference open delimiter Valid PEReferences. An EntityDecl is either a GEDecl or a PEDecl Valid GEDecls Valid PEDecls EntityDef is either Entity value or an external id, with an optional NDataDecl valid NDataDecls no prolog Misc items after the document all valid S characters names with all valid ASCII characters, and one from each other class in NameChar various valid Name constructions Requires at least one name. at least one Nmtoken is required. an invalid Nmtoken character. valid attribute values valid CharData valid comments Valid form of Processing Instruction. Shows that whitespace character data is valid before end of processing instruction. Valid form of Processing Instruction. Shows that whitespace character data is valid before end of processing instruction. Valid form of Processing Instruction. Shows that whitespace character data is valid before end of processing instruction. valid CDSect's. Note that a CDStart in a CDSect is not recognized as such prolog can be empty XML declaration only XML decl and Misc Test shows a valid XML declaration along with version info. Test shows a valid XML declaration along with encoding declaration. Test shows a valid XML declaration along with Standalone Document Declaration. Test shows a valid XML declaration, encoding declarationand Standalone Document Declaration. Test shows a prolog that has the VersionInfo delimited by double quotes. Test shows a prolog that has the VersionInfo delimited by single quotes. Test shows whitespace is allowed in prolog before version info. Test shows whitespace is allowed in prolog on both sides of equal sign. Test shows whitespace is NOT necessary before or after equal sign of versioninfo. Test shows whitespace can be used on both sides of equal sign of versioninfo. The valid version number. We cannot test others because a 1.0 processor is allowed to fail them. Comments are valid as the Misc part of the prolog. Processing Instructions are valid as the Misc part of the prolog. Whitespace is valid as the Misc part of the prolog. A combination of comments, whitespaces and processing instructions are valid as the Misc part of the prolog. Double quotes can be used as delimeters for the value of a Standalone Document Declaration. Single quotes can be used as delimeters for the value of a Standalone Document Declaration. Empty element tag may be used for any element which has no content. Character data is valid element content. Elements content can be empty. Whitespace is valid within a Start-tag. Attributes are valid within a Start-tag. Whitespace and Multiple Attributes are valid within a Start-tag. Attributes are valid within a Start-tag. Whitespace is valid within a Start-tags Attribute. Test shows proper syntax for an End-tag. Whitespace is valid after name in End-tag. Valid display of an Empty Element Tag. Empty Element Tags can contain an Attribute. Whitespace is valid in an Empty Element Tag following the end of the attribute value. Whitespace is valid after the name in an Empty Element Tag. Whitespace and Multiple Attributes are valid in an Empty Element Tag. valid character references PEDef is either an entity value or an external id valid external identifiers Validity Constraint: No duplicate tokens S cannot occur before the prolog comments cannot occur before the prolog only one document element document element must be complete. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Use of illegal character within XML document. Name contains invalid character. Name contains invalid character. Name contains invalid character. a Name cannot start with a digit a Name cannot start with a '.' a Name cannot start with a "-" a Name cannot start with a CombiningChar a Name cannot start with an Extender EntityValue excludes '%' EntityValue excludes '&' incomplete character reference quote types must match quote types must match attribute values exclude '<' attribute values exclude '&' quote types must match quote types must match cannot contain delimiting quotes '"' excluded '\' excluded entity references excluded '>' excluded '<' excluded built-in entity refs excluded The public ID has a tab character, which is disallowed '<' excluded '&' excluded "]]>" excluded comments can't end in '-' one comment per comment (contrasted with SGML) can't include 2 or more adjacent '-'s "xml" is an invalid PITarget a PITarget must be present S after PITarget is required no space before "CDATA" no space after "CDATA" CDSect's can't nest prolog must start with XML decl prolog must start with XML decl "xml" must be lower-case VersionInfo must be supplied VersionInfo must come first SDDecl must come last no SGML-type PIs quote types must match quote types must match Comment is illegal in VersionInfo. Illegal character in VersionNum. Illegal character in VersionNum. References aren't allowed in Misc, even if they would resolve to valid Misc. only declarations in DTD. A processor must not pass unknown declaration types. An XML declaration is not the same as a TextDecl external subset excludes doctypedecl quote types must match quote types must match initial S is required quotes are required yes or no must be lower case start-tag requires end-tag end-tag requires start-tag XML documents contain one or more elements XML declarations must be correctly terminated XML declarations must be correctly terminated S is required between attributes tags start with names, not nmtokens tags start with names, not nmtokens no space before name quotes are required (contrast with SGML) attribute name is required (contrast with SGML) Eq required no space before name cannot end with "/>" no NET (contrast with SGML) no non-comment declarations no conditional sections no conditional sections Illegal space before Empty element tag. Illegal space after Empty element tag. Illegal comment in Empty element tag. Whitespace required between attributes. Duplicate attribute name is illegal. ELEMENT must be upper case. S before contentspec is required. only one content spec no comments in declarations (contrast with SGML) no parens on declared content no inclusions (contrast with SGML) no exclusions (contrast with SGML) no space before occurrence single group can't be both declared and modeled Invalid operator '|' must match previous operator ',' Illegal character '-' in Element-content model Optional character must follow a name or list Illegal space before optional character Illegal space before optional character Illegal space before optional character connectors must match connectors must match occurrence on #PCDATA group must be * occurrence on #PCDATA group must be * #PCDATA must come first occurrence on #PCDATA group must be * only '|' connectors Only '|' connectors and occurrence on #PCDATA group must be * no nested groups A name is required A name is required S is required before default S is required before type type is required default is required name is requried don't pass unknown attribute types must be upper case no IDS type no NUMBER type no NAME type no ENTITYS type - types must be upper case types must be upper case no keyword for NMTOKEN enumeration at least one value required separator must be '|' notations are NAMEs, not NMTOKENs -- note: Leaving the invalid notation undeclared would cause a validating parser to fail without checking the name syntax, so the notation is declared with an invalid name. A parser that reports error positions should report an error at the AttlistDecl on line 6, before reaching the notation declaration. NOTATION must be upper case S after keyword is required parentheses are require values are unquoted values are unquoted at least one required separator must be "," values are unquoted keywords must be upper case S is required after #FIXED only #FIXED has both keyword and value #FIXED required value only one default type no other types, including TEMP, which is valid in SGML INCLUDE must be upper case no spaces in terminating delimiter IGNORE must be upper case delimiters must be balanced section delimiters must balance section delimiters must balance terminating ';' is required no S after '&#' no hex digits in numeric reference only hex digits in hex references no references to non-characters no references to non-characters terminating ';' is required no S after '&' no S before ';' terminating ';' is required no S after '%' no S before ';' This is neither S is required before EntityDef Entity name is a Name, not an NMToken no S after "<!" S is required after "<!ENTITY" S is required after "<!ENTITY" S is required after '%' S is required after name Entity name is a name, not an NMToken No typed replacement text Only one replacement value No NDataDecl on replacement text Value is required No NDataDecl without value no NDataDecls on parameter entities value is required only one value S required after "PUBLIC" S required after "SYSTEM" S required between literals "SYSTEM" implies only one literal only one keyword "PUBLIC" requires two literals (contrast with SGML) S is required before "NDATA" "NDATA" is upper-case notation name is required notation names are Names system literals may not contain URI fragments The test violates VC:Root Element Type in P28. The Name in the document type declaration does not match the element type of the root element. This test violates VC: Standalone Document Declaration in P32. The standalone document declaration has the value yes, BUT there is an external markup declaration of attributes with default values, and the associated element appears in the document with specified values for those attributes. This test violates VC: Standalone Document Declaration in P32. The standalone document declaration has the value yes, BUT there is an external markup declaration of attributes with values that will change if normalized. This test violates VC: Standalone Document Declaration in P32. The standalone document declaration has the value yes, BUT there is an external markup declaration of element with element content, and white space occurs directly within the mixed content. This test violates VC: Element Valid in P39. Element a is declared empty in DTD, but has content in the document. This test violates VC: Element Valid in P39. root is declared only having element children in DTD, but have text content in the document. This test violates VC: Element Valid in P39. Illegal elements are inserted in b's content of Mixed type. This test violates VC: Element Valid in P39. Element c has undeclared element as its content of ANY type This test violates VC: Attribute Value Type in P41. attr1 for Element b is not declared. This test violates VC: Attribute Value Type in P41. attr3 for Element b is given a value that does not match the declaration in the DTD. This test violates VC: Unique Element Type Declaration. Element not_unique has been declared 3 time in the DTD. Violates VC:Proper Group/PE Nesting in P49. Open and close parenthesis for a choice content model are in different PE replace Texts. Violates VC:Proper Group/PE Nesting in P50. Open and close parenthesis for a seq content model are in different PE replace Texts. Violates VC:Proper Group/PE Nesting in P51. Open and close parenthesis for a Mixed content model are in different PE replace Texts. Violates VC:No Duplicate Types in P51. Element a appears twice in the Mixed content model of Element e. Tests invalid TokenizedType which is against P56 VC: ID. The value of the ID attribute "UniqueName" is "@999" which does not meet the Name production. Tests invalid TokenizedType which is against P56 VC: ID. The two ID attributes "attr" and "UniqueName" have the same value "Ac999" for the element "b" and the element "tokenizer". Tests invalid TokenizedType which is against P56 VC: ID Attribute Default. The "#FIXED" occurs in the DefaultDecl for the ID attribute "UniqueName". Tests invalid TokenizedType which is against P56 VC: ID Attribute Default. The constant string "BOGUS" occurs in the DefaultDecl for the ID attribute "UniqueName". Tests invalid TokenizedType which is against P56 VC: One ID per Element Type. The element "a" has two ID attributes "first" and "second". Tests invalid TokenizedType which is against P56 VC: IDREF. The value of the IDREF attribute "reference" is "@456" which does not meet the Name production. Tests invalid TokenizedType which is against P56 VC: IDREF. The value of the IDREF attribute "reference" is "BC456" which does not match the value assigned to any ID attributes. Tests invalid TokenizedType which is against P56 VC: IDREFS. The value of the IDREFS attribute "reference" is "AC456 #567" which does not meet the Names production. Tests invalid TokenizedType which is against P56 VC: IDREFS. The value of the IDREFS attribute "reference" is "EF456 DE355" which does not match the values assigned to two ID attributes. Tests invalid TokenizedType which is against P56 VC: Entity Name. The value of the ENTITY attribute "sun" is "ima ge" which does not meet the Name production. Tests invalid TokenizedType which is against P56 VC: Entity Name. The value of the ENTITY attribute "sun" is "notimage" which does not match the name of any unparsed entity declared. Tests invalid TokenizedType which is against P56 VC: Entity Name. The value of the ENTITY attribute "sun" is "parsedentity" which matches the name of a parsed entity instead of an unparsed entity declared. Tests invalid TokenizedType which is against P56 VC: Entity Name. The value of the ENTITIES attribute "sun" is "#image1 @image" which does not meet the Names production. Tests invalid TokenizedType which is against P56 VC: ENTITIES. The value of the ENTITIES attribute "sun" is "image3 image4" which does not match the names of two unparsed entities declared. Tests invalid TokenizedType which is against P56 VC: ENTITIES. The value of the ENTITIES attribute "sun" is "parsedentity1 parsedentity2" which matches the names of two parsed entities instead of two unparsed entities declared. Tests invalid TokenizedType which is against P56 VC: Name Token. The value of the NMTOKEN attribute "thistoken" is "x : image" which does not meet the Nmtoken production. Tests invalid TokenizedType which is against P56 VC: Name Token. The value of the NMTOKENS attribute "thistoken" is "@lang y: #country" which does not meet the Nmtokens production. Tests invalid NotationType which is against P58 VC: Notation Attributes. The attribute "content-encoding" with value "raw" is not a value from the list "(base64|uuencode)". Tests invalid NotationType which is against P58 VC: Notation Attributes. The attribute "content-encoding" with value "raw" is a value from the list "(base64|uuencode|raw|ascii)", but "raw" is not a declared notation. Tests invalid Enumeration which is against P59 VC: Enumeration. The value of the attribute is "ONE" which matches neither "one" nor "two" as declared in the Enumeration in the AttDef in the AttlistDecl. Tests invalid DefaultDecl which is against P60 VC: Required Attribute. The attribute "chapter" for the element "two" is declared as #REQUIRED in the DefaultDecl in the AttlistDecl, but the value of this attribute is not given. Tests invalid DefaultDecl which is against P60 VC: Fixed Attribute Default.. The attribute "chapter" for the element "one" is declared as #FIXED with the given value "Introduction" in the DefaultDecl in the AttlistDecl, but the value of a instance of this attribute is assigned to "JavaBeans". Tests invalid DefaultDecl which is against P60 VC: Attribute Default Legal. The declared default value "c" is not legal for the type (a|b) in the AttDef in the AttlistDecl. Tests invalid DefaultDecl which is against P60 VC: Attribute Default Legal. The declared default value "@#$" is not legal for the type NMTOKEN the AttDef in the AttlistDecl. Tests invalid EntityRef which is against P68 VC: Entity Declared. The GE with the name "ge2" is referred in the file ibm68i01.dtd", but not declared. Tests invalid EntityRef which is against P68 VC: Entity Declared. The GE with the name "ge1" is referred before declared in the file ibm68i01.dtd". Tests invalid EntityRef which is against P68 VC: Entity Declared. The GE with the name "ge2" is referred in the file ibm68i03.ent", but not declared. Tests invalid EntityRef which is against P68 VC: Entity Declared. The GE with the name "ge1" is referred before declared in the file ibm68i04.ent". Tests invalid PEReference which is against P69 VC: Entity Declared. The Name "pe2" in the PEReference in the file ibm69i01.dtd does not match the Name of any declared PE. Tests invalid PEReference which is against P69 VC: Entity Declared. The PE with the name "pe1" is referred before declared in the file ibm69i02.dtd Tests invalid PEReference which is against P69 VC: Entity Declared. The Name "pe3" in the PEReference in the file ibm69i03.ent does not match the Name of any declared PE. Tests invalid PEReference which is against P69 VC: Entity Declared. The PE with the name "pe2" is referred before declared in the file ibm69i04.ent. Tests invalid NDataDecl which is against P76 VC: Notation declared. The Name "JPGformat" in the NDataDecl in the EntityDecl for "ge2" does not match the Name of any declared notation. Tests a document with no element. A well-formed document should have at lease one elements. Tests a document with wrong ordering of its prolog and element. The element occurs before the xml declaration and the DTD. Tests a document with wrong combination of misc and element. One PI occurs between two elements. Tests a comment which contains an illegal Char: #x00 Tests a comment which contains an illegal Char: #x01 Tests a comment which contains an illegal Char: #x02 Tests a comment which contains an illegal Char: #x03 Tests a comment which contains an illegal Char: #x04 Tests a comment which contains an illegal Char: #x05 Tests a comment which contains an illegal Char: #x06 Tests a comment which contains an illegal Char: #x07 Tests a comment which contains an illegal Char: #x08 Tests a comment which contains an illegal Char: #x0B Tests a comment which contains an illegal Char: #x0C Tests a comment which contains an illegal Char: #x0E Tests a comment which contains an illegal Char: #x0F Tests a comment which contains an illegal Char: #x10 Tests a comment which contains an illegal Char: #x11 Tests a comment which contains an illegal Char: #x12 Tests a comment which contains an illegal Char: #x13 Tests a comment which contains an illegal Char: #x14 Tests a comment which contains an illegal Char: #x15 Tests a comment which contains an illegal Char: #x16 Tests a comment which contains an illegal Char: #x17 Tests a comment which contains an illegal Char: #x18 Tests a comment which contains an illegal Char: #x19 Tests a comment which contains an illegal Char: #x1A Tests a comment which contains an illegal Char: #x1B Tests a comment which contains an illegal Char: #x1C Tests a comment which contains an illegal Char: #x1D Tests a comment which contains an illegal Char: #x1E Tests a comment which contains an illegal Char: #x1F Tests a comment which contains an illegal Char: #xD800 Tests a comment which contains an illegal Char: #xDFFF Tests a comment which contains an illegal Char: #xFFFE Tests a comment which contains an illegal Char: #xFFFF Tests an end tag which contains an illegal space character #x3000 which follows the element name "book". Tests an element name which contains an illegal ASCII NameChar. "IllegalNameChar" is followed by #x21 Tests an element name which contains an illegal ASCII NameChar. "IllegalNameChar" is followed by #x28 Tests an element name which contains an illegal ASCII NameChar. "IllegalNameChar" is followed by #x29 Tests an element name which contains an illegal ASCII NameChar. "IllegalNameChar" is followed by #x2B Tests an element name which contains an illegal ASCII NameChar. "IllegalNameChar" is followed by #x2C Tests an element name which contains an illegal ASCII NameChar. "IllegalNameChar" is followed by #x2F Tests an element name which contains an illegal ASCII NameChar. "IllegalNameChar" is followed by #x3B Tests an element name which contains an illegal ASCII NameChar. "IllegalNameChar" is followed by #x3C Tests an element name which contains an illegal ASCII NameChar. "IllegalNameChar" is followed by #x3D Tests an element name which contains an illegal ASCII NameChar. "IllegalNameChar" is followed by #x3F Tests an element name which contains an illegal ASCII NameChar. "IllegalNameChar" is followed by #x5B Tests an element name which contains an illegal ASCII NameChar. "IllegalNameChar" is followed by #x5C Tests an element name which contains an illegal ASCII NameChar. "IllegalNameChar" is followed by #x5D Tests an element name which contains an illegal ASCII NameChar. "IllegalNameChar" is followed by #x5E Tests an element name which contains an illegal ASCII NameChar. "IllegalNameChar" is followed by #x60 Tests an element name which contains an illegal ASCII NameChar. "IllegalNameChar" is followed by #x7B Tests an element name which contains an illegal ASCII NameChar. "IllegalNameChar" is followed by #x7C Tests an element name which contains an illegal ASCII NameChar. "IllegalNameChar" is followed by #x7D Tests an element name which has an illegal first character. An illegal first character "." is followed by "A_name-starts_with.". Tests an element name which has an illegal first character. An illegal first character "-" is followed by "A_name-starts_with-". Tests an element name which has an illegal first character. An illegal first character "5" is followed by "A_name-starts_with_digit". Tests an internal general entity with an invalid value. The entity "Fullname" contains "%". Tests an internal general entity with an invalid value. The entity "Fullname" contains the ampersand character. Tests an internal general entity with an invalid value. The entity "Fullname" contains the double quote character in the middle. Tests an internal general entity with an invalid value. The closing bracket (double quote) is missing with the value of the entity "FullName". Tests an attribute with an invalid value. The value of the attribute "first" contains the character "less than". Tests an attribute with an invalid value. The value of the attribute "first" contains the character ampersand. Tests an attribute with an invalid value. The value of the attribute "first" contains the double quote character in the middle. Tests an attribute with an invalid value. The closing bracket (double quote) is missing with The value of the attribute "first". Tests an attribute with an invalid value. The value of the attribute "first" contains the character "less than". Tests an attribute with an invalid value. The value of the attribute "first" contains the character ampersand. Tests an attribute with an invalid value. The value of the attribute "first" contains the double quote character in the middle. Tests an attribute with an invalid value. The closing bracket (single quote) is missing with the value of the attribute "first". Tests SystemLiteral. The systemLiteral for the element "student" has a double quote character in the middle. Tests SystemLiteral. The systemLiteral for the element "student" has a single quote character in the middle. Tests SystemLiteral. The closing bracket (double quote) is missing with the systemLiteral for the element "student". Tests SystemLiteral. The closing bracket (single quote) is missing with the systemLiteral for the element "student". Tests PubidLiteral. The closing bracket (double quote) is missing with the value of the PubidLiteral for the entity "info". Tests PubidLiteral. The value of the PubidLiteral for the entity "info" has a single quote character in the middle.. Tests PubidLiteral. The closing bracket (single quote) is missing with the value of the PubidLiteral for the entity "info". Tests PubidChar. The pubidChar of the PubidLiteral for the entity "info" contains the character "{". Tests PubidChar. The pubidChar of the PubidLiteral for the entity "info" contains the character "~". Tests PubidChar. The pubidChar of the PubidLiteral for the entity "info" contains the character double quote in the middle. Tests CharData. The content of the element "student" contains the sequence close-bracket close-bracket greater-than. Tests CharData. The content of the element "student" contains the character "less than". Tests CharData. The content of the element "student" contains the character ampersand. Tests comment. The text of the second comment contains the character "-". Tests comment. The second comment has a wrong closing sequence "-(greater than)". Tests comment. The second comment has a wrong beginning sequence "(less than)!-". Tests comment. The closing sequence is missing with the second comment. Tests PI. The content of the PI includes the sequence "?(greater than)?". Tests PI. The PITarget is missing in the PI. Tests PI. The PI has a wrong closing sequence ">". Tests PI. The closing sequence is missing in the PI. Tests PITarget. The PITarget contains the string "XML". Tests PITarget. The PITarget contains the string "xML". Tests PITarget. The PITarget contains the string "xml". Tests PITarget. The PITarget contains the string "xmL". Tests CDSect. The CDStart is missing in the CDSect in the content of element "student". Tests CDSect. The CDEnd is missing in the CDSect in the content of element "student". Tests CDStart. The CDStart contains a lower case string "cdata". Tests CDStart. The CDStart contains an extra character "[". Tests CDStart. The CDStart contains a wrong character "?". Tests CDATA with an illegal sequence. The CDATA contains the sequence close-bracket close-bracket greater-than. Tests CDEnd. One "]" is missing in the CDEnd. Tests CDEnd. An extra "]" is placed in the CDEnd. Tests CDEnd. A wrong character ")" is placed in the CDEnd. Tests prolog with wrong field ordering. The XMLDecl occurs after the DTD. Tests prolog with wrong field ordering. The Misc (comment) occurs before the XMLDecl. Tests prolog with wrong field ordering. The XMLDecl occurs after the DTD and a comment. The other comment occurs before the DTD. Tests XMLDecl with a required field missing. The Versioninfo is missing in the XMLDecl. Tests XMLDecl with wrong field ordering. The VersionInfo occurs after the EncodingDecl. Tests XMLDecl with wrong field ordering. The VersionInfo occurs after the SDDecl and the SDDecl occurs after the VersionInfo. Tests XMLDecl with wrong key word. An upper case string "XML" is used as the key word in the XMLDecl. Tests XMLDecl with a wrong closing sequence ">". Tests XMLDecl with a wrong opening sequence "(less than)!". Tests VersionInfo with a required field missing. The VersionNum is missing in the VersionInfo in the XMLDecl. Tests VersionInfo with a required field missing. The white space is missing between the key word "xml" and the VersionInfo in the XMLDecl. Tests VersionInfo with a required field missing. The "=" (equal sign) is missing between the key word "version" and the VersionNum. Tests VersionInfo with wrong field ordering. The VersionNum occurs before "=" and "version". Tests VersionInfo with wrong field ordering. The "=" occurs after "version" and the VersionNum. Tests VersionInfo with the wrong key word "Version". Tests VersionInfo with the wrong key word "versioN". Tests VersionInfo with mismatched quotes around the VersionNum. version = '1.0" is used as the VersionInfo. Tests VersionInfo with mismatched quotes around the VersionNum. The closing bracket for the VersionNum is missing. Tests eq with a wrong key word "==". Tests eq with a wrong key word "eq". Tests VersionNum with an illegal character "#". Tests type of Misc. An element declaration is used as a type of Misc After the element "animal". Tests doctypedecl with a required field missing. The Name "animal" is missing in the doctypedecl. Tests doctypedecl with wrong field ordering. The Name "animal" occurs after the markup declarations inside the "[]". Tests doctypedecl with wrong field ordering. The Name "animal" occurs after the markup declarations inside the "[]". Tests doctypedecl with general entity reference.The "(ampersand)generalE" occurs in the DTD. Tests doctypedecl with wrong key word. A wrong key word "DOCtYPE" occurs on line 2. Tests doctypedecl with mismatched brackets. The closing bracket "]" of the DTD is missing. Tests doctypedecl with wrong bracket. The opening bracket "{" occurs in the DTD. Tests doctypedecl with wrong opening sequence. The opening sequence "(less than)?DOCTYPE" occurs in the DTD. This test violates WFC:PE Between Declarations in Production 28a. The last character of a markup declaration is not contained in the same parameter-entity text replacement. Tests markupdecl with an illegal markup declaration. A XMLDecl occurs inside the DTD. Tests WFC "PEs in Internal Subset". A PE reference occurs inside an elementdecl in the DTD. Tests WFC "PEs in Internal Subset". A PE reference occurs inside an ATTlistDecl in the DTD. Tests WFC "PEs in Internal Subset". A PE reference occurs inside an EntityDecl in the DTD. Tests WFC "PEs in Internal Subset". A PE reference occurs inside a PI in the DTD. Tests WFC "PEs in Internal Subset". A PE reference occurs inside a comment in the DTD. Tests WFC "PEs in Internal Subset". A PE reference occurs inside a NotationDecl in the DTD. Tests extSubset with wrong field ordering. In the file "ibm30n01.dtd", the TextDecl occurs after the extSubsetDecl (the element declaration). Tests extSubsetDecl with an illegal field. A general entity reference occurs in file "ibm31n01.dtd". Tests SDDecl with a required field missing. The leading white space is missing with the SDDecl in the XMLDecl. Tests SDDecl with a required field missing. The "=" sign is missing in the SDDecl in the XMLDecl. Tests SDDecl with wrong key word. The word "Standalone" occurs in the SDDecl in the XMLDecl. Tests SDDecl with wrong key word. The word "Yes" occurs in the SDDecl in the XMLDecl. Tests SDDecl with wrong key word. The word "YES" occurs in the SDDecl in the XMLDecl. Tests SDDecl with wrong key word. The word "No" occurs in the SDDecl in the XMLDecl. Tests SDDecl with wrong key word. The word "NO" occurs in the SDDecl in the XMLDecl. Tests SDDecl with wrong field ordering. The "=" sign occurs after the key word "yes" in the SDDecl in the XMLDecl. This is test violates WFC: Entity Declared in P68. The standalone document declaration has the value yes, BUT there is an external markup declaration of an entity (other than amp, lt, gt, apos, quot), and references to this entity appear in the document. Tests element with a required field missing. The ETag is missing for the element "root". Tests element with a required field missing. The STag is missing for the element "root". Tests element with required fields missing. Both the content and the ETag are missing in the element "root". Tests element with required fields missing. Both the content and the STag are missing in the element "root". Tests element with wrong field ordering. The STag and the ETag are swapped in the element "root". Tests element with wrong field ordering. The content occurs after the ETag of the element "root". Tests STag with a required field missing. The Name "root" is in the STag of the element "root". Tests STag with a required field missing. The white space between the Name "root" and the attribute "attr1" is missing in the STag of the element "root". Tests STag with wrong field ordering. The Name "root" occurs after the attribute "attr1" in the STag of the element "root". Tests STag with a wrong opening sequence. The string "(less than)!" is used as the opening sequence for the STag of the element "root". Tests STag with duplicate attribute names. The attribute name "attr1" occurs twice in the STag of the element "root". Tests Attribute with a required field missing. The attribute name is missing in the Attribute in the STag of the element "root". Tests Attribute with a required field missing. The "=" is missing between the attribute name and the attribute value in the Attribute in the STag of the element "root". Tests Attribute with a required field missing. The AttValue is missing in the Attribute in the STag of the element "root". Tests Attribute with a required field missing. The Name and the "=" are missing in the Attribute in the STag of the element "root". Tests Attribute with a required field missing. The "=" and the AttValue are missing in the Attribute in the STag of the element "root". Tests Attribute with a required field missing. The Name and the AttValue are missing in the Attribute in the STag of the element "root". Tests Attribute with wrong field ordering. The "=" occurs after the Name and the AttValue in the Attribute in the STag of the element "root". Tests Attribute with wrong field ordering. The Name and the AttValue are swapped in the Attribute in the STag of the element "root". Tests Attribute with wrong field ordering. The "=" occurs before the Name and the AttValue in the Attribute in the STag of the element "root". Tests Attribute against WFC "no external entity references". A direct reference to the external entity "aExternal" is contained in the value of the attribute "attr1". Tests Attribute against WFC "no external entity references". A indirect reference to the external entity "aExternal" is contained in the value of the attribute "attr1". Tests Attribute against WFC "no external entity references". A direct reference to the external unparsed entity "aImage" is contained in the value of the attribute "attr1". Tests Attribute against WFC "No (less than) character in Attribute Values". The character "less than" is contained in the value of the attribute "attr1". Tests Attribute against WFC "No (less than) in Attribute Values". The character "less than" is contained in the value of the attribute "attr1" through indirect internal entity reference. Tests ETag with a required field missing. The Name is missing in the ETag of the element "root". Tests ETag with a wrong beginning sequence. The string "(less than)\" is used as a beginning sequence of the ETag of the element "root". Tests ETag with a wrong beginning sequence. The string "less than" is used as a beginning sequence of the ETag of the element "root". Tests ETag with a wrong structure. An white space occurs between The beginning sequence and the Name of the ETag of the element "root". Tests ETag with a wrong structure. The ETag of the element "root" contains an Attribute (attr1="any"). Tests element content with a wrong option. A NotationDecl is used as the content of the element "root". Tests element content with a wrong option. An elementdecl is used as the content of the element "root". Tests element content with a wrong option. An entitydecl is used as the content of the element "root". Tests element content with a wrong option. An AttlistDecl is used as the content of the element "root". Tests EmptyElemTag with a required field missing. The Name "root" is missing in the EmptyElemTag. Tests EmptyElemTag with wrong field ordering. The Attribute (attri1 = "any") occurs before the name of the element "root" in the EmptyElemTag. Tests EmptyElemTag with wrong closing sequence. The string "\>" is used as the closing sequence in the EmptyElemtag of the element "root". Tests EmptyElemTag which against the WFC "Unique Att Spec". The attribute name "attr1" occurs twice in the EmptyElemTag of the element "root". Tests elementdecl with a required field missing. The Name is missing in the second elementdecl in the DTD. Tests elementdecl with a required field missing. The white space is missing between "aEle" and "(#PCDATA)" in the second elementdecl in the DTD. Tests elementdecl with a required field missing. The contentspec is missing in the second elementdecl in the DTD. Tests elementdecl with a required field missing. The contentspec and the white space is missing in the second elementdecl in the DTD. Tests elementdecl with a required field missing. The Name, the white space, and the contentspec are missing in the second elementdecl in the DTD. Tests elementdecl with wrong field ordering. The Name occurs after the contentspec in the second elementdecl in the DTD. Tests elementdecl with wrong beginning sequence. The string "(less than)ELEMENT" is used as the beginning sequence in the second elementdecl in the DTD. Tests elementdecl with wrong key word. The string "Element" is used as the key word in the second elementdecl in the DTD. Tests elementdecl with wrong key word. The string "element" is used as the key word in the second elementdecl in the DTD. Tests contentspec with wrong key word. the string "empty" is used as the key word in the contentspec of the second elementdecl in the DTD. Tests contentspec with wrong key word. the string "Empty" is used as the key word in the contentspec of the second elementdecl in the DTD. Tests contentspec with wrong key word. the string "Any" is used as the key word in the contentspec of the second elementdecl in the DTD. Tests contentspec with wrong key word. the string "any" is used as the key word in the contentspec of the second elementdecl in the DTD. Tests contentspec with a wrong option. The string "#CDATA" is used as the contentspec in the second elementdecl in the DTD. Tests children with a required field missing. The "+" is used as the choice or seq field in the second elementdecl in the DTD. Tests children with a required field missing. The "*" is used as the choice or seq field in the second elementdecl in the DTD. Tests children with a required field missing. The "?" is used as the choice or seq field in the second elementdecl in the DTD. Tests children with wrong field ordering. The "*" occurs before the seq field (a,a) in the second elementdecl in the DTD. Tests children with wrong field ordering. The "+" occurs before the choice field (a|a) in the second elementdecl in the DTD. Tests children with wrong key word. The "^" occurs after the seq field in the second elementdecl in the DTD. Tests cp with a required fields missing. The field Name|choice|seq is missing in the second cp in the choice field in the third elementdecl in the DTD. Tests cp with a required fields missing. The field Name|choice|seq is missing in the cp in the third elementdecl in the DTD. Tests cp with a required fields missing. The field Name|choice|seq is missing in the first cp in the choice field in the third elementdecl in the DTD. Tests cp with wrong field ordering. The "+" occurs before the seq (a,a) in the first cp in the choice field in the third elementdecl in the DTD. Tests cp with wrong field ordering. The "*" occurs before the choice (a|b) in the first cp in the seq field in the third elementdecl in the DTD. Tests cp with wrong field ordering. The "?" occurs before the Name "a" in the second cp in the seq field in the third elementdecl in the DTD. Tests cp with wrong key word. The "^" occurs after the Name "a" in the first cp in the choice field in the third elementdecl in the DTD. Tests choice with a required field missing. The two cps are missing in the choice field in the third elementdecl in the DTD. Tests choice with a required field missing. The third cp is missing in the choice field in the fourth elementdecl in the DTD. Tests choice with a wrong separator. The "!" is used as the separator in the choice field in the fourth elementdecl in the DTD. Tests choice with a required field missing. The separator "|" is missing in the choice field (a b)+ in the fourth elementdecl in the DTD. Tests choice with an extra separator. An extra "|" occurs between a and b in the choice field in the fourth elementdecl in the DTD. Tests choice with a required field missing. The closing bracket ")" is missing in the choice field (a |b * in the fourth elementdecl in the DTD. Tests seq with a required field missing. The two cps are missing in the seq field in the fourth elementdecl in the DTD. Tests seq with a required field missing. The third cp is missing in the seq field in the fourth elementdecl in the DTD. Tests seq with a wrong separator. The "|" is used as the separator between a and b in the seq field in the fourth elementdecl in the DTD. Tests seq with a wrong separator. The "." is used as the separator between a and b in the seq field in the fourth elementdecl in the DTD. Tests seq with an extra separator. An extra "," occurs between (a|b) and a in the seq field in the fourth elementdecl in the DTD. Tests seq with a required field missing. The separator between (a|b) and (b|a) is missing in the seq field in the fourth elementdecl in the DTD. Tests seq with wrong closing bracket. The "]" is used as the closing bracket in the seq field in the fourth elementdecl in the DTD. Tests Mixed with a wrong key word. The string "#pcdata" is used as the key word in the Mixed field in the fourth elementdecl in the DTD. Tests Mixed with wrong field ordering. The field #PCDATA does not occur as the first component in the Mixed field in the fourth elementdecl in the DTD. Tests Mixed with a separator missing. The separator "|" is missing in between #PCDATA and a in the Mixed field in the fourth elementdecl in the DTD. Tests Mixed with a wrong key word. The string "#CDATA" is used as the key word in the Mixed field in the fourth elementdecl in the DTD. Tests Mixed with a required field missing. The "*" is missing after the ")" in the Mixed field in the fourth elementdecl in the DTD. Tests Mixed with wrong closing bracket. The "]" is used as the closing bracket in the Mixed field in the fourth elementdecl in the DTD. Tests Mixed with a required field missing. The closing bracket ")" is missing after (#PCDATA in the Mixed field in the fourth elementdecl in the DTD. Tests AttlistDecl with a required field missing. The Name is missing in the AttlistDecl in the DTD. Tests AttlistDecl with a required field missing. The white space is missing between the beginning sequence and the name in the AttlistDecl in the DTD. Tests AttlistDecl with wrong field ordering. The Name "a" occurs after the first AttDef in the AttlistDecl in the DTD. Tests AttlistDecl with wrong key word. The string "Attlist" is used as the key word in the beginning sequence in the AttlistDecl in the DTD. Tests AttlistDecl with a required field missing. The closing bracket "greater than" is missing in the AttlistDecl in the DTD. Tests AttlistDecl with wrong beginning sequence. The string "(less than)ATTLIST" is used as the beginning sequence in the AttlistDecl in the DTD. Tests AttDef with a required field missing. The DefaultDecl is missing in the AttDef for the name "attr1" in the AttlistDecl in the DTD. Tests AttDef with a required field missing. The white space is missing between (abc|def) and "def" in the AttDef in the AttlistDecl in the DTD. Tests AttDef with a required field missing. The AttType is missing for "attr1" in the AttDef in the AttlistDecl in the DTD. Tests AttDef with a required field missing. The white space is missing between "attr1" and (abc|def) in the AttDef in the AttlistDecl in the DTD. Tests AttDef with a required field missing. The Name is missing in the AttDef in the AttlistDecl in the DTD. Tests AttDef with a required field missing. The white space before the name "attr2" is missing in the AttDef in the AttlistDecl in the DTD. Tests AttDef with wrong field ordering. The Name "attr1" occurs after the AttType in the AttDef in the AttlistDecl in the DTD. Tests AttDef with wrong field ordering. The Name "attr1" occurs after the AttType and "default" occurs before the AttType in the AttDef in the AttlistDecl in the DTD. Tests AttType with a wrong option. The string "BOGUSATTR" is used as the AttType in the AttlistDecl in the DTD. Tests AttType with a wrong option. The string "PCDATA" is used as the AttType in the AttlistDecl in the DTD. Tests StringType with a wrong key word. The lower case string "cdata" is used as the StringType in the AttType in the AttlistDecl in the DTD. Tests StringType with a wrong key word. The string "#CDATA" is used as the StringType in the AttType in the AttlistDecl in the DTD. Tests StringType with a wrong key word. The string "CData" is used as the StringType in the AttType in the AttlistDecl in the DTD. Tests TokenizedType with wrong key word. The type "id" is used in the TokenizedType in the AttDef in the AttlistDecl in the DTD. Tests TokenizedType with wrong key word. The type "Idref" is used in the TokenizedType in the AttDef in the AttlistDecl in the DTD. Tests TokenizedType with wrong key word. The type"Idrefs" is used in the TokenizedType in the AttDef in the AttlistDecl in the DTD. Tests TokenizedType with wrong key word. The type "EntitY" is used in the TokenizedType in the AttDef in the AttlistDecl in the DTD. Tests TokenizedType with wrong key word. The type "nmTOKEN" is used in the TokenizedType in the AttDef in the AttlistDecl in the DTD. Tests TokenizedType with wrong key word. The type "NMtokens" is used in the TokenizedType in the AttDef in the AttlistDecl in the DTD. Tests TokenizedType with wrong key word. The type "#ID" is used in the TokenizedType in the AttDef in the AttlistDecl in the DTD. Tests EnumeratedType with an illegal option. The string "NMTOKEN (a|b)" is used in the EnumeratedType in the AttlistDecl in the DTD. Tests NotationType with wrong key word. The lower case "notation" is used as the key word in the NotationType in the AttDef in the AttlistDecl in the DTD. Tests NotationType with a required field missing. The beginning bracket "(" is missing in the NotationType in the AttDef in the AttlistDecl in the DTD. Tests NotationType with a required field missing. The Name is missing in the "()" in the NotationType in the AttDef in the AttlistDecl in the DTD. Tests NotationType with a required field missing. The closing bracket is missing in the NotationType in the AttDef in the AttlistDecl in the DTD. Tests NotationType with wrong field ordering. The key word "NOTATION" occurs after "(this)" in the NotationType in the AttDef in the AttlistDecl in the DTD. Tests NotationType with wrong separator. The "," is used as a separator between "this" and "that" in the NotationType in the AttDef in the AttlistDecl in the DTD. Tests NotationType with a required field missing. The white space is missing between "NOTATION" and "(this)" in the NotationType in the AttDef in the AttlistDecl in the DTD. Tests NotationType with extra wrong characters. The double quote character occurs after "(" and before ")" in the NotationType in the AttDef in the AttlistDecl in the DTD. Tests Enumeration with required fields missing. The Nmtokens and "|"s are missing in the AttDef in the AttlistDecl in the DTD. Tests Enumeration with a required field missing. The closing bracket ")" is missing in the AttDef in the AttlistDecl in the DTD. Tests Enumeration with wrong separator. The "," is used as the separator in the AttDef in the AttlistDecl in the DTD. Tests Enumeration with illegal presence. The double quotes occur around the Enumeration value in the AttDef in the AttlistDecl in the DTD. Tests Enumeration with a required field missing. The white space is missing between in the AttDef in the AttlistDecl in the DTD. Tests Enumeration with a required field missing. The beginning bracket "(" is missing in the AttDef in the AttlistDecl in the DTD. Tests DefaultDecl with wrong key word. The string "#required" is used as the key word in the DefaultDecl in the AttDef in the AttlistDecl in the DTD. Tests DefaultDecl with wrong key word. The string "Implied" is used as the key word in the DefaultDecl in the AttDef in the AttlistDecl in the DTD. Tests DefaultDecl with wrong key word. The string "!IMPLIED" is used as the key word in the DefaultDecl in the AttDef in the AttlistDecl in the DTD. Tests DefaultDecl with a required field missing. There is no attribute value specified after the key word "#FIXED" in the DefaultDecl in the AttDef in the AttlistDecl in the DTD. Tests DefaultDecl with a required field missing. The white space is missing between the key word "#FIXED" and the attribute value in the DefaultDecl in the AttDef in the AttlistDecl in the DTD. Tests DefaultDecl with wrong field ordering. The key word "#FIXED" occurs after the attribute value "introduction" in the DefaultDecl in the AttDef in the AttlistDecl in the DTD. Tests DefaultDecl against WFC of P60. The text replacement of the entity "avalue" contains the "less than" character in the DefaultDecl in the AttDef in the AttlistDecl in the DTD. Tests DefaultDecl with more than one key word. The "#REQUIRED" and the "#IMPLIED" are used as the key words in the DefaultDecl in the AttDef in the AttlistDecl in the DTD. Tests conditionalSect with a wrong option. The word "NOTINCLUDE" is used as part of an option which is wrong in the coditionalSect. Tests includeSect with wrong key word. The string "include" is used as a key word in the beginning sequence in the includeSect in the file ibm62n01.dtd. Tests includeSect with wrong beginning sequence. An extra "[" occurs in the beginning sequence in the includeSect in the file ibm62n02.dtd. Tests includeSect with wrong beginning sequence. A wrong character "?" occurs in the beginning sequence in the includeSect in the file ibm62n03.dtd. Tests includeSect with a required field missing. The key word "INCLUDE" is missing in the includeSect in the file ibm62n04.dtd. Tests includeSect with a required field missing. The "[" is missing after the key word "INCLUDE" in the includeSect in the file ibm62n05.dtd. Tests includeSect with wrong field ordering. The two external subset declarations occur before the key word "INCLUDE" in the includeSect in the file ibm62n06.dtd. Tests includeSect with a required field missing. The closing sequence "]](greater than)" is missing in the includeSect in the file ibm62n07.dtd. Tests includeSect with a required field missing. One "]" is missing in the closing sequence in the includeSect in the file ibm62n08.dtd. Tests ignoreSect with wrong key word. The string "ignore" is used as a key word in the beginning sequence in the ignoreSect in the file ibm63n01.dtd. Tests ignoreSect with wrong beginning sequence. An extra "[" occurs in the beginning sequence in the ignoreSect in the file ibm63n02.dtd. Tests ignoreSect with wrong beginning sequence. A wrong character "?" occurs in the beginning sequence in the ignoreSect in the file ibm63n03.dtd. Tests ignoreSect with a required field missing. The key word "IGNORE" is missing in the ignoreSect in the file ibm63n04.dtd. Tests ignoreSect with a required field missing. The "[" is missing after the key word "IGNORE" in the ignoreSect in the file ibm63n05.dtd. Tests includeSect with wrong field ordering. The two external subset declarations occur before the key word "IGNORE" in the ignoreSect in the file ibm63n06.dtd. Tests ignoreSect with a required field missing. The closing sequence "]](greater than)" is missing in the ignoreSect in the file ibm63n07.dtd. Tests ignoreSectContents with wrong beginning sequence. The "?" occurs in beginning sequence the ignoreSectContents in the file ibm64n01.dtd. Tests ignoreSectContents with a required field missing.The closing sequence is missing in the ignoreSectContents in the file ibm64n02.dtd. Tests ignoreSectContents with a required field missing.The beginning sequence is missing in the ignoreSectContents in the file ibm64n03.dtd. Tests Ignore with illegal string included. The string "]](greater than)" is contained before "this" in the Ignore in the ignoreSectContents in the file ibm65n01.dtd Tests Ignore with illegal string included. The string "(less than)![" is contained before "this" in the Ignore in the ignoreSectContents in the file ibm65n02.dtd Tests CharRef with an illegal character referred to. The "#002f" is used as the referred character in the CharRef in the EntityDecl in the DTD. Tests CharRef with the semicolon character missing. The semicolon character is missing at the end of the CharRef in the attribute value in the STag of element "root". Tests CharRef with an illegal character referred to. The "49" is used as the referred character in the CharRef in the EntityDecl in the DTD. Tests CharRef with an illegal character referred to. The "#5~0" is used as the referred character in the attribute value in the EmptyElemTag of the element "root". Tests CharRef with an illegal character referred to. The "#x002g" is used as the referred character in the CharRef in the EntityDecl in the DTD. Tests CharRef with an illegal character referred to. The "#x006G" is used as the referred character in the attribute value in the EmptyElemTag of the element "root". Tests CharRef with an illegal character referred to. The "#0=2f" is used as the referred character in the CharRef in the EntityDecl in the DTD. Tests CharRef with an illegal character referred to. The "#56.0" is used as the referred character in the attribute value in the EmptyElemTag of the element "root". Tests CharRef with an illegal character referred to. The "#x00/2f" is used as the referred character in the CharRef in the EntityDecl in the DTD. Tests CharRef with an illegal character referred to. The "#51)" is used as the referred character in the attribute value in the EmptyElemTag of the element "root". Tests CharRef with an illegal character referred to. The "#00 2f" is used as the referred character in the CharRef in the EntityDecl in the DTD. Tests CharRef with an illegal character referred to. The "#x0000" is used as the referred character in the attribute value in the EmptyElemTag of the element "root". Tests CharRef with an illegal character referred to. The "#x001f" is used as the referred character in the attribute value in the EmptyElemTag of the element "root". Tests CharRef with an illegal character referred to. The "#xfffe" is used as the referred character in the attribute value in the EmptyElemTag of the element "root". Tests CharRef with an illegal character referred to. The "#xffff" is used as the referred character in the attribute value in the EmptyElemTag of the element "root". Tests EntityRef with a required field missing. The Name is missing in the EntityRef in the content of the element "root". Tests EntityRef with a required field missing. The semicolon is missing in the EntityRef in the attribute value in the element "root". Tests EntityRef with an extra white space. A white space occurs after the ampersand in the EntityRef in the content of the element "root". Tests EntityRef which is against P68 WFC: Entity Declared. The name "aAa" in the EntityRef in the AttValue in the STage of the element "root" does not match the Name of any declared entity in the DTD. Tests EntityRef which is against P68 WFC: Entity Declared. The entity with the name "aaa" in the EntityRef in the AttValue in the STag of the element "root" is not declared. Tests EntityRef which is against P68 WFC: Entity Declared. The entity with the name "aaa" in the EntityRef in the AttValue in the STag of the element "root" is externally declared, but standalone is "yes". Tests EntityRef which is against P68 WFC: Entity Declared. The entity with the name "aaa" in the EntityRef in the AttValue in the STag of the element "root" is referred before declared. Tests EntityRef which is against P68 WFC: Parsed Entity. The EntityRef in the AttValue in the STag of the element "root" contains the name "aImage" of an unparsed entity. Tests EntityRef which is against P68 WFC: No Recursion. The recursive entity reference occurs with the entity declarations for "aaa" and "bbb" in the DTD. Tests EntityRef which is against P68 WFC: No Recursion. The indirect recursive entity reference occurs with the entity declarations for "aaa", "bbb", "ccc", "ddd", and "eee" in the DTD. Tests PEReference with a required field missing. The Name "paaa" is missing in the PEReference in the DTD. Tests PEReference with a required field missing. The semicolon is missing in the PEReference "%paaa" in the DTD. Tests PEReference with an extra white space. There is an extra white space occurs before ";" in the PEReference in the DTD. Tests PEReference with an extra white space. There is an extra white space occurs after "%" in the PEReference in the DTD. Based on E29 substantial source: minutes XML-Syntax 1999-02-24 E38 in XML 1.0 Errata, this WFC does not apply to P69, but the VC Entity declared still apply. Tests PEReference which is against P69 WFC: Entity Declared. The PE with the name "paaa" is referred before declared in the DTD. Tests PEReference which is against P69 WFC: No Recursion. The recursive PE reference occurs with the entity declarations for "paaa" and "bbb" in the DTD. Tests PEReference which is against P69 WFC: No Recursion. The indirect recursive PE reference occurs with the entity declarations for "paaa", "bbb", "ccc", "ddd", and "eee" in the DTD. Tests Tests EntityDecl with a required field missing. The white space is missing between the beginning sequence and the Name "aaa" in the EntityDecl in the DTD. Tests EntityDecl with a required field missing. The white space is missing between the Name "aaa" and the EntityDef "aString" in the EntityDecl in the DTD. Tests EntityDecl with a required field missing. The EntityDef is missing in the EntityDecl with the Name "aaa" in the DTD. Tests EntityDecl with a required field missing. The Name is missing in the EntityDecl with the EntityDef "aString" in the DTD. Tests EntityDecl with wrong ordering. The Name "aaa" occurs after the EntityDef in the EntityDecl in the DTD. Tests EntityDecl with wrong key word. The string "entity" is used as the key word in the beginning sequence in the EntityDecl in the DTD. Tests EntityDecl with a required field missing. The closing bracket (greater than) is missing in the EntityDecl in the DTD. Tests EntityDecl with a required field missing. The exclamation mark is missing in the beginning sequence in the EntityDecl in the DTD. Tests PEdecl with a required field missing. The white space is missing between the beginning sequence and the "%" in the PEDecl in the DTD. Tests PEdecl with a required field missing. The Name is missing in the PEDecl in the DTD. Tests PEdecl with a required field missing. The white space is missing between the Name and the PEDef in the PEDecl in the DTD. Tests PEdecl with a required field missing. The PEDef is missing after the Name "paaa" in the PEDecl in the DTD. Tests PEdecl with wrong field ordering. The Name "paaa" occurs after the PEDef in the PEDecl in the DTD. Tests PEdecl with wrong field ordering. The "%" and the Name "paaa" occurs after the PEDef in the PEDecl in the DTD. Tests PEdecl with wrong key word. The string "entity" is used as the key word in the beginning sequence in the PEDecl in the DTD. Tests PEdecl with a required field missing. The closing bracket (greater than) is missing in the PEDecl in the DTD. Tests PEdecl with wrong closing sequence. The string "!(greater than)" is used as the closing sequence in the PEDecl in the DTD. Tests EntityDef with wrong field ordering. The NDataDecl "NDATA JPGformat" occurs before the ExternalID in the EntityDef in the EntityDecl. Tests EntityDef with a required field missing. The ExternalID is missing before the NDataDecl in the EntityDef in the EntityDecl. Tests PEDef with extra fields. The NDataDecl occurs after the ExternalID in the PEDef in the PEDecl in the DTD. Tests ExternalID with wrong key word. The string "system" is used as the key word in the ExternalID in the EntityDef in the EntityDecl. Tests ExternalID with wrong key word. The string "public" is used as the key word in the ExternalID in the doctypedecl. Tests ExternalID with wrong key word. The string "Public" is used as the key word in the ExternalID in the doctypedecl. Tests ExternalID with wrong field ordering. The key word "PUBLIC" occurs after the PublicLiteral and the SystemLiteral in the ExternalID in the doctypedecl. Tests ExternalID with a required field missing. The white space between "SYSTEM" and the Systemliteral is missing in the ExternalID in the EntityDef in the EntityDecl in the DTD. Tests ExternalID with a required field missing. The Systemliteral is missing after "SYSTEM" in the ExternalID in the EntityDef in the EntityDecl in the DTD. Tests ExternalID with a required field missing. The white space between the PublicLiteral and the Systemliteral is missing in the ExternalID in the doctypedecl. Tests ExternalID with a required field missing. The key word "PUBLIC" is missing in the ExternalID in the doctypedecl. Tests ExternalID with a required field missing. The white space between "PUBLIC" and the PublicLiteral is missing in the ExternalID in the doctypedecl. Tests ExternalID with a required field missing. The PublicLiteral is missing in the ExternalID in the doctypedecl. Tests ExternalID with a required field missing. The PublicLiteral is missing in the ExternalID in the doctypedecl. Tests ExternalID with a required field missing. The SystemLiteral is missing in the ExternalID in the doctypedecl. Tests ExternalID with wrong field ordering. The key word "PUBLIC" occurs after the PublicLiteral in the ExternalID in the doctypedecl. Tests NDataDecl with wrong key word. The string "ndata" is used as the key word in the NDataDecl in the EntityDef in the GEDecl. Tests NDataDecl with wrong key word. The string "NData" is used as the key word in the NDataDecl in the EntityDef in the GEDecl. Tests NDataDecl with a required field missing. The leading white space is missing in the NDataDecl in the EntityDef in the GEDecl. Tests NDataDecl with a required field missing. The key word "NDATA" is missing in the NDataDecl in the EntityDef in the GEDecl. Tests NDataDecl with a required field missing. The Name after the key word "NDATA" is missing in the NDataDecl in the EntityDef in the GEDecl. Tests NDataDecl with a required field missing. The white space between "NDATA" and the Name is missing in the NDataDecl in the EntityDef in the GEDecl. Tests NDataDecl with wrong field ordering. The key word "NDATA" occurs after the Name in the NDataDecl in the EntityDef in the GEDecl. Tests TextDecl with wrong field ordering. The VersionInfo occurs after the EncodingDecl in the TextDecl in the file "ibm77n01.ent". Tests TextDecl with wrong key word. The string "XML" is used in the beginning sequence in the TextDecl in the file "ibm77n02.ent". Tests TextDecl with wrong closing sequence. The character "greater than" is used as the closing sequence in the TextDecl in the file "ibm77n03.ent". Tests TextDecl with a required field missing. The closing sequence is missing in the TextDecl in the file "ibm77n04.ent". Tests extParsedEnt with wrong field ordering. The TextDecl occurs after the content in the file ibm78n01.ent. Tests extParsedEnt with extra field. A blank line occurs before the TextDecl in the file ibm78n02.ent. Tests extPE with wrong field ordering. The TextDecl occurs after the extSubsetDecl (the white space and the comment) in the file ibm79n01.ent. Tests extPE with extra field. A blank line occurs before the TextDecl in the file ibm78n02.ent. Tests EncodingDecl with a required field missing. The leading white space is missing in the EncodingDecl in the XMLDecl. Tests EncodingDecl with a required field missing. The "=" sign is missing in the EncodingDecl in the XMLDecl. Tests EncodingDecl with a required field missing. The double quoted EncName are missing in the EncodingDecl in the XMLDecl. Tests EncodingDecl with wrong field ordering. The string "encoding=" occurs after the double quoted EncName in the EncodingDecl in the XMLDecl. Tests EncodingDecl with wrong field ordering. The "encoding" occurs after the double quoted EncName in the EncodingDecl in the XMLDecl. Tests EncodingDecl with wrong key word. The string "Encoding" is used as the key word in the EncodingDecl in the XMLDecl. Tests EncName with an illegal character. The "_" is used as the first character in the EncName in the EncodingDecl in the XMLDecl. Tests EncName with an illegal character. The "-" is used as the first character in the EncName in the EncodingDecl in the XMLDecl. Tests EncName with an illegal character. The "." is used as the first character in the EncName in the EncodingDecl in the XMLDecl. Tests EncName with illegal characters. The "8-" is used as the initial characters in the EncName in the EncodingDecl in the XMLDecl. Tests EncName with an illegal character. The "~" is used as one character in the EncName in the EncodingDecl in the XMLDecl. Tests EncName with an illegal character. The "#" is used as one character in the EncName in the EncodingDecl in the XMLDecl. Tests EncName with an illegal character. The ":" is used as one character in the EncName in the EncodingDecl in the XMLDecl. Tests EncName with an illegal character. The "/" is used as one character in the EncName in the EncodingDecl in the XMLDecl. Tests EncName with an illegal character. The ";" is used as one character in the EncName in the EncodingDecl in the XMLDecl. Tests NotationDecl with a required field missing. The white space after the beginning sequence of the NotationDecl is missing in the DTD. Tests NotationDecl with a required field missing. The Name in the NotationDecl is missing in the DTD. Tests NotationDecl with a required field missing. The externalID or the PublicID is missing in the NotationDecl in the DTD. Tests NotationDecl with wrong field ordering. The Name occurs after the "SYSTEM" and the externalID in the NotationDecl in the DTD. Tests NotationDecl with wrong key word. The string "notation" is used as a key word in the NotationDecl in the DTD. Tests NotationDecl with a required field missing. The closing bracket (the greater than character) is missing in the NotationDecl. Tests NotationDecl with wrong beginning sequence. The "!" is missing in the beginning sequence in the NotationDecl in the DTD. Tests NotationDecl with wrong closing sequence. The extra "!" occurs in the closing sequence in the NotationDecl in the DTD. Tests PublicID with wrong key word. The string "public" is used as the key word in the PublicID in the NotationDecl in the DTD. Tests PublicID with wrong key word. The string "Public" is used as the key word in the PublicID in the NotationDecl in the DTD. Tests PublicID with a required field missing. The key word "PUBLIC" is missing in the PublicID in the NotationDecl in the DTD. Tests PublicID with a required field missing. The white space between the "PUBLIC" and the PubidLiteral is missing in the PublicID in the NotationDecl in the DTD. Tests PublicID with a required field missing. The PubidLiteral is missing in the PublicID in the NotationDecl in the DTD. Tests PublicID with wrong field ordering. The key word "PUBLIC" occurs after the PubidLiteral in the PublicID in the NotationDecl. Tests BaseChar with an illegal character. The character #x00D7 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x00F7 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0132 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0133 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x013F occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0140 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0149 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x017F occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x01c4 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x01CC occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0BB6 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0BBA occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0C0D occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0C11 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0C29 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0C34 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0C5F occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0C62 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0C8D occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0C91 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x01F1 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0CA9 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0CB4 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0CBA occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0CDF occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0CE2 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0D0D occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0D11 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0D29 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0D3A occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0D62 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x01F3 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0E2F occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0E31 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0E34 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0E46 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0E83 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0E85 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0E89 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0E8B occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0E8E occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0E98 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x01F6 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0EA0 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0EA4 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0EA6 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0EA8 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0EAC occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0EAF occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0EB1 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0EB4 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0EBE occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0EC5 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x01F9 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0F48 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0F6A occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x10C6 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x10F7 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x1011 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x1104 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x1108 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x110A occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x110D occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x113B occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x01F9 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x113F occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x1141 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x114D occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x114f occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x1151 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x1156 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x115A occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x1162 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x1164 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x1166 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0230 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x116B occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x116F occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x1174 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x119F occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x11AC occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x11B6 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x11B9 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x11BB occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x11C3 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x11F1 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x02AF occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x11FA occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x1E9C occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x1EFA occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x1F16 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x1F1E occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x1F46 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x1F4F occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x1F58 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x1F5A occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x1F5C occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x02CF occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x1F5E occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x1F7E occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x1FB5 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x1FBD occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x1FBF occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x1FC5 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x1FCD occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x1FD5 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x1FDC occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x1FED occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0387 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x1FF5 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x1FFD occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x2127 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x212F occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x2183 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x3095 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x30FB occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x312D occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #xD7A4 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x038B occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x03A2 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x03CF occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x03D7 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x03DD occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x03E1 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x03F4 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x040D occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0450 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x045D occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0482 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x04C5 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x04C6 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x04C9 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x04EC occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x04ED occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x04F6 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x04FA occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0557 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0558 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0587 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x05EB occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x05F3 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0620 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x063B occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x064B occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x06B8 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x06BF occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x06CF occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x06D4 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x06D6 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x06E7 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x093A occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x093E occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0962 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x098D occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0991 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0992 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x09A9 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x09B1 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x09B5 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x09BA occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x09DE occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x09E2 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x09F2 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0A0B occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0A11 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0A29 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0A31 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0A34 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0A37 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0A3A occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0A5D occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0A70 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0A75 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #xA84 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0ABC occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0A92 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0AA9 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0AB1 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0AB4 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0ABA occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0B04 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0B0D occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0B11 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0B29 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0B31 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0B34 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0B3A occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0B3E occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0B5E occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0B62 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0B8B occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0B91 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0B98 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0B9B occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0B9D occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0BA0 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0BA7 occurs as the first character of the PITarget in the PI in the DTD. Tests BaseChar with an illegal character. The character #x0BAB occurs as the first character of the PITarget in the PI in the DTD. Tests Ideographic with an illegal character. The character #x4CFF occurs as the first character in the PITarget in the PI in the DTD. Tests Ideographic with an illegal character. The character #x9FA6 occurs as the first character in the PITarget in the PI in the DTD. Tests Ideographic with an illegal character. The character #x3008 occurs as the first character in the PITarget in the PI in the DTD. Tests Ideographic with an illegal character. The character #x302A occurs as the first character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x02FF occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0346 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0362 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0487 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x05A2 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x05BA occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x05BE occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x05C0 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x05C3 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0653 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x06B8 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x06B9 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x06E9 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x06EE occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0904 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x093B occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x094E occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0955 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0964 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0984 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x09C5 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x09C9 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x09CE occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x09D8 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x09E4 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0A03 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0A3D occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0A46 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0A49 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0A4E occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0A80 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0A84 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0ABB occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0AC6 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0ACA occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0ACE occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0B04 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0B3B occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0B44 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0B4A occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0B4E occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0B58 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0B84 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0BC3 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0BC9 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0BD6 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0C0D occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0C45 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0C49 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0C54 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0C81 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0C84 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0CC5 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0CC9 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0CD4 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0CD7 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0D04 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0D45 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0D49 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0D4E occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0D58 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0E3F occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0E3B occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0E4F occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0EBA occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0EBE occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0ECE occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0F1A occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0F36 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0F38 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0F3B occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0F3A occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0F70 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0F85 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0F8C occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0F96 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0F98 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0FB0 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0FB8 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x0FBA occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x20DD occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x20E2 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x3030 occurs as the second character in the PITarget in the PI in the DTD. Tests CombiningChar with an illegal character. The character #x309B occurs as the second character in the PITarget in the PI in the DTD. Tests Digit with an illegal character. The character #x0029 occurs as the second character in the PITarget in the PI in the DTD. Tests Digit with an illegal character. The character #x003B occurs as the second character in the PITarget in the PI in the DTD. Tests Digit with an illegal character. The character #x066A occurs as the second character in the PITarget in the PI in the DTD. Tests Digit with an illegal character. The character #x06FA occurs as the second character in the PITarget in the PI in the DTD. Tests Digit with an illegal character. The character #x0970 occurs as the second character in the PITarget in the PI in the DTD. Tests Digit with an illegal character. The character #x09F2 occurs as the second character in the PITarget in the PI in the DTD. Tests Digit with an illegal character. The character #x0AF0 occurs as the second character in the PITarget in the PI in the DTD. Tests Digit with an illegal character. The character #x0B70 occurs as the second character in the PITarget in the PI in the DTD. Tests Digit with an illegal character. The character #x0C65 occurs as the second character in the PITarget in the PI in the DTD. Tests Digit with an illegal character. The character #x0CE5 occurs as the second character in the PITarget in the PI in the DTD. Tests Digit with an illegal character. The character #x0CF0 occurs as the second character in the PITarget in the PI in the DTD. Tests Digit with an illegal character. The character #x0D70 occurs as the second character in the PITarget in the PI in the DTD. Tests Digit with an illegal character. The character #x0E5A occurs as the second character in the PITarget in the PI in the DTD. Tests Digit with an illegal character. The character #x0EDA occurs as the second character in the PITarget in the PI in the DTD. Tests Digit with an illegal character. The character #x0F2A occurs as the second character in the PITarget in the PI in the DTD. Tests Extender with an illegal character. The character #x00B6 occurs as the second character in the PITarget in the PI in the DTD. Tests Extender with an illegal character. The character #x00B8 occurs as the second character in the PITarget in the PI in the DTD. Tests Extender with an illegal character. The character #x02D2 occurs as the second character in the PITarget in the PI in the DTD. Tests Extender with an illegal character. The character #x03FE occurs as the second character in the PITarget in the PI in the DTD. Tests Extender with an illegal character. The character #x065F occurs as the second character in the PITarget in the PI in the DTD. Tests Extender with an illegal character. The character #x0EC7 occurs as the second character in the PITarget in the PI in the DTD. Tests Extender with an illegal character. The character #x3006 occurs as the second character in the PITarget in the PI in the DTD. Tests Extender with an illegal character. The character #x3030 occurs as the second character in the PITarget in the PI in the DTD. Tests Extender with an illegal character. The character #x3036 occurs as the second character in the PITarget in the PI in the DTD. Tests Extender with an illegal character. The character #x309C occurs as the second character in the PITarget in the PI in the DTD. Tests Extender with an illegal character. The character #x309F occurs as the second character in the PITarget in the PI in the DTD. Tests Extender with an illegal character. The character #x30FF occurs as the second character in the PITarget in the PI in the DTD. Tests with a xml document consisting of prolog followed by element then Misc This test case covers legal character ranges plus discrete legal characters for production 02. Tests all 4 legal white space characters - #x20 #x9 #xD #xA Empty EntityValue is legal Tests a normal EnitityValue Tests EnitityValue referencing a Parameter Entity Tests EnitityValue referencing a General Entity Tests EnitityValue with combination of GE, PE and text, the GE used is declared in the student.dtd Tests empty AttValue with double quotes as the delimiters Tests empty AttValue with single quotes as the delimiters Test AttValue with double quotes as the delimiters and single quote inside Test AttValue with single quotes as the delimiters and double quote inside Test AttValue with a GE reference and double quotes as the delimiters Test AttValue with a GE reference and single quotes as the delimiters testing AttValue with mixed references and text content in double quotes testing AttValue with mixed references and text content in single quotes Tests empty systemliteral using the double quotes Tests empty systemliteral using the single quotes Tests regular systemliteral using the single quotes Tests regular systemliteral using the double quotes Tests empty systemliteral using the double quotes Tests empty systemliteral using the single quotes Tests regular systemliteral using the double quotes Tests regular systemliteral using the single quotes Testing PubidChar with all legal PubidChar in a PubidLiteral Testing CharData with empty string Testing CharData with white space character Testing CharData with a general text string Tests empty comment Tests comment with regular text Tests comment with one dash inside Tests comment with more comprehensive content Tests PI definition with only PItarget name and nothing else Tests PI definition with only PItarget name and a white space Tests PI definition with PItarget name and text that contains question mark and right angle Tests PITarget name Tests CDSect with CDStart CData CDEnd Tests CDStart Tests CDATA with empty string Tests CDATA with regular content Tests CDEnd Tests prolog with XMLDecl and doctypedecl Tests prolog with doctypedecl Tests prolog with Misc doctypedecl Tests prolog with doctypedecl Misc Tests prolog with XMLDecl Misc doctypedecl Tests prolog with XMLDecl doctypedecl Misc Tests prolog with XMLDecl Misc doctypedecl Misc Tests XMLDecl with VersionInfo only Tests XMLDecl with VersionInfo EncodingDecl Tests XMLDecl with VersionInfo SDDecl Tests XMLDecl with VerstionInfo and a trailing whitespace char Tests XMLDecl with VersionInfo EncodingDecl SDDecl Tests XMLDecl with VersionInfo EncodingDecl SDDecl and a trailing whitespace Tests VersionInfo with single quote Tests VersionInfo with double quote Tests EQ with = Tests EQ with = and spaces on both sides Tests EQ with = and space in front of it Tests EQ with = and space after it Tests VersionNum 1.0 Tests Misc with comment Tests Misc with PI Tests Misc with white spaces Tests doctypedecl with internal DTD only Tests doctypedecl with external subset and combinations of different markup declarations and PEReferences Tests markupdecl with combinations of elementdecl, AttlistDecl,EntityDecl, NotationDecl, PI and comment Tests WFC: PE in internal subset as a positive test Tests extSubset with extSubsetDecl only in the dtd file Tests extSubset with TextDecl and extSubsetDecl in the dtd file Tests extSubsetDecl with combinations of markupdecls, conditionalSects, PEReferences and white spaces Tests VC: Standalone Document Declaration with absent attribute that has default value and standalone is no Tests VC: Standalone Document Declaration with external entity reference and standalone is no Tests VC: Standalone Document Declaration with attribute values that need to be normalized and standalone is no Tests VC: Standalone Document Declaration with whitespace in mixed content and standalone is no Tests LanguageID with Langcode - Subcode Duplicate Test as ibm33v01.xml Tests ISO639Code Tests IanaCode Tests UserCode Tests SubCode Tests element with EmptyElemTag and STag content Etag, also tests the VC: Element Valid with elements that have children, Mixed and ANY contents Tests STag with possible combinations of its fields, also tests WFC: Unique Att Spec. Tests Attribute with Name Eq AttValue and VC: Attribute Value Type Tests ETag with possible combinations of its fields Tests content with all possible constructs: element, CharData, Reference, CDSect, Comment Tests EmptyElemTag with possible combinations of its fields Tests both P45 elementDecl and P46 contentspec with possible combinations of their constructs Tests all possible children,cp,choice,seq patterns in P47,P48,P49,P50 Tests VC:Proper Group/PE Nesting with PEs of choices that are properly nested with parenthesized groups in external subsets Tests VC:Proper Group/PE Nesting with PEs of seq that are properly nested with parenthesized groups in external subsets Tests Mixed with possible combinations of its fields amd VC: No Duplicate Types Tests VC:Proper Group/PE Nesting with PEs of Mixed that are properly nested with parenthesized groups in external subsets Tests all AttlistDecl and AttDef Patterns in P52 and P53 Tests all AttTypes : StringType, TokenizedTypes, EnumeratedTypes in P55,P56,P57,P58,P59. Also tests all DefaultDecls in P60. Tests all AttTypes : StringType, TokenizedType, EnumeratedTypes in P55,P56,P57. Tests AttTypes with StringType in P55. Tests StringType for P55. The "CDATA" occurs in the StringType for the attribute "att" for the element "a". Tests TokenizedType for P56. The "ID", "IDREF", "IDREFS", "ENTITY", "ENTITIES", "NMTOKEN", and "NMTOKENS" occur in the TokenizedType for the attribute "attr". Tests TokenizedType for P56 VC: ID Attribute Default. The value "AC1999" is assigned to the ID attribute "attr" with "#REQUIRED" in the DeaultDecl. Tests TokenizedType for P56 VC: ID Attribute Default. The value "AC1999" is assigned to the ID attribute "attr" with "#IMPLIED" in the DeaultDecl. Tests TokenizedType for P56 VC: ID. The ID attribute "UniqueName" appears only once in the document. Tests TokenizedType for P56 VC: One ID per element type. The element "a" or "b" has only one ID attribute. Tests TokenizedType for P56 VC: IDREF. The IDREF value "AC456" matches the value assigned to an ID attribute "UniqueName". Tests TokenizedType for P56 VC: IDREF. The IDREFS value "AC456 Q123" matches the values assigned to the ID attribute "UniqueName" and "Uname". Tests TokenizedType for P56 VC: Entity Name. The value "image" of the ENTITY attribute "sun" matches the name of an unparsed entity declared. Tests TokenizedType for P56 VC: Name Token. The value of the NMTOKEN attribute "thistoken" matches the Nmtoken production. Tests TokenizedType for P56 VC: Name Token. The value of the NMTOKENS attribute "thistoken" matches the Nmtoken production. Tests EnumeratedType in the AttType. The attribute "att" has a type (a|b) with the element "a". the Tests NotationType for P58. It shows different patterns fro the NOTATION attribute "attr". Tests NotationType for P58: Notation Attributes. The value "base64" of the NOTATION attribute "attr" matches one of the notation names declared. Tests Enumeration in the EnumeratedType for P59. It shows different patterns for the Enumeration attribute "attr". Tests Enumeration for P59 VC: Enumeration. The value "one" of the Enumeration attribute "attr" matches one of the element names declared. Tests DefaultDecl for P60. It shows different options "#REQUIRED", "#FIXED", "#IMPLIED", and default for the attribute "chapter". Tests DefaultDecl for P60 VC: Required Attribute. In the element "one" and "two" the value of the #REQUIRED attribute "chapter" is given. Tests DefaultDecl for P60 VC: Fixed Attribute Default. The value of the #FIXED attribute "chapter" is exactly the same as the default value. Tests DefaultDecl for P60 VC: Attribute Default Legal. The default value specified for the attribute "attr" meets the lexical constraints of the declared attribute type. Tests conditionalSect for P61. It takes the option "invludeSect" in the file ibm61v01.dtd. Tests conditionalSect for P61. It takes the option "ignoreSect" in the file ibm61v02.dtd. Tests includeSect for P62. The white space is not included before the key word "INCLUDE" in the beginning sequence. Tests includeSect for P62. The white space is not included after the key word "INCLUDE" in the beginning sequence. Tests includeSect for P62. The white space is included after the key word "INCLUDE" in the beginning sequence. Tests includeSect for P62. The white space is included before the key word "INCLUDE" in the beginning sequence. Tests includeSect for P62. The extSubsetDecl is not included. Tests ignoreSect for P63. The white space is not included before the key word "IGNORE" in the beginning sequence. Tests ignoreSect for P63. The white space is not included after the key word "IGNORE" in the beginning sequence. Tests ignoreSect for P63. The white space is included after the key word "IGNORE" in the beginning sequence. Tests ignoreSect for P63. The ignireSectContents is included. Tests ignoreSect for P63. The white space is included before and after the key word "IGNORE" in the beginning sequence. Tests ignoreSectContents for P64. One "ignore" field is included. Tests ignoreSectContents for P64. Two "ignore" and one "ignoreSectContents" fields are included. Tests ignoreSectContents for P64. Four "ignore" and three "ignoreSectContents" fields are included. Tests Ignore for P65. An empty string occurs in the Ignore filed. Tests Ignore for P65. An string not including the brackets occurs in each of the Ignore filed. Tests all legal CharRef's. Tests Reference could be EntityRef or CharRef. Tests P68 VC:Entity Declared with Entities in External Subset , standalone is no Tests P68 VC:Entity Declared with Entities in External Parameter Entities , standalone is no Tests P68 VC:Entity Declared with Parameter Entities in External Subset , standalone is no Tests P68 VC:Entity Declared with Parameter Entities in External Parameter Entities, standalone is no Tests all legal GEDecls and PEDecls constructs derived from P70-76 Tests ExtParsedEnt, also TextDecl in P77 and EncodingDecl in P80 Tests extPE Tests NotationDecl in P82 and PublicID in P83 This test case covers 149 legal character ranges plus 51 single legal characters for BaseChar in P85 using a PI target Name This test case covers 2 legal character ranges plus 1 single legal characters for IdeoGraphic in P86 using a PI target Name This test case covers 65 legal character ranges plus 30 single legal characters for CombiningChar in P87 using a PI target Name This test case covers 15 legal character ranges for Digit in P88 using a PI target Name This test case covers 3 legal character ranges plus 8 single legal characters for Extender in P89 using a PI target Name An element with Element-Only content contains the character #x85 (NEL not a whitespace character as defined by S). An element with Element-Only content contains the character #x2028 (LESP not a whitespace character as defined by S). This test contains embeded control character 0x1. This test contains embeded control character 0x2. This test contains embeded control character 0x3. This test contains embeded control character 0x4. This test contains embeded control character 0x5. This test contains embeded control character 0x6. This test contains embeded control character 0x7. This test contains embeded control character 0x8. This test contains embeded control character 0x0. This test contains embeded control character 0x100. This test contains embeded control character 0x0B. This test contains embeded control character 0x0C. This test contains embeded control character 0x0E. This test contains embeded control character 0x0F. This test contains embeded control character 0x10. This test contains embeded control character 0x11. This test contains embeded control character 0x12. This test contains embeded control character 0x13. This test contains embeded control character 0x14. This test contains embeded control character 0x15. This test contains embeded control character 0x16. This test contains embeded control character 0x17. This test contains embeded control character 0x18. This test contains embeded control character 0x19. This test contains embeded control character 0x1A. This test contains embeded control character 0x1B. This test contains embeded control character 0x1C. This test contains embeded control character 0x1D. This test contains embeded control character 0x1E. This test contains embeded control character 0x1F. This test contains embeded control character 0x7F. This test contains embeded control character 0x80. This test contains embeded control character 0x81. This test contains embeded control character 0x82. This test contains embeded control character 0x83. This test contains embeded control character 0x84. This test contains embeded control characters x82, x83 and x84. This test contains embeded control character 0x86. This test contains embeded control character 0x87. This test contains embeded control character 0x88. This test contains embeded control character 0x89. This test contains embeded control character 0x8A. This test contains embeded control character 0x8B. This test contains embeded control character 0x8C. This test contains embeded control character 0x8D. This test contains embeded control character 0x8E. This test contains embeded control character 0x8F. This test contains embeded control character 0x90. This test contains embeded control character 0x91. This test contains embeded control character 0x92. This test contains embeded control character 0x93. This test contains embeded control character 0x94. This test contains embeded control character 0x95. This test contains embeded control character 0x96. This test contains embeded control character 0x97. This test contains embeded control character 0x98. This test contains embeded control character 0x99. This test contains embeded control character 0x9A. This test contains embeded control character 0x9B. This test contains embeded control character 0x9C. This test contains embeded control character 0x9D. This test contains embeded control character 0x9E. This test contains embeded control characters present in an external entity. This test contains embeded control characters present in an external entity. This test contains embeded control characters present in an external entity. This test contains embeded character 0xD800. (Invalid UTF8 sequence) This test contains embeded character 0xFFFE. This test contains embeded character 0xFFFF. This test contains a reference to character 0xFFFE. This test contains a reference to character 0xFFFF. Tests an element with an illegal NameStartChar: #x300 Tests an element with an illegal NameStartChar: #0x333 Tests an element with an illegal NameStartChar: #0x369 Tests an element with an illegal NameStartChar: #0x37E Tests an element with an illegal NameStartChar: #0x2000 Tests an element with an illegal NameStartChar: #0x2001 Tests an element with an illegal NameStartChar: #0x2002 Tests an element with an illegal NameStartChar: #0x2005 Tests an element with an illegal NameStartChar: #0x200B Tests an element with an illegal NameStartChar: #0x200E Tests an element with an illegal NameStartChar: #0x200F Tests an element with an illegal NameStartChar: #0x2069 Tests an element with an illegal NameStartChar: #0x2190 Tests an element with an illegal NameStartChar: #0x23FF Tests an element with an illegal NameStartChar: #0x280F Tests an element with an illegal NameStartChar: #0x2A00 Tests an element with an illegal NameStartChar: #0x2EDC Tests an element with an illegal NameStartChar: #0x2B00 Tests an element with an illegal NameStartChar: #0x2BFF Tests an element with an illegal NameStartChar: #0x3000 Tests an element with an illegal NameStartChar: #0xD800 Tests an element with an illegal NameStartChar: #0xD801 Tests an element with an illegal NameStartChar: #0xDAFF Tests an element with an illegal NameStartChar: #0xDFFF Tests an element with an illegal NameStartChar: #0xEFFF Tests an element with an illegal NameStartChar: #0xF1FF Tests an element with an illegal NameStartChar: #0xF8FF Tests an element with an illegal NameStartChar: #0xFFFFF Tests an element with an illegal NameChar: #xB8 Tests an element with an illegal NameChar: #0xA1 Tests an element with an illegal NameChar: #0xAF Tests an element with an illegal NameChar: #0x37E Tests an element with an illegal NameChar: #0x2000 Tests an element with an illegal NameChar: #0x2001 Tests an element with an illegal NameChar: #0x2002 Tests an element with an illegal NameChar: #0x2005 Tests an element with an illegal NameChar: #0x200B Tests an element with an illegal NameChar: #0x200E Tests an element with an illegal NameChar: #0x2038 Tests an element with an illegal NameChar: #0x2041 Tests an element with an illegal NameChar: #0x2190 Tests an element with an illegal NameChar: #0x23FF Tests an element with an illegal NameChar: #0x280F Tests an element with an illegal NameChar: #0x2A00 Tests an element with an illegal NameChar: #0xFDD0 Tests an element with an illegal NameChar: #0xFDEF Tests an element with an illegal NameChar: #0x2FFF Tests an element with an illegal NameChar: #0x3000 Tests an element with an illegal NameChar: #0xD800 Tests an element with an illegal NameChar: #0xD801 Tests an element with an illegal NameChar: #0xDAFF Tests an element with an illegal NameChar: #0xDFFF Tests an element with an illegal NameChar: #0xEFFF Tests an element with an illegal NameChar: #0xF1FF Tests an element with an illegal NameChar: #0xF8FF Tests an element with an illegal NameChar: #0xFFFFF Tests an element with an illegal Name containing #0x0B Tests an element with an illegal Name containing #0x300 Tests an element with an illegal Name containing #0x36F Tests an element with an illegal Name containing #0x203F Tests an element with an illegal Name containing #x2040 Tests an element with an illegal Name containing #0xB7 The VersionNum of the document entity is 1.1 and that of the external dtd 1.0. The external dtd contains the invalid XML1.1 but valid XML 1.0 character #x7F. The VersionNum of the document entity is 1.1 and that of the external dtd 1.0. The external dtd contains a comment with the invalid XML1.1 but valid XML 1.0 character #x80. The VersionNum of the document entity is 1.1 and that of the external dtd 1.0. The external dtd contains a PI with the invalid XML1.1 but valid XML 1.0 character #x9F. The VersionNum of the document entity is 1.1 and that of the external entity 1.0. The external entity the contains invalid XML1.1 but valid XML 1.0 character #x89. The VersionNum of the document entity is 1.1 and that of the external entity 1.0. The external entity contains the invalid XML1.1 but valid XML 1.0 character #x94. The VersionNum of the document entity is 1.1 and that of the external entity 1.0. The external entity contains the invalid XML1.1 but valid XML 1.0 character #x9F. The VersionNum of the document entity is 1.1 and the external dtd does not contain a textDecl. The external entity contains the invalid XML1.1 but valid XML 1.0 character #x7F. The VersionNum of the document entity is 1.1 and the external dtd does not contain a VersionNum in the textDecl. The external entity contains the invalid XML1.1 but valid XML 1.0 character #x9B. The VersionNum of the document entity is 1.1 and the external dtd does not contain a textDecl. The external entity contains the invalid XML1.1 but valid XML 1.0 character #x8D. The VersionNum of the document entity is 1.1 and the external dtd does not contain a VersionNum in the textDecl. The external entity contains the invalid XML 1.1 but valid XML 1.0 character #x84. The VersionNum of the document entity is 1.1 and the external dtd does not contain a textDecl. The external entity contains the invalid XML 1.1 but valid XML 1.0 character #x88. The VersionNum of the document entity is 1.1 and the external dtd does not contain a textDecl. The external entity contains the invalid XML 1.1 but valid XML 1.0 character #x8E. The VersionNum of the primary document entity is 1.0 and that of the external dtd is 1.0. The external dtd contains an external entity whose VersionNum is 1.1. The VersionNum of the primary document entity is 1.1 and that of the external dtd is 1.0. The external dtd contains an element declaration with an invalid XML 1.1 and 1.0 name. The VersionNum of the primary document entity is 1.1 and testDecl of the external dtd is absent. The external dtd contains an external entity whose VersionNum is 1.1 containing a valid XML1.0 but an invalid XML 1.1 character #x7F. The VersionNum of the primary document entity is 1.0 and VersioNum of the external entity is absent. The replacement text of the entity contains an element followed by the valid XML 1.1 of line character NEL #x85 in its empty elem tag. The VersionNum of the primary document entity is absent and that of the external entity is 1.0. The textDecl in the external entity contains an invalid XML1.0 but valid XML 1.1 enf of line character NEL #x85. The VersionNum of the primary document entity is absent and that of the external entity is 1.0. The textDecl in the external entity contains an invalid XML1.0 but valid XML 1.1 of line character Unicode line separator #x2028. The VersionNum of the primary document entity is 1.1 and that of the external dtd is absent. The external dtd contains an external entity whose VersionNum is absent and it contains a valid XML 1.0 but an invalid XML 1.1 character #x94. The VersionNum of the primary document entity is 1.1 and that of the external dtd is 1.1. The external dtd contains an external entity whose VersionNum is absent and it contains a valid XML 1.0 but an invalid XML 1.1 character #x8F. The VersionNum of the primary document entity is 1.1 and the texlDecl of the external dtd is absent. The external dtd contains a reference to an external parameter entity whose VersionNum is absent from the textDecl and it contains an invalid XML 1.1 character #x8F. This test case covers legal character ranges plus discrete legal characters for production 02 of the XML1.1 sepcification. This test case covers control characters x1 to x1F and x7F to x9F which should only appear as character references. This test case covers control characters x1 to x1F and x7F to x9F which appear as character references as an entity's replacement text. This test case contains embeded whitespace characters some form the range 1 - 1F. This test case contains valid char references that match the char production. This test case contains valid char references in the CDATA section, comment and processing instruction of an external entity that match the char production. The two character sequence #x0D #x85 in an external entity must be normalized to a single newline. The single character sequence #x85 in an external entity must be normalized to a single newline. The two character sequence #x0D #x85 in an external entity must be normalized to a single newline. The single character sequence #x85 in an external entity must be normalized to a single newline. The two character sequence #x0D #x85 in a document entity must be normalized to a single newline. The single character sequence #x85 in a document entity must be normalized to a single newline. The single character sequence #x2028 in a document entity must be normalized to a single newline. The single character sequence #x85 in the XMLDecl must be normalized to a single newline. The single character sequence #x2028 in the XMLDecl must be normalized to a single newline. (This test is questionable) This test case covers legal NameStartChars character ranges plus discrete legal characters for production 04. This test case covers legal NameChars character ranges plus discrete legal characters for production 04a. This test case covers legal Element Names as per production 5. This test case covers legal PITarget (Names) as per production 5. This test case covers legal Attribute (Names) as per production 5. This test case covers legal ID/IDREF (Names) as per production 5. This test case covers legal ENTITY (Names) as per production 5. This test case covers legal NMTOKEN Name character ranges plus discrete legal characters for production 7. The VersionNum of the document entity is 1.1 whereas the VersionNum of the external DTD is 1.0. The character #xC0 which is a valid XML 1.1 but an invalid XML 1.0 character is present in both documents. The VersionNum of the document entity is 1.1 whereas the VersionNum of the external DTD is 1.0. The character #x1FFF which is a valid XML 1.1 but an invalid XML 1.0 character is present in both documents. The VersionNum of the document entity is 1.1 whereas the VersionNum of the external DTD is 1.0. The character #xF901 which is a valid XML 1.1 but an invalid XML 1.0 character is present in both documents. The VersionNum of the document entity is 1.1 whereas the VersionNum of the external entity is 1.0. The character #xD6 which is a valid XML 1.1 but an invalid XML 1.0 character is present in both documents. The VersionNum of the document entity is 1.1 whereas the VersionNum of the external entity is 1.0. The character #x1FFF which is a valid XML 1.1 but an invalid XML 1.0 character is present in both documents. The VersionNum of the document entity is 1.1 whereas the VersionNum of the external entity is 1.0. The character #xF901 which is a valid XML 1.1 but an invalid XML 1.0 character is present in both documents. The VersionNum of the document and external dtd is 1.1 and both contain the valid XML1.1 but invalid XML1.0 character #xD8. The VersionNum of the document and external dtd is 1.1 and both contain the valid XML1.1 but invalid XML1.0 character #x1FFF. The VersionNum of the document and external dtd is 1.1 and both contain the valid XML1.1 but invalid XML1.0 character #xF901. The VersionNum of the document and external entity is 1.1 and both contain the valid XML1.1 but invalid XML1.0 character #xF6. The VersionNum of the document and external entity is 1.1 and both contain the valid XML1.1 but invalid XML1.0 character #x1FFF. The VersionNum of the document and external entity is 1.1 and both contain the valid XML1.1 but invalid XML1.0 character #xF901. The VersionNum of the document entity is 1.1 but the external dtd does not contain a textDecl and both contain the valid XML1.1 but invalid XML1.0 character #xF8. The VersionNum of the document entity is 1.1 but the external dtd does not contain a textDecl and both contain the valid XML1.1 but invalid XML1.0 character #x1FFF. The VersionNum of the document entity is 1.1 but the external dtd does not contain a textDecl and both contain the valid XML1.1 but invalid XML1.0 character #xF901. The VersionNum of the document entity is 1.1 but the external entity does not contain a textDecl and both contain the valid XML1.1 but invalid XML1.0 character #x2FF. The VersionNum of the document entity is 1.1 but the external entity does not contain a textDecl and both contain the valid XML1.1 but invalid XML1.0 character #x1FFF. The VersionNum of the document entity is 1.1 but the external entity does not contain a textDecl and both contain the valid XML1.1 but invalid XML1.0 character #xF901. The VersionNum of the document and external dtd is 1.1. The replacement text of an entity declared in the external DTD contains a reference to the character #x7F. This entity is not referenced in the document entity. The VersionNum of the document and external dtd is 1.1. The replacement text of an entity declared in the external DTD contains a reference to the character #x80. This entity is not referenced in the document entity. The VersionNum of the document and external dtd is 1.1. The replacement text of an entity declared in the external DTD contains a reference to the character #x9F. This entity is not referenced in the document entity. The VersionNum of the document and the external entity is 1.1. The entity contains a reference to the character #x7F. The VersionNum of the document and the external entity is 1.1. The entity contains a reference to the character #x80. The VersionNum of the document and the external entity is 1.1. The entity contains a reference to the character #x9F. The VersionNum of the document is 1.1 and the textDecl is missing in the external DTD. The replacement text of an entity declared in the external DTD contains a reference to the character #x7F, #x8F. This entity is not referenced in the document entity. The VersionNum of the document is 1.1 and the textDecl is missing in the external DTD. The replacement text of an entity declared in the external DTD contains a reference to the character #x80, #x90. This entity is not referenced in the document entity. The VersionNum of the document is 1.1 and the textDecl is missing in the external DTD. The replacement text of an entity declared in the external DTD contains a reference to the character #x81, #x9F. This entity is not referenced in the document entity. The VersionNum of the document is 1.1 and the textDecl is missing in the external entity. The replacement text of an entity declared in the external DTD contains a reference to the character #x7F, #x80, #x9F. The VersionNum of the document is 1.1 and the textDecl is missing in the external entity. The replacement text of an entity declared in the external DTD contains a reference to the character #x85, #x8F. The VersionNum of the document is 1.1 and the textDecl is missing in the external entity. The replacement text of an entity declared in the external DTD contains a reference to the character #x1, #x7F. Duplicate token in enumerated attribute declaration Duplicate token in NOTATION attribute declaration An unused attribute default need only be syntactically correct An attribute default must be syntactically correct even if unused Declarations mis-nested wrt parameter entities are just validity errors (but note that some parsers treat some such errors as fatal) Empty content can't contain an entity reference Empty content can't contain a comment Empty content can't contain a PI Empty content can't contain whitespace Element content can contain entity reference if replacement text is whitespace Element content can contain entity reference if replacement text is whitespace, even if it came from a character reference in the literal entity value Element content can't contain character reference to whitespace Element content can't contain entity reference if replacement text is character reference to whitespace Element content can contain a comment Element content can contain a PI Mixed content can contain a comment Mixed content can contain a PI External entity containing start of entity declaration is base URI for system identifier Parameter entities and character references are included-in-literal, but general entities are bypassed. Tokens, after normalization, must be separated by space, not other whitespace characters UTF-8 entities may start with a BOM Either the built-in entity or a character reference can be used to represent greater-than after two close-square-brackets Contains an irregular UTF-8 sequence (i.e. a surrogate pair) Three-letter language codes are allowed A non-deterministic content model is an error even if the element type is not used. An external ATTLIST declaration does not make a document non-standalone if the normalization would have been the same without the declaration XML 1.0 document refers to 1.1 entity An xml:lang attribute may be empty ANY content allows character data 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. A reference to an unparsed entity in an entity value is an error rather than forbidden (unless the entity is referenced, of course) A value other than preserve or default for xml:space is an error Conditional sections are allowed in external parameter entities referred to from the internal subset. (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. External subset has later version number External PE has later version number External general entity has later version number External general entity has later version number (no decl means 1.0) Indirect external general entity has later version number Second-level external general entity has later version number than first-level, but not later than document, so not an error. A vanilla XML 1.1 document an implausibly-versioned document External general entity has implausible version number Contains a C1 control, legal in XML 1.0, illegal in XML 1.1 Contains a C1 control, legal in XML 1.0, illegal in XML 1.1 Contains a DEL, legal in XML 1.0, illegal in XML 1.1 Contains a DEL, legal in XML 1.0, illegal in XML 1.1 Has a "long s" in a name, legal in XML 1.1, illegal in XML 1.0 Has a "long s" in a name, legal in XML 1.1, illegal in XML 1.0 Has a Byzantine Musical Symbol Kratimata in a name, legal in XML 1.1, illegal in XML 1.0 Has a Byzantine Musical Symbol Kratimata in a name, legal in XML 1.1, illegal in XML 1.0 Has the last legal namechar in XML 1.1, illegal in XML 1.0 Has the last legal namechar in XML 1.1, illegal in XML 1.0 Has the first character after the last legal namechar in XML 1.1, illegal in both XML 1.0 and 1.1 Has the first character after the last legal namechar in XML 1.1, illegal in both XML 1.0 and 1.1 Has a NEL character; legal in both XML 1.0 and 1.1, but different canonical output because of normalization in 1.1 Has a NEL character; legal in both XML 1.0 and 1.1, but different canonical output because of normalization in 1.1 Has an LSEP character; legal in both XML 1.0 and 1.1, but different canonical output because of normalization in 1.1 Has an LSEP character; legal in both XML 1.0 and 1.1, but different canonical output because of normalization in 1.1 Has CR-NEL; legal in both XML 1.0 and 1.1, but different canonical output because of normalization in 1.1 Has CR-NEL; legal in both XML 1.0 and 1.1, but different canonical output because of normalization in 1.1 Has CR-LSEP; legal in both XML 1.0 and 1.1, but different canonical output because of normalization in 1.1. Note that CR and LSEP are not combined into a single LF Has CR-LSEP; legal in both XML 1.0 and 1.1, but different canonical output because of normalization in 1.1 Has a NEL character in an NMTOKENS attribute; well-formed in both XML 1.0 and 1.1, but valid only in 1.1 Has a NEL character in an NMTOKENS attribute; well-formed in both XML 1.0 and 1.1, but valid only in 1.1 Has an LSEP character in an NMTOKENS attribute; well-formed in both XML 1.0 and 1.1, but valid only in 1.1 Has an LSEP character in an NMTOKENS attribute; well-formed in both XML 1.0 and 1.1, but valid only in 1.1 Has an NMTOKENS attribute containing a CR character that comes from a character reference in an internal entity. Because CR is in the S production, this is valid in both XML 1.0 and 1.1. Has an NMTOKENS attribute containing a CR character that comes from a character reference in an internal entity. Because CR is in the S production, this is valid in both XML 1.0 and 1.1. Has an NMTOKENS attribute containing a NEL character that comes from a character reference in an internal entity. Because NEL is not in the S production (even though real NELs are converted to LF on input), this is invalid in both XML 1.0 and 1.1. Has an NMTOKENS attribute containing a NEL character that comes from a character reference in an internal entity. Because NEL is not in the S production (even though real NELs are converted to LF on input), this is invalid in both XML 1.0 and 1.1. Contains a C0 control character (form-feed), illegal in both XML 1.0 and 1.1 Contains a C0 control character (form-feed), illegal in both XML 1.0 and 1.1 Contains a C1 control character (partial line up), legal in XML 1.0 but not 1.1 Contains a C1 control character (partial line up), legal in XML 1.0 but not 1.1 Contains a character reference to a C0 control character (form-feed), legal in XML 1.1 but not 1.0 Contains a character reference to a C0 control character (form-feed), legal in XML 1.1 but not 1.0 Contains a character reference to a C1 control character (partial line up), legal in both XML 1.0 and 1.1 (but for different reasons) Contains a character reference to a C1 control character (partial line up), legal in both XML 1.0 and 1.1 (but for different reasons) Has a NEL character in element content whitespace; well-formed in both XML 1.0 and 1.1, but valid only in 1.1 Has a NEL character in element content whitespace; well-formed in both XML 1.0 and 1.1, but valid only in 1.1 Has an LSEP character in element content whitespace; well-formed in both XML 1.0 and 1.1, but valid only in 1.1 has an LSEP character in element content whitespace; well-formed in both XML 1.0 and 1.1, but valid only in 1.1 Has element content whitespace containing a CR character that comes from a character reference in an internal entity. Because CR is in the S production, this is valid in both XML 1.0 and 1.1. Has element content whitespace containing a CR character that comes from a character reference in an internal entity. Because CR is in the S production, this is valid in both XML 1.0 and 1.1. Has element content whitespace containing a NEL character that comes from a character reference in an internal entity. Because NEL is not in the S production (even though real NELs are converted to LF on input), this is invalid in both XML 1.0 and 1.1. Has element content whitespace containing a NEL character that comes from a character reference in an internal entity. Because NEL is not in the S production (even though real NELs are converted to LF on input), this is invalid in both XML 1.0 and 1.1. Contains a character reference to a C0 control character (form-feed) in an entity value. This will be legal (in XML 1.1) when the entity declaration is parsed, but what about when it is used? According to the grammar in the CR spec, it should be illegal (because the replacement text must match "content"), but this is probably not intended. This will be fixed in the PR version. Has a Latin-1 NEL in the XML declaration (to be made an error in PR) Has a UTF-8 NEL in the XML declaration (to be made an error in PR) Has a UTF-8 LSEP in the XML declaration (to be made an error in PR) Namespace name test: a perfectly good http URI Namespace name test: a syntactically plausible URI with a fictitious scheme Namespace name test: a perfectly good http URI with a fragment Namespace name test: a relative URI (deprecated) Namespace name test: a same-document relative URI (deprecated) Namespace name test: an http IRI that is not a URI Namespace inequality test: different capitalization Namespace inequality test: different escaping Namespace equality test: plain repetition Namespace equality test: use of character reference Namespace equality test: use of entity reference Namespace inequality test: equal after attribute value normalization Bad QName syntax: multiple colons Bad QName syntax: colon at end Bad QName syntax: colon at start Bad QName syntax: xmlns: Simple legal case: no namespaces Simple legal case: default namespace Simple legal case: prefixed element Simple legal case: prefixed attribute Simple legal case: default namespace and unbinding Simple legal case: default namespace and rebinding Illegal use of 1.1-style prefix unbinding in 1.0 document Simple legal case: prefix rebinding Unbound element prefix Unbound attribute prefix Reserved prefixes and namespaces: using the xml prefix undeclared Reserved prefixes and namespaces: declaring the xml prefix correctly Reserved prefixes and namespaces: declaring the xml prefix incorrectly Reserved prefixes and namespaces: binding another prefix to the xml namespace Reserved prefixes and namespaces: declaring the xmlns prefix with its correct URI (illegal) Reserved prefixes and namespaces: declaring the xmlns prefix with an incorrect URI Reserved prefixes and namespaces: binding another prefix to the xmlns namespace Reserved prefixes and namespaces: binding a reserved prefix Attribute uniqueness: repeated identical attribute Attribute uniqueness: repeated attribute with different prefixes Attribute uniqueness: different attributes with same local name Attribute uniqueness: prefixed and unprefixed attributes with same local name Attribute uniqueness: prefixed and unprefixed attributes with same local name, with default namespace Attribute uniqueness: prefixed and unprefixed attributes with same local name, with default namespace and element in default namespace Attribute uniqueness: prefixed and unprefixed attributes with same local name, element in same namespace as prefixed attribute Colon in PI name Colon in entity name Colon in entity name Colon in ID attribute name Colon in ID attribute name Namespace name test: a perfectly good http IRI that is not a URI Namespace inequality test: different escaping of non-ascii letter 1.1 style prefix unbinding 1.1 style prefix unbinding and rebinding Illegal use of prefix that has been unbound Test whether non-Latin-1 characters are accepted in IRIs, and whether they are correctly distinguished CDATA sections may occur in Mixed content. CDATA sections, comments and PIs may occur in ANY content. Default values for IDREF attributes must match Name. Default values for ENTITY attributes must match Name. Default values for IDREFS attributes must match Names. Default values for ENTITIES attributes must match Names. Default values for NMTOKEN attributes must match Nmtoken. Default values for NMTOKENS attributes must match Nmtokens. Default values for NOTATION attributes must match one of the enumerated values. Default values for enumerated attributes must match one of the enumerated values. Non-syntactic validity errors in default attributes only happen if the attribute is in fact defaulted. Default values for attributes may not contain references to external entities. Even internal parameter entity references are enough to make undeclared entities into mere validity errors rather than well-formedness errors. The xml namespace must not be declared as the default namespace. The xmlns namespace must not be declared as the default namespace. Elements must not have the prefix xmlns.