# XML Test Matrix

Section | Type | Purpose | Level | XML Test(s)
--- | --- | --- | --- | ---
Documents | Well_Formed | A document consisting of prolog followed by element then misc. items is a well-formed document | one | ibm-valid-P01-ibm01v013
Documents | Well_Formed | A well formed document must have one or more elements | one | ibm-not-wf-P01-ibm01n01
Documents | Well_Formed | An XML document must contain exactly one top level element | one | o-p01fail3 not-wf-sa-040 not-wf-sa-041 not-wf-sa-044
Documents | Well_Formed | A document with no prolog is a well-formed document | one | o-p01pass1
Documents | Well_Formed | A document consisting of an element followed by a prolog is not a well-formed element | one | ibm-not-wf-P01-ibm01n02 not-wf-sa-151
Documents | Well_Formed | In a well-formed document a comment can not occur before the prolog | one | o-p01fail2
Documents | Well_Formed | A document that contains a root element followed by misc. items is a well-formed document | one | o-p01pass3 o-p01pass2
Documents | Well_Formed | in a well formed document the root element must not be followed by text or PCDATA | one | not-wf-sa-036 not-wf-sa-043
Documents | Well_Formed | in a well formed document the root element must not be followed by CDATA | one | not-wf-sa-048
Documents | Well_Formed | in a well formed document the root element must not be followed by character references | one | not-wf-sa-037 not-wf-sa-043
Documents | Well_Formed | A well formed document does not include the top level element as part of the content of another element | one | ????
Documents | Well_Formed | In a well-formed document, elements that contains data must have both start and end tags. | one | ????
Documents | Well_Formed | In a well-formed document, empty elements using only a single tag must end with /> | one | o-p01fail4
Documents | Well_Formed | In a well-formed document the root element must completely contain all other elements | one | ibm-not-wf-P01-ibm01n03
Documents | Well_Formed | In a well-formed document only one top level element (root element) is allowed | one | ibm-not-wf-P01-ibm01n03
Documents | Well_Formed | In a well-formed document the XML declaration, if present, must be the first line in the document. | one | ????
Documents | Well_Formed | In a well-formed document elements containing other elements must not overlap | one | ????
Documents | Well_Formed | A root element with no data is a well-formed document | one | ibm-not-wf-P02-ibm02n01.xml
Documents | Well_Formed | In a well-formed document parameter entity reference are not allow inside a markup declaration | one | not-wf-sa-160 not-wf-sa-161 not-wf-sa-162 valid -sa-094
Documents | Well_Formed | In a well-formed document a CDATA section must occur as part of a element content | one | not-wf-sa-051 not-wf-sa-105
Documents | Well_Formed | In well-formed document an attribute name may not appear more than one in the same element | one | ????
Documents | Well_Formed | In a well-formed document attribute values do not contain External Entity References | one | ????
Documents | Characters | Non-printing ASCII control characters are illegal XML characters | one | not-wf-sa-030 not-wf-sa-031 not-wf-sa-032 not-wf-sa-033 not-wf-sa-034 not-wf-sa-142 not-wf-sa-143 not-wf-sa-146 o-p02fail1 o-p02fail10 o-p02fail11 o-p02fail12 o-p02fail13 o-p02fail14 o-p02fail15 o-p02fail16 o-p02fail17 o-p02fail18 o-p02fail19 o-p02fail2 o-p02fail20 o-p02fail21 o-p02fail22 o-p02fail23 o-p02fail24 o-p02fail25 o-p02fail26 o-p02fail27 o-p02fail28 o-p02fail29 o-p02fail3 o-p02fail30 o-p02fail31 o-p02fail4 o-p02fail5 o-p02fail6 o-p02fail7 o-p02fail8 o-p02fail9 ibm-valid-P02-ibm02v02 ibm-valid-P02-ibm02v01
Documents | Characters | Surrogate blocks are illegal XML characters | one | not-wf-sa-145 not-wf-sa-168 not-wf-sa-169 ibm-valid-P02-ibm02v02
Documents | Characters | The Characters #x10000-#x10ffff, are outside the normal ascii range, but they are considered legal XML characters | one | valid-sa-049 valid-sa-050 ibm-valid-P02-ibm02v02
Documents | Characters | Characters outside the normal ascii that are not in the range of #x10000-#x10ffff are ilegal XML characters | one | not-wf-sa-170 valid-sa-051 ibm-valid-P02-ibm02v02
Documents | Characters | Non-characters, #xFFFE and #xFFFF, are illegal XML characters | one | not-wf-sa-144 not-wf-sa-166 not-wf-sa-167 not-wf-sa-171 not-wf-sa-172 not-wf-sa-173 not-wf-sa-174 not-wf-sa-175 not-wf-sa-177 ibm-valid-P02-ibm02v02
Documents | Common Syntactic Constructs | "#x20", "#x9", "#xA" and "#xD" are legal whitespaces in an XML document | one | ibm-valid-P03-ibm03v01 o-p03pass1 o-p03fail1 o-p03fail10 o-p03fail11 o-p03fail12 o-p03fail13 o-p03fail14 o-p03fail15 o-p03fail16 o-p03fail17 o-p03fail8 o-p03fail19 o-p03fail20 o-p03fail21 o-p03fail22 o-p03fail23 o-p03fail24 o-p03fail25 o-p03fail26 o-p03fail27 o-p03fail28 o-p03fail29 o-p03fail3 o-p03fail4 o-p03fail5 o-p03fail7 o-p03fail8 o-p03fail9
Documents | Common Syntactic Constructs | Names beginning with the string "xml" are not allowed as an XML name | one | sandratest03n01
Documents | Common Syntactic Constructs | Colons ":" are legal XML names that should be used only for namespaces | one | o-p05pass1 valid-sa-012
Documents | Common Syntactic Constructs | A name consisting of only a letter, "_" or ":" is a legal XML name | one | ????
Documents | Common Syntactic Constructs | Names must begin with a letter, "_" or ":" and followed by zero or more nama characters to be consider a legal XML name | one | ibm-not-wf-P05-ibm05n01 ibm-not-wf-P05-ibm05n02 ibm-not-wf-P05-ibm05n03 not-wf-sa-002 not-wf-sa-140 not-wf-sa-008 not-wf-sa-023 not-wf-sa-024 o-p05fail1 o-p05fail2 o-p05fail3 o-p05fail4 o-p05fail5 o-p04pass1 not-wf-element02 not-wf-element03 valid-sa-063
Documents | Common Syntactic Constructs | Characters that are not letters, periods, hyphen, underscore, colons, combining character and extenders are illegal name characters | one | ibm-not-wf-P04-ibm04n03 ibm-not-wf-P04-ibm04n04 ibm-not-wf-P04-ibm04n05 ibm-not-wf-P04-ibm04n06 ibm-not-wf-P04-ibm04n07 ibm-not-wf-P04-ibm04n08 ibm-not-wf-P04-ibm04n09 o-p04pass1 o-p04fail1 o-p04fail2 o-p04fail3 not-wf-sa-141
Documents | Common Syntactic Constructs | When more than one XML name is used it must be separated only by a space (#x20) | one-errata | o-p06pass1
Documents | Common Syntactic Constructs | A name token is any sequence of one or more name characters | one | o-p07pass1
Documents | Common Syntactic Constructs | A name token has no restriction on what the first character is as long as it is a valid name character | one | o-p08pass1
Documents | Common Syntactic Constructs | A group of name tokens must be one or more XML name tokens separated by a space ("#x20) | one | o-p08fail1 o-p08fail2 o-p08pass1
Documents | Common Syntactic Constructs | An entity value must contain any characters enclosed in double quotes except for %, double quotes and & unless is used as part of a character reference, general reference or parameter entity reference | one | not-wf-sa-113 not-wf-sa-114 not-wf-sa-159 o-p09fail1 o-p09fail2 o-p09fail3 o-p09pass1
Documents | Common Syntactic Constructs | An entity value must contain any characters enclosed in single quotes except for %, single quotes and & unless is used as part of a character reference, general reference or parameter entity reference | one | not-wf-sa-077
Documents | Common Syntactic Constructs | An entity value must be enclosed in matching quotes, either single quotes or double quotes | one | o-p09fail5
Documents | Common Syntactic Constructs | An attribute value must contain any characters enclosed in double quotes except for <, double quotes and & unless is used as part of a character reference or general reference | one | ibm-valid-p10-ibm10v03 ibm-valid-p10-ibm10v05 ibm-valid-p10-ibm10v07 o-p10pass1 not-wf-sa-012 not-wf-sa-014 not-wf-sa-020 not-wf-sa-021 not-wf-sa-090 o-p10fail1 o-p10fail2 valid-sa-109 valid-sa-013 valid-sa-014 valid-sa-015 valid-not-sa-023
Documents | Common Syntactic Constructs | An attribute value must be enclosed in matching quotes, either single quotes or double quotes | one | not-wf-sa-013 not-wf-sa-088 o-p10fail3 not-wf-sa-178 o-p41fail1 valid-sa-006
Documents | Common Syntactic Constructs | An attribute value must contain any characters enclosed in single quotes except for <, single quotes and & unless is used as part of a character reference or general reference | one | ibm-valid-p10-ibm10v04 ibm-valid-p10-ibm10v06 ibm-valid-p10-ibm10v08 o-p10pass1 not-wf-sa-012 not-wf-sa-014 not-wf-sa-020 not-wf-sa-021 not-wf-sa-090 o-p10fail1 o-p10fail2
Documents | Common Syntactic Constructs | A system literal must be any string of text that does not contain the double quote mark enclosed in double quotes | one | ibm-valid-p11-ibm11v01 ibm-valid-p11-ibm11v04 o-p11fail2 o-p11pass1
Documents | Common Syntactic Constructs | A system literal must be any string of text that does not contain the single quote mark enclosed in single quotes | one | ibm-valid-p11-ibm11v02 ibm-valid-p11-ibm11v03
Documents | Common Syntactic Constructs | A system literal must be enclosed in matching single or double quotes | one | o-p11fail1 o-p11pass1
Documents | Common Syntactic Constructs | A public ID literal enclosed in single quotes is a legal if it contains zero or more public Id literal excluding the single quotes | one | ibm-not-wf-P12-ibm12n02 ibm-not-wf-P12-ibm12n03 ibm-valid-p12-ibm12v02.xml ibm-valid-p12-ibm12v04.xml
Documents | Common Syntactic Constructs | A public ID literal with zero or more public Id characters enclosed in double quotes is a legal public Id literal | one | ibm-not-wf-P12-ibm12n01 ibm-valid-p12-ibm12v01.xml ibm-valid-p12-ibm12v03.xml
Documents | Common Syntactic Constructs | The ASCII space, carriage return, linefeed, the letter a through z and A through Z, the digits 0 through 9, and the puntuation characters -'(),./:=?;!*#@$_% are permisible piblic ID characters | one | ibm-not-wf-P13-ibm13n01 ibm-not-wf-P13-ibm13n02 ibm-valid-p13-ibm13v01.xml not-wf-pubid01 not-wf-pubid02 not-wf-pubid03 not-wf-pubid04 o-p12pass1 o-p12fail7 not-wf-sa-085 not-wf-sa-086 not-wf-sa-087 o-p12fail1 o-p12fail2 o-p12fail3 o-p12fail4 o-p12fail5 o-p12fail6 valid-sa-100
Documents | Common Syntactic Constructs | A public ID literal with no public Id characters enclosed in quotes is a legal public Id literal | one | ????
Documents | Character Data and Markup | The CDATA-section-close delimeter is not a permisible character data | one | not-wf-sa-025 not-wf-sa-026 not-wf-sa-029 o-p14fail3 ibm-no-wf-p14-1ib14n01
Documents | Character Data and Markup | Character data must consits of any number of characters except for <, &, and the CDATA-section-close delimeter | one | o-p14pass1 valid-sa-048 ibm-valid-p14-ibm14v03 sun-invalid-empty
Documents | Character Data and Markup | & and < are not legal character data | one | ibm-no-wf-p14-1ib14n02 ibm-no-wf-p14-1ib14n03 o-p14fail2
Documents | Character Data and Markup | If & is used as part of character data it must be escaped using & | one | ????
Documents | Character Data and Markup | If < is used as part of character data it must be escaped using < | one | ????
Documents | Character Data and Markup | The literal form of < is allowed within a comment | one | ????
Documents | Character Data and Markup | The literal form of < is allowed within a processing instruction | one | ????
Documents | Character Data and Markup | The literal form of < is allowed within a CDATA section | one | ????
Documents | Character Data and Markup | The literal form of < is allowed when used as a markup delimenter | one | ????
Documents | Character Data and Markup | The literal form of & is allowed within a comment | one | ????
Documents | Character Data and Markup | The literal form of & is allowed within a processing instruction | one | ????
Documents | Character Data and Markup | The literal form of & is allowed within a CDATA section | one | ????
Documents | Character Data and Markup | The literal form of & is allowed when used as a markup delimenter | one | ????
Documents | Character Data and Markup | Character data may contain as few as zero characters | one | ibm-valid-p14-ibm14v01 ibm-valid-p14-ibm14v02
Documents | Comments | A comment must consits of any string of text enclosed between "<--" and and "-->" except a hyphen following the delimiter that marks the begining of a comment or except a hyphen prior the delimiter that marks the end of a comment | one | 0-p43pass1 0-p15pass1 ibm-not-wf-P15-ibm15n02.xml ibm-not-wf-P15-ibm15n03.xml ibm-not-wf-P15-ibm15n04.xml valid-sa-021 valid-sa-022 valid-sa-119 ibm-not-wf-P15-ibm15n01.xml
Documents | Comments | Hyphens are not allowed immediately after the delimeter that marks the begining of a comment | one | ibm-not-wf-P15-ibm15n01.xml 0-p15fail1
Documents | Comments | For compatibility, the string "--" (double-hyphen) must not occur within comments | one | 0-p15fail2 0-p15fail3 not-wf-sa-006
Documents | Comments | Hyphens are not allowed prior to the delimeter that marks the end of a comment | one | sun-not-wf-sgml03 0-p15fail1 0-p15fail2 not-wf-sa-070
Documents | Comments | Non-printing ASCII control characters are illegal characters in a comment | one | ibm-not-wf-P02-ibm02n01.xml ibm-not-wf-P02-ibm02n02.xml ibm-not-wf-P02-ibm02n03.xml ibm-not-wf-P02-ibm02n04.xml ibm-not-wf-P02-ibm02n05.xml ibm-not-wf-P02-ibm02n06.xml ibm-not-wf-P02-ibm02n07.xml ibm-not-wf-P02-ibm02n08.xml ibm-not-wf-P02-ibm02n09.xml ibm-not-wf-P02-ibm02n10.xml ibm-not-wf-P02-ibm02n11.xml ibm-not-wf-P02-ibm02n12.xml ibm-not-wf-P02-ibm02n13.xml ibm-not-wf-P02-ibm02n14.xml ibm-not-wf-P02-ibm02n15.xml ibm-not-wf-P02-ibm02n16.xml ibm-not-wf-P02-ibm02n17.xml ibm-not-wf-P02-ibm02n18.xml ibm-not-wf-P02-ibm02n19.xml ibm-not-wf-P02-ibm02n20.xml ibm-not-wf-P02-ibm02n21.xml ibm-not-wf-P02-ibm02n22.xml ibm-not-wf-P02-ibm02n23.xml ibm-not-wf-P02-ibm02n24.xml ibm-not-wf-P02-ibm02n25.xml ibm-not-wf-P02-ibm02n26.xml ibm-not-wf-P02-ibm02n27.xml ibm-not-wf-P02-ibm02n28.xml ibm-not-wf-P02-ibm02n29.xml
Documents | Comments | Surrogate blocks are illegal characters in a comment | one | ibm-not-wf-P02-ibm02n30.xml ibm-not-wf-P02-ibm02n31.xml
Documents | Comments | Non-characters, #xFFFE and #xFFFF, are illegal characters in a comment | one | ibm-not-wf-P02-ibm02n32.xml ibm-not-wf-P02-ibm02n33.xml
Documents | Comments | A comment is allowed anywhere in the document outside the markup | one | ibm-not-wf-P02-ibm02n30.xml valid-sa-038
Documents | Comments | In a DTD comments must appear outside a declaration | one | ????
Documents | Comments | Parameter entity references are not recognized within comments | one | sun-valid-dtd01
Documents | Processing Instructions | A processing instruction must consits of the literal "<?" followed by the name of the processing instruction target, optionally followed by whitespace followed by any number of characters using "?>" to close the processing instruction | one | o-p43pass1 ibm-not-wf-P16-ibm16n02.xml valid-sa-036 valid-sa-039 valid-sa-055 valid-sa-098 valid-sa-016 valid-sa-017
Documents | Processing Instructions | A processing instruction must begin with "<?" | one | ????
Documents | Processing Instructions | A processing instruction must end with "?>" | one | ibm-not-wf-P16-ibm16n03.xml ibm-not-wf-P16-ibm16n04.xml no-wf-sa-004 no-wf-sa-005 no-wf-sa-028 ibm-valid-p16-ibm16v03
Documents | Processing Instructions | The "?>" delimeter is not allow within a processing instruction | one | ibm-not-wf-P16-ibm16n01.xml
Documents | Processing Instructions | The processing instruction target name must follow the first "?>" | one | no-wf-sa-003
Documents | Processing Instructions | In a processing instruction the processing instruction target name must follow the first "?>" and must be followed by a white space | one | o-p16fail2 ibm-not-wf-P16-ibm16n02.xml sun-not-wf-pi
Documents | Processing Instructions | A whitespace is allowed before the end of a processing instruction | one | o-p16pass1 o-p16pass2 o-p16pass3
Documents | Processing Instructions | If a processing instruction includes additional instructions they must follow the target name using a white space as a separator | one | ????
Documents | Processing Instructions | A processing instruction with only a processing instruction target name is a valid processing instruction | one | ????
Documents | Processing Instructions | In a processing instruction a white space is not allow after the first <? | one | ????
Documents | Processing Instructions | The target name in a processing instruction must accept any legal xml name | one | ibm-not-wf-P16-ibm16n01.xml
Documents | Processing Instructions | The string xml is not allow, in any combination of case, as a target name in a processing instruction | one | ibm-not-wf-P17-ibm17n01.xml ibm-not-wf-P17-ibm17n02.xml ibm-not-wf-P17-ibm17n03.xml ibm-not-wf-P17-ibm17n04.xml o-p16fail1 not-wf-sa-157 not-wf-sa-002 not-wf-ext-sa-003 ibm-valid-p17-ibm17v01
Documents | Processing Instructions | Paramenter entity references are not recognized within processing instructions | one | ????
Documents | CDATA | A CDATA section (CDSect) must be composed of a CDStart, CData, and CDEnd in that order | one | o-p43pass1 not-wf-sa-128 ibm-not-wf-P18-ibm18n01.xml ibm-not-wf-P18-ibm18n02.xml valid-sa-018 ibm-not-wf-P20-ibm20n02.xml ibm-not-wf-P20-ibm20n01.xml
Documents | CDATA | The start of a CDATA section is always the literal string <![CDATA[ in that specific order | one | o-p18fail1 o-p18fail2 not-wf-sa-018 not-wf-sa-108 not-wf-sa-112 ibm-not-wf-P18-ibm18n01.xml ibm-not-wf-P19-ibm19n01.xml ibm-not-wf-P19-ibm19n02.xml ibm-not-wf-P19-ibm19n03.xml
Documents | CDATA | A CDATA section always end with the string "]]>" | one | no-wf-sa-017 ibm-not-wf-P18-ibm18n02.xml ibm-not-wf-P20-ibm20n01.xml ibm-not-wf-P21-ibm21n01.xml ibm-not-wf-P21-ibm21n02.xml ibm-not-wf-P21-ibm21n03.xml
Documents | CDATA | In a CDATA section a left angle brackets "<" can occur in their literal form | one | ????
Documents | CDATA | In a CDATA section ampersands can occur in their literal form | one | valid-sa-019 ????
Documents | CDATA | Nesting in CDATA sections is not allowed | one | o-p18fail2
Documents | CDATA | A CDATA section allows any characters except the "]]>" | one | sun-invalid-empty
Documents | CDATA | The character data in the CDATA section is not markup data | one | valid-sa-020 valid-sa-114 valid-not-sa-031
Documents | Prolog and Document Type Declaration | A prolog must consist of an optional XMLDecl followed by zero or more miscellaneous items, followed by an optional document type declaration and zero or more miscellaneous items | one | o-p22fail2 ibm-not-wf-P22-ibm22n01.xml ibm-not-wf-P22-ibm23n02.xml ibm-not-wf-P22-ibm23n03.xml ibm-valid-P22-ibm22n01.xml ibm-valid-P22-ibm22n05.xml ibm-valid-P22-ibm22n06.xml ibm-valid-P22-ibm22n07.xml o-p01pass2
Documents | Prolog and Document Type Declaration | If a prolog contains an XML declaration it must be at the very beginning of the document | one | sun-not-wf-sgml02
Documents | Prolog and Document Type Declaration | A prolog can be empty | one | o-p22pass1
Documents | Prolog and Document Type Declaration | An XMLDecl followed by miscellaneous items is considered a legal prolog | one | o-p22pass1 o-p01pass2
Documents | Prolog and Document Type Declaration | A white space must not occur before the XMLDecl in a legal prolog | one | o-p01fail1 not-wf-sa-147
Documents | Prolog and Document Type Declaration | A comment must not occur before the XMLDecl in a legal prolog | one | not-wf-sa-148 o-p22fail1
Documents | Prolog and Document Type Declaration | A prolog consisting of miscellaneous items followed by a document type declaration is a legal prolog | one | o-p22pass4 o-p22pass5 ibm-valid-P22-ibm22n03.xml o-p01pass2
Documents | Prolog and Document Type Declaration | A prolog consiting of a document type delaration followed by misc. items is a legal prolog | one | o-p22pass4 o-p22pass5 ibm-valid-P22-ibm22n04.xml o-p01pass2
Documents | Prolog and Document Type Declaration | A prolog consisting of only an XML declaration is a valid prolog | one | o-p22pass2
Documents | Prolog and Document Type Declaration | A prolog consisting of only misc. items is a valid prolog | one | o-p01pass2
Documents | Prolog and Document Type Declaration | A prolog consisting of more than one XML declaration is considered illegal | one | ????
Documents | Prolog and Document Type Declaration | A prolog with no XML declaration is considered legal | one | ????
Documents | Prolog and Document Type Declaration | A prolog with no misc. items is considered legal | one | ????
Documents | Prolog and Document Type Declaration | A prolog consisting of more than one document type declaration is considered illegal | one | ????
Documents | Prolog and Document Type Declaration | A prolog consisting of only one document type declaration is considered legal | one | ibm-valid-P22-ibm22n02.xml
Documents | Prolog and Document Type Declaration | A legal XML declaration must consists of the literal string "<?xml followed by the mandatory version information string, followed by an optional encoding declaration, followed by an optional standalone document declaration, followed by an optional whitespace and followed by the literal string "?>" | one | ibm-not-wf-P23-ibm23n02.xml ibm-not-wf-P23-ibm23n03.xml not-wf-sa-099 o-p23pass1 o-p23pass2 o-p23pass3 o-p23pass4 o-p23fail5 ibm-valid-P23-ibm23n03.xml ibm-valid-P23-ibm23n04.xml ibm-valid-P23-ibm23n05.xml ibm-valid-P23-ibm23n06.xml valid-sa-033
Documents | Prolog and Document Type Declaration | In an XML declaration the literal string "<?xml must be in lower-case | one | o-p23fail1 not-wf-sa-154 not-wf-sa-155 not-wf-sa-156
Documents | Prolog and Document Type Declaration | In an XML declaration the version information must preceed the encoding declaration | one | not-wf-sa-095 o-p23fail3 o-p23pass2 ibm-valid-P23-ibm23n02.xml
Documents | Prolog and Document Type Declaration | An XML declaration must contain the literal string "<?xml followed by one mandatory version information string | one | not-wf-sa-152 ibm-not-wf-P23-ibm23n01.xml not-wf-sa-098 o-p23fail2 ibm-valid-P23-ibm23n01.xml
Documents | Prolog and Document Type Declaration | An XML declaration with only the literal string "<?xml followed by the mandatory version information string is considered legal | one | ????
Documents | Prolog and Document Type Declaration | An XML declaration must begin with the string "<?xml" and end with "?>" | one | ibm-not-wf-P23-ibm23n04.xml ibm-not-wf-P23-ibm23n05.xml ibm-not-wf-P23-ibm23n06.xml o-p23fail4 o-p23fail5 o-p23pass3
Documents | Prolog and Document Type Declaration | A white space is allowed as a separator before the end string "?>" | one | ????
Documents | Prolog and Document Type Declaration | No more than two white spaces are allowed as a separator before the end string "?>" | one | ????
Documents | Prolog and Document Type Declaration | More than one encoding declaration are allowed in an XML declaration | one | ????
Documents | Prolog and Document Type Declaration | In an XML declaration the standalone document declaration must be positioned last | one | o-p23fail4
Documents | Prolog and Document Type Declaration | More than one standalone document declaration is not allowed in an XML declaration | one | ????
Documents | Prolog and Document Type Declaration | An encoding declaration is not mandatory in an XML declaration | one | o-p23pass3 ibm-valid-P23-ibm23n03.xml
Documents | Prolog and Document Type Declaration | A standalone document declaration is not mandatory in an XML declaration | one | o-p23pass2
Documents | Prolog and Document Type Declaration | A whitespace "S" is not mandatory after an XML declaration | one | o-p23pass6
Documents | Prolog and Document Type Declaration | The version information must begin with a white space followed by the literal string "version", followed by one equal sign, and followed by a version number enclosed in single or double quotes | one | ibm-not-wf-P24-ibm24n01.xml ibm-not-wf-P24-ibm24n03.xml ibm-not-wf-P24-ibm24n04.xml ibm-not-wf-P24-ibm24n05.xml ibm-not-wf-P24-ibm24n06.xml ibm-not-wf-P24-ibm24n07.xml ibm-valid-P26-ibm26n01.xml
Documents | Prolog and Document Type Declaration | A comment is not allowed in the version information | one | o-p25fail1
Documents | Prolog and Document Type Declaration | In the version information, the string "version" must be lowercase | one | not-wf-sa-094
Documents | Prolog and Document Type Declaration | The version number in the version information string must be enclosed with matching single or double quotes | one | ibm-not-wf-P24-ibm24n08.xml ibm-not-wf-P24-ibm24n09.xml o-p24pass1 o-p24pass2 not-wf-sa-097 o-p24fail1 o-p24fail2 ibm-valid-P24-ibm24n01.xml ibm-valid-P24-ibm24n02.xml valid-sa-028 valid-sa-029
Documents | Prolog and Document Type Declaration | The string "Eq" in the version information must consist of the equal sign "=" with optional whitespaces on either side | one | ibm-not-wf-P25-ibm25n02.xml ibm-not-wf-P25-ibm25n01.xml o-p24pass4 o-p25pass1 o-p25pass2 ibm-valid-P25-ibm25n01.xml ibm-valid-P25-ibm25n02.xml ibm-valid-P25-ibm25n03.xml ibm-valid-P25-ibm25n04.xml valid-sa-030
Documents | Prolog and Document Type Declaration | In the version information string only a white space is allowed before the literal string "version" | one | ibm-not-wf-P24-ibm24n02.xml o-p24pass3
Documents | Prolog and Document Type Declaration | A version number must consists of one or more letters a through z, A through Z, digits 0-9, underscore, the period, and the hyphen | one | ibm-not-wf-P26-ibm26n01.xml not-wf-sa-102 o-p26fail1 o-p26fail2 o-p26pass1
Documents | Prolog and Document Type Declaration | White spaces are not allowed as part of a version number | one | ????
Documents | Prolog and Document Type Declaration | A miscelaneus item must consits of comments, processing instructions and whitespace | one | ibm-not-wf-P27-ibm27n01.xml o-p01pass2
Documents | Prolog and Document Type Declaration | A comment is a legal miscellaneous item | one | o-p27pass1 ibm-valid-P27-ibm27n01.xml o-p01pass2
Documents | Prolog and Document Type Declaration | A processing instruction is a legal miscellaneous item | one | o-p27pass2 ibm-valid-P27-ibm27n02.xml o-p01pass2
Documents | Prolog and Document Type Declaration | A white space is legal miscellaneous item | one | o-p27pass3 ibm-valid-P27-ibm27n03.xml
Documents | Prolog and Document Type Declaration | Micellaneous items must consits of comments, whitespaces and processing instructions | one | o-p27pass4 o-p01pass2
Documents | Prolog and Document Type Declaration | References are not allowed as part of a miscellaneous item | one | o-p27fail1
Documents | Prolog and Document Type Declaration | An XML document is valid if it has an associated document type declaration and if the document complies with the constraints expressed in it | one | o-p16fail3
Documents | Prolog and Document Type Declaration | The document type declaration must appear before the first element in the document | one | ????
Documents | Prolog and Document Type Declaration | Multiple document type declarations are not allowed in an XML document | one | ????
Documents | Prolog and Document Type Declaration | The document type declaration must begin with a literal string "<DOCTYPE" and must end with > | one | ibm-not-wf-P28-ibm28n05 ibm-not-wf-P28-ibm28n08 ibm-valid-P28-ibm28n01.xml
Documents | Prolog and Document Type Declaration | A document type declaration must consits of the string "<DOCTYPE" followed by white space, followed by an XML name, optionally followed by a white space and an external id, optionally followed by more whitespace, optionally followed by an internal subset enclosed in "[]" and followed by optional whitespace, followed by a closing angle bracket | one-errata | ibm-not-wf-P28-ibm28n01 ibm-not-wf-P28-ibm28n02 ibm-not-wf-P28-ibm28n03 ibm-not-wf-P28-ibm28n06 ibm-not-wf-P28-ibm28n07 not-wf-sa-055 ibm-valid-P28-ibm28n01.xml ibm-valid-P28-ibm28n02.xml o-p28pass4 not-wf-sa-056
Documents | Prolog and Document Type Declaration | CDATA are not allowed within document type declaration | one | not-wf-sa-107
Documents | Prolog and Document Type Declaration | Elements are not allowed within document type declaration | one | o-p28fail1
Documents | Prolog and Document Type Declaration | An XML declaration is not allowed within document type declaration | one | not-wf-sa-149
Documents | Prolog and Document Type Declaration | A general entity reference must not occurred in a document type declaration | one | ibm-not-wf-P28-ibm28n04.xml ibm-not-wf-P31-ibm31n01.xml
Documents | Prolog and Document Type Declaration | In a document type declaration, if a white space is used prior to the end "> delimeter, only one is allow | one | ????
Documents | Prolog and Document Type Declaration | The XML name in the document type declaration must match the element type of the root element | one | ibm-not-wf-P28-ibm28n04.xml sun-invalid-root
Documents | Prolog and Document Type Declaration | Only one external id is allowed in document type declaration | one | ????
Documents | Prolog and Document Type Declaration | Only one white space must be used to separate the external id from the XML name in a document type declaration | one | ????
Documents | Prolog and Document Type Declaration | In a document type declaration the external subset must consits of an optional text declaration, followed by an external subset declaration | one | o-p30pass1 o-p30pass2 ibm-not-wf-P30-ibm30n02.xml
Documents | Prolog and Document Type Declaration | An external subset declaration must consits of zero or more markup declaration, conditional section, paramenter entity references, and whitespace in any other | one | o-p31fail1 o-p31pass2 ibm-not-wf-P31-ibm31n01.xml valid-not-sa-024
Documents | Prolog and Document Type Declaration | An external subset can be empty | one | o-p31pass1
Documents | Prolog and Document Type Declaration | Conditional sections are not allowed in an internal DTD subset | one | not-wf-sa-063
Documents | Prolog and Document Type Declaration | A document type declaration can consists of an internal subset, an external subset or both | one-errata | ibm-valid-P28-ibm28n01.xml ibm-valid-P30-ibm30n01.xml valid-not-sa-007
Documents | Prolog and Document Type Declaration | A document type declaration can consists of only an internal subset | one-errata | ????
Documents | Prolog and Document Type Declaration | In a markup declaration,parameter-entity replacement text must be properly nested | one-errata | invalid-001 invalid-003 invalid-004 invalid-005 invalid-006 ibm-not-wf-P29-ibm29n01.xml
Documents | Prolog and Document Type Declaration | Markup declaration can consist of only paramenter entity references | one-errata | ????
Documents | Prolog and Document Type Declaration | A document type declaration does not have to point to an external subset nor an internal subset to be considered well-formed | one-errata | ????
Documents | Prolog and Document Type Declaration | Paramenter entity references are only recognized within DTD's (internal, external and external paramenter entities) | one | ????
Documents | Prolog and Document Type Declaration | Paramenter entity references are not recognized in a comment portion of a DTD | one | ????
Documents | Prolog and Document Type Declaration | Paramenter entity references are not recognized in a literal portion of a DTD | one | ????
Documents | Prolog and Document Type Declaration | Paramenter entity references are not recognized in a processing portion of an external DTD subset | one | ????
Documents | Prolog and Document Type Declaration | Paramenter entity references are not recognized as a content of ignored conditional section of an external subset declaration | one | ????
Documents | Prolog and Document Type Declaration | The internal DTD subset allows any number of markup declarations or parameter entity references outside of markup declarations | one-errata | ibm-valid-P29-ibm29n02.xml
Documents | Prolog and Document Type Declaration | In an internal DTD subset parameter entity references are not permitted within markup declaration | one-errata | ibm-not-wf-p29-ibm29n02 ibm-not-wf-p29-ibm29n03 ibm-not-wf-p29-ibm29n04 ibm-not-wf-p29-ibm29n05 ibm-not-wf-p29-ibm29n06 ibm-not-wf-p29-ibm29n07
Documents | Prolog and Document Type Declaration | In an external DTD subset and external parameter entity, parameter entity references are allowed within markup declaration | one | ???? valid-not-sa-024
Documents | Prolog and Document Type Declaration | If both the external and internal subset are used, the internal subset takes precedence | one | o-p28pass5
Documents | Prolog and Document Type Declaration | The markup declaration in a document type declaration must consists of either an element declaration an attribute list declaration, an entity declaration, a notation declaration, a process instruction, or a comment in any order | one | ibm-not-wf-p29-ibm29n01 ibm-valid-P29-ibm29n01.xml o-p29fail1 o-p29pass1 sun-invalid-pe01
Documents | Standalone Document Declaration | The standalone document declaration must consits of a whitespace followed by the literal "standalone" followed by an equals sign, followed by one of the two values "yes" or "no" enclosed in a single or double quotes | one | o-p32pass1 o-p32pass2 not-wf-sa-096 not-wf-sa-100 o-p32fail1 o-p32fail2 o-p32fail3 o-p32fail4 ibm-not-wf-p32-ibm32n01 ibm-not-wf-p32-ibm32n02 ibm-not-wf-p32-ibm32n03 ibm-not-wf-p32-ibm32n08 valid-sa-032
Documents | Standalone Document Declaration | In the standalone document declaration the values "yes" or "no" must be lower case | one | o-p32fail5 ibm-not-wf-p32-ibm32n04 ibm-not-wf-p32-ibm32n05 ibm-not-wf-p32-ibm32n06 ibm-not-wf-p32-ibm32n07
Documents | Standalone Document Declaration | In an XML document if there are no external markup declarations, the standalone document declaration has no meaning | one | ????
Documents | Standalone Document Declaration | A standalone document declaration with a value of "no" indicates that there are or may be external markup declarations | one | ibm-valid-p32-ibm32v02
Documents | Standalone Document Declaration | If there are external markup declarations but there is no standalone document declaration, the value "no" is assumed. | one | ????
Documents | Standalone Document Declaration | The standalone document declaration must have the value "no" if any external declaration contains declarations of attributes with default value that are utilized by elements which these attributes apply | one | ibm-valid-P32-ibm32v01.xml inv-not-sa04 valid-not-sa04 valid-sa04
Documents | Standalone Document Declaration | The standalone document declaration must have the value "no" if any external declaration contains declarations of an entity, other than the predefined entity references, and references to this entity appear in the document | one | ibm-valid-P32-ibm32in02.xml inv-not-sa03 valid-not-sa03 valid-sa03
Documents | Standalone Document Declaration | The standalone document declaration must have the value "no" if any external declaration contains declarations of attributes with values that will change if normalized | one | ibm-valid-P32-ibm32in03.xml inv-not-sa02 valid-not-sa02 inv-not-sa05 inv-not-sa06 inv-not-sa07 inv-not-sa08 inv-not-sa09 inv-not-sa10 inv-not-sa11 inv-not-sa12 inv-not-sa13 valid-sa02
Documents | Standalone Document Declaration | The standalone document declaration must have the value "no" if any external declaration contains element types with element content, and white space occurs directly within any instance of those types | one | ibm-valid-P32-ibm32in04.xml inv-not-sa01 valid-not-sa01 valid-sa01 valid-sa05 invalid-not-sa14
Documents | White Space Handling | White space can be used to set apart markup for greater readability | one | valid-sa-084
Documents | White Space Handling | Extra white space is not intended for inclusion in the delivered version of an XML document | one | valid-sa-093 valid-sa-092
Documents | White Space Handling | The "xml:space" attribute must be declared if used in an XML document | one | invalid-requiered01
Documents | White Space Handling | The "xml:space" attribute applies to the element for which it was declared and all its children until overriden with another instance of the xml:space attribute | one | ????
Documents | White Space Handling | The "xml:space" attribute must be given as an enumerated type whose value are one or both of "default" and "preserve" | one | ????
Documents | End of Line Handling | A carriage return "#xD" not followed by a line feed "#xA" in an external parsed entity (including the document entity) must be normalized to a single newline | one | valid-ext-sa-002 valid-ext-sa-004 valid-ext-sa-009 valid-ext-sa-011 valid-sa-116 valid-sa-068 valid-sa-054 valid-sa-047
Documents | End of Line Handling | A combination of carriage return and line feed in an external parsed entity (including the document entity) must be normalized to a single new line | one | valid-ext-sa-001 valid-sa-108 valid-ext-sa-006
Documents | Language Identification | The "xml"lang" attribute must be declared if used in an XML document | one | ibm-valid-p33-ibm33n01 ibm-valid-p34-ibm34n01 valid-v-lang01 invalid-required02
Documents | Language Identification | The declared "xml:lang" attribute applies to the element and all its children until one of its childrens declares a different language | one | ????
Documents | Language Identification | The "xml:lang" attribute values must be language identifiers as defined by "IETF RFC 1766" | one | ibm-valid-p35-ibm35n01 ibm-valid-p36-ibm36n01 ibm-valid-p37-ibm37n01 ibm-valid-p38-ibm38n01 valid-v-lang01 valid-v-lang02 valid-v-lang03 valid-v-lang04 valid-v-lang05 valid-v-lang06
Documents | Language Identification | The "xml:lang" attribute must be given as an enumerated list, CDATA or NMTOKEN | one | ibm-valid-p33-ibm33n01 ibm-valid-p34-ibm34n01 valid-v-lang01
Logical Structures | Element | An element must consist of an empty element or a start tag followed by content, followed by an end tag | one | ibm-valid-p39-ibm39i01 o-p40pass1 o-p39pass1 sun-not-wf-sgml01
Logical Structures | Element | XML documents contain one or more elements | one | o-p39fail3
Logical Structures | Element | The name in an element's end-tag must match the element type in the start-tag | one | not-wf-sa-039 ibm-not-wf-p39-ibm39i01 ibm-not-wf-p39-ibm39i02 ibm-not-wf-p39-ibm39i03 ibm-not-wf-p39-ibm39i04 ibm-not-wf-p39-ibm39i05 ibm-not-wf-p39-ibm39i06
Logical Structures | Element | An element is valid if it match the element declaration and the element name in the DTD | one-errata | ibm-valid-p39-ibm39i01 ibm-invalid-p39-ibm39i01 ibm-invalid-p39-ibm39i02 ibm-invalid-p39-ibm39i03 ibm-invalid-p39-ibm39i04 optional15 optional16 optional17 optional18 optional19 optional20 optional21 optional22 optional23 optional24 optional25 element invalid-dtd03 invalid-el01 invalid-el02 invalid-el03 invalid-optional07 invalid-optional08 invalid-optional09 invalid-optional10 invalid-optional11 invalid-optional12 invalid-optional13 invalid-optional14 invalid-el06 invalid-optional01 invalid-optional02 invalid-optional03 invalid-optional04 invalid-optional05 invalid-optional06
Logical Structures | Start-Tags, End-Tags, and Empty-Element Tags | A start tag begins with a "<" followed by and XML name, followed by any number of attributes separated by whitespace, followed by an optional whitespace followed by a closing ">" | one | o-p40pass2 o-p40pass3 o-p40pass4 not-wf-sa-046 not-wf-sa-049 attlist10 o-p40fail1 o-p40fail4 ibm-not-wf-p40-ibm40n01 ibm-not-wf-p40-ibm40n02 ibm-not-wf-p40-ibm40n03 ibm-not-wf-p40-ibm40n04 valid-sa-005 valid-sa-010 valid-sa-011 o-p41pass1 o-p41pass2 ibm-valid-p40-ibm40n01
Logical Structures | Start-Tags, End-Tags, and Empty-Element Tags | In the start tag attributes/value pairs must be separated by whitespace | one | not-wf-sa-186 attlist11 o-p44fail4
Logical Structures | Start-Tags, End-Tags, and Empty-Element Tags | Entity references are not allowed as content of the start-tag | one | not-wf-sa-111
Logical Structures | Start-Tags, End-Tags, and Empty-Element Tags | White space is allowed after the tag name in a start tag | one | valid-sa-002
Logical Structures | Start-Tags, End-Tags, and Empty-Element Tags | A nmtoken is not allowed as part of the start tag | one | o-p40fail2 o-p40fail3
Logical Structures | Start-Tags, End-Tags, and Empty-Element Tags | An attribute name may not appear more than once in the same element | one | ibm-not-wf-p40-ibm40n05 o-p44fail5
Logical Structures | Start-Tags, End-Tags, and Empty-Element Tags | An attribute must consist of a name follow by and equal sign followed by and attribute value | one | ibm-not-wf-p41-ibm41n01 ibm-not-wf-p41-ibm41n02 ibm-not-wf-p41-ibm41n03 ibm-not-wf-p41-ibm41n04 ibm-not-wf-p41-ibm41n05 ibm-not-wf-p41-ibm41n06 ibm-not-wf-p41-ibm41n07 ibm-not-wf-p41-ibm41n08 ibm-not-wf-p41-ibm41n09 valid-sa-015 valid-sa-016 o-p41fail2 o-p41fail3 valid-sa-004 not-wf-sa-011
Logical Structures | Start-Tags, End-Tags, and Empty-Element Tags | An attribute name must be a well-formed XML name | one | not-wf-sa-001
Logical Structures | Start-Tags, End-Tags, and Empty-Element Tags | An attribute is valid if the attribute name is declared in the attribute declaration and the attribute value match the declared type | one | ibm-invalid-p41-ibm41i01 ibm-invalid-p41-ibm41i02 ibm-valid-p41-ibm41n01
Logical Structures | Start-Tags, End-Tags, and Empty-Element Tags | Attribute values are not allow to contain direct or indirect entity references to external entities | one | ibm-not-wf-p41-ibm41n10 ibm-not-wf-p41-ibm41n11 ibm-not-wf-p41-ibm41n12 not-wf-sa-081 not-wf-sa-082
Logical Structures | Start-Tags, End-Tags, and Empty-Element Tags | The replacement text of any entity referred to directly or indirectly in an attribute value must not contain a "<" | one | ibm-not-wf-p41-ibm41n13 ibm-not-wf-p41-ibm41n14
Logical Structures | Start-Tags, End-Tags, and Empty-Element Tags | An end tag begins with the literal string "</" followed by an XML name, optionally followed by whitespace, followed by the ">" character | one | ibm-not-wf-p42-ibm42n01 ibm-not-wf-p42-ibm42n02 ibm-not-wf-p42-ibm42n03 ibm-not-wf-p42-ibm42n04 ibm-not-wf-p42-ibm42n05 o-p42pass1 o-p42pass2 o-p42fail1 o-p42fail2 o-p42fail3 valid-sa-003 not-wf-sa-042 ibm-valid-p42-ibm42n01 element00 element01
Logical Structures | Start-Tags, End-Tags, and Empty-Element Tags | An end tag must contain the name of the corresponding start tag | one | ibm-not-wf-p42-ibm42n01 not-wf-sa-019 not-wf-sa-053
Logical Structures | Start-Tags, End-Tags, and Empty-Element Tags | The end of every element that begins with a start-tag must be marked by an end-tag | one | not-wf-sa-0176 o-p39fail1 o-p39fail2
Logical Structures | Start-Tags, End-Tags, and Empty-Element Tags | The content of an element must consists of any number of elements, character data, references, CDATA sections, processing instructions and comments in any order. | one | valid-sa-009 valid-sa-048 valid-sa-008 valid-sa-021 valid-sa-022 valid-sa-016 valid-sa-017 valid-sa-018 valid-sa-019 valid-sa-020 not-wf-sa-035 ibm-not-wf-p43-ibm43n01 ibm-valid-p43-ibm43n01 o-p39pass2
Logical Structures | Start-Tags, End-Tags, and Empty-Element Tags | General entity references are valid element content | one | valid-sa-023 valid-sa-024
Logical Structures | Start-Tags, End-Tags, and Empty-Element Tags | Paramenter entity references are not valid element content | one | ????
Logical Structures | Start-Tags, End-Tags, and Empty-Element Tags | Character references are valid element content | one | valid-sa-007
Logical Structures | Start-Tags, End-Tags, and Empty-Element Tags | DTD declarations are not allowed as part of the element content | one | ibm-not-wf-p43-ibm43n01 ibm-not-wf-p43-ibm43n02 ibm-not-wf-p43-ibm43n04 ibm-not-wf-p43-ibm43n05 o-p43fail1 o-p43fail2 not-wf-element04
Logical Structures | Start-Tags, End-Tags, and Empty-Element Tags | Conditional sections are not allowed as part of the element content | one | o-p43fail3 o-p43fail2
Logical Structures | Start-Tags, End-Tags, and Empty-Element Tags | An XML declaration are not allowed as part of the element content | one | not-wf-sa-150
Logical Structures | Start-Tags, End-Tags, and Empty-Element Tags | An element with no content is a permissible element | one | o-p40pass2 valid-ext-sa-003 o-p39pass1
Logical Structures | Start-Tags, End-Tags, and Empty-Element Tags | An empty element tag begins with a "<" followed by and XML name, followed by any number of attributes separated by whitespace, followed by an optional whitespace, followed by the literal "/>" | one | ibm-not-wf-p44-ibm44n01 ibm-not-wf-p44-ibm44n02 ibm-not-wf-p44-ibm44n03 o-p28pass1 o-p44pass1 o-p44pass2 o-p44pass3 o-p44pass4 o-p44pass5 o-p44fail1 o-p44fail2 valid-sa-034 valid-sa-035 ibm-valid-p44-ibm44n01
Logical Structures | Start-Tags, End-Tags, and Empty-Element Tags | Comments are not allowed in an Empty element tag | one | o-p44fail3
Logical Structures | Start-Tags, End-Tags, and Empty-Element Tags | In an empty element a white space is not allowed within the literal "/>" | one | not-wf-sa-047
Logical Structures | Start-Tags, End-Tags, and Empty-Element Tags | An empty element tag can be used to for any element which has no content | one | o-p39pass1
Logical Structures | Start-Tags, End-Tags, and Empty-Element Tags | An empty element tag must be used for elements which are declared empty | one | valid-sa-044 o-p28pass1
Logical Structures | Start-Tags, End-Tags, and Empty-Element Tags | An attribute name may not appear more than once in the same empty element | one | ibm-not-wf-p44-ibm44n04 not-wf-sa-038
Logical Structures | Element Type Declaration | An element type declaration must consist of the string "<!ELEMENT" followed by by whitespace, followed by an XML name, followed by a whitespace, followed by a content specification, optionally followed by whitespace, followed by the ">" character | one | ibm-not-wf-p45-ibm45n05 ibm-not-wf-p45-ibm45n06 ibm-not-wf-p45-ibm45n07 ibm-not-wf-p45-ibm45n08 ibm-not-wf-p45-ibm45n09 ibm-not-wf-p45-ibm45v01 not-wf-sa-129 not-wf-sa-130 not-wf-sa-131 not-wf-sa-136 not-wf-sa-137 o-p45fail1 o-p45pass1 o-p47pass1 o-p48pass1 o-p49pass1 o-p50pass1 o-p46pass1 no-wf-sgml05 no-wf-sgml07 no-wf-sgml08 no-wf-sgml09 no-wf-sgml10 ibm-not-wf-p45-ibm45n04
Logical Structures | Element Type Declaration | An element type may not be declared more than once | one | ibm-not-wf-p45-ibm45n01 ibm-not-wf-p45-ibm45n03 invalid-el04
Logical Structures | Element Type Declaration | Comments are not allow in element type declaration | one | not-wf-sa-057 o-p45fail4
Logical Structures | Element Type Declaration | Only one content specification is allowed in an element type declaration | one | o-p45fail3 not-wf-sa-057
Logical Structures | Element Type Declaration | An element type declaration with no XML name is an illegal element type declaration | one | o-p45fail3 ibm-not-wf-p45-ibm45n01
Logical Structures | Element Type Declaration | An element type declaration with no content specification is an illegal element type declaration | one | ibm-not-wf-p45-ibm45n04
Logical Structures | Element Type Declaration | In an element type declaration the string "<!ELEMENT" and the XML name must be separated by space | one | ????
Logical Structures | Element Type Declaration | In an element type declaration the XML name and the content specification must be separated by space | one | ibm-not-wf-p45-ibm45n02 o-p45fail2
Logical Structures | Element Type Declaration | In an element type declaration a content specification must consist of either the literals EMPTY or ANY, a mix content or a list of children | one | ibm-not-wf-p46-ibm46n01 ibm-not-wf-p46-ibm46n02 ibm-not-wf-p46-ibm46n03 ibm-not-wf-p46-ibm46n04 ibm-not-wf-p46-ibm46n05 ibm-valid-p45-ibm45n01 sgml11 sgml12 o-p46fail1 o-p46fail6 valid-sa-025 valid-sa-026 valid-sa-027 o-p47pass1 o-p48pass1 o-p49pass1 o-p50pass1 o-p46pass1 valid-sa-059
Logical Structures | Element Type Declaration | If an element is declared as "EMPTY" in the element type declaration, the element must not have any contents and must always appear as an empty element in the document | one | not-wf-sa-059
Logical Structures | Element Type Declaration | The content specification in an element type declaration must not be empty | one | not-wf-sa-139
Logical Structures | Element Type Declaration | A mixed content declaration must consists of the literal "#PCDATA" separated by optional whitespaces or the literal "#PCDATA" optionally followed by an element name separated only by the symbol "|" enclosed in parenthesis and ending with a"*" | one | not-wf-sa-125 not-wf-sa-126 not-wf-sa-127 o-p51fail1 o-p51fail2 o-p51fail4 o-p51fail5 o-p51fail6 ibm-not-wf-p51-ibm51n01 ibm-not-wf-p51-ibm51n02 ibm-not-wf-p51-ibm51n03 ibm-not-wf-p51-ibm51n04 ibm-not-wf-p51-ibm51n05 ibm-not-wf-p51-ibm51n06 ibm-not-wf-p51-ibm51n07 valid-sa-001 o-p51pass1 ibm-valid-p51-ibm51i01 o-p46pass1 valid-dtd00 o-p46fail2 o-p46fail3 o-p46fail5
Logical Structures | Element Type Declaration | The choices and sequences content particles are not allowed in a mixed content declaration | one | not-wf-sa-183 o-p51fail7
Logical Structures | Element Type Declaration | When paramenter entity reference are part of the mixed content declaration the replacement text must be properly nested with parenthesized groups | one | ibm-valid-p51-ibm51v02 ibm-invalid-p51-ibm51i01
Logical Structures | Element Type Declaration | In a mixed content declaration element names must not be parenthesized | one | not-wf-sa-124
Logical Structures | Element Type Declaration | In a mixed content declaration the literal "#PCDATA" must always appear before any other content model | one | not-wf-sa-184 o-p51ail3 ibm-not-wf-p51-ibm51n02
Logical Structures | Element Type Declaration | The same name must not appear more than once in a single mixed-content declaration | one | invalid-dtd01 invalid-el05 ibm-invalid-p51-ibm51i03
Logical Structures | Element Type Declaration | In the content specification portion of an element type declaration, a children must consists of either a choice or a sequence optionally followed by one of the characters ?,*,or + | one | o-p47fail2 o-p47fail3 o-p47fail4 ibm-not-wf-p47-ibm47n01 ibm-not-wf-p47-ibm47n02 ibm-not-wf-p47-ibm47n03 ibm-not-wf-p47-ibm47n04 ibm-not-wf-p47-ibm47n05 ibm-not-wf-p47-ibm47n06 valid-sa-057 valid-sa-081 valid-ext-sa-005 ibm-valid-p47-ibm47n01 o-p46fail4 o-p47pass1 o-p48pass1 o-p49pass1 o-p50pass1 o-p46pass1 not-wf-dtd01 sun-valid-optional
Logical Structures | Element Type Declaration | If the children is composed of choices, then the choices must contain one or more content particles enclosed in matchig parenthesis and separated from each other by vertical bars and optional whitespace | one | ibm-not-wf-p49-ibm49n01 ibm-not-wf-p49-ibm49n02 ibm-not-wf-p49-ibm49n03 ibm-not-wf-p49-ibm49n04 ibm-not-wf-p49-ibm49n05 ibm-not-wf-p49-ibm49n06 valid-sa-112 o-p49fail1 ibm-valid-p47-ibm47n01 o-p49fail1 not-wf-sgml13 not-wf-sa-123
Logical Structures | Element Type Declaration | If the children is composed of a sequence, then the sequence must contain one or more content particles enclosed in matching parenthesis and separated from each other by commas and optional whitespace | one | not-wf-sa-122 not-wf-sa-135 o-p47fail1 ibm-not-wf-p50-ibm50n01 ibm-not-wf-p50-ibm50n02 ibm-not-wf-p50-ibm50n03 ibm-not-wf-p50-ibm50n04 ibm-not-wf-p50-ibm50n05 ibm-not-wf-p50-ibm50n06 ibm-not-wf-p50-ibm50n07 ibm-valid-p47-ibm47n01 o-p50fail1 not-wf-sgml13 not-wf-dtd00 not-wf-sa-123
Logical Structures | Element Type Declaration | The content particles in the content specifications of an element type declaration must consists of and XML name, choice or sequence optionally followed by one of the characteres ?,*, or + | one | ibm-not-wf-p48-ibm48n01 ibm-not-wf-p48-ibm48n02 ibm-not-wf-p48-ibm48n03 ibm-not-wf-p48-ibm48n04 ibm-not-wf-p48-ibm48n05 ibm-not-wf-p48-ibm48n06 ibm-not-wf-p48-ibm48n07 ibm-valid-p47-ibm47n01 not-wf-sa-138 content01 content02 content03 o-p48fail1 o-p48fail2 valid-sa-112 not-wf-sa-133 not-wf-sa-134 valid-ext-sa-005 o-p46fail1
Logical Structures | Element Type Declaration | The content particles in the content specifications of an element type declaration can contain a conbination of names, choices and sequences | one | ????
Logical Structures | Element Type Declaration | If an element is declared in the element type declaration, it must followed the choices order established in the content particle portion of the declaration | one | ????
Logical Structures | Element Type Declaration | If an element is declared in the element type declaration, it must followed the sequence order established in the content particle portion of the declaration | one | ????
Logical Structures | Element Type Declaration | If an element is declared in the element type declaration, it must followed the sequence order established in the content particle portion of the declaration | one | ????
Logical Structures | Element Type Declaration | If the content particles in the content specifications does not include the optional characters ?,*,+ the content particle or the element must appear exactly once | one | ????
Logical Structures | Element Type Declaration | If a content particle in the content specification uses a paramenter entity reference the replacement text must be properly nested with parenthesized groups | one | invalid-002 ibm-invalid-p50-ibm50i01 ibm-valid-p49-ibm49n01 ibm-invalid-p51-ibm51i01
Logical Structures | Attribute-list Declarations | An attribute list declaration must consists of the literal "<!ATTLIST" followed by a whitespace, followed by an XML name, followed by zero or more attribute definitions, optionally followed by a whitespace, followed by ">" | one | ibm-not-wf-p52-ibm52n01 ibm-not-wf-p52-ibm52n02 ibm-not-wf-p52-ibm52n03 ibm-not-wf-p52-ibm52n04 ibm-not-wf-p52-ibm52n05 ibm-not-wf-p52-ibm52n06 o-52fail1 o-52fail2 o-52oass1 valid-sa-040 valid-sa-077 valid-sa-078 valid-sa-071 valid-sa-072 valid-sa-073 valid-sa-074 valid-sa-075 valid-sa-079 valid-sa-080 sun-not-wf-sgml04 sun-not-wf-sgml06
Logical Structures | Attribute-list Declarations | Only one literal "<!ATTLIST" is allowed in an attribute list declaration | one | ????
Logical Structures | Attribute-list Declarations | Only one XML name is allowed in an attribute list declaration | one | ????
Logical Structures | Attribute-list Declarations | The name in the attribute list declaration must be the type of an element | one | ????
Logical Structures | Attribute-list Declarations | Attributes are allowed to be declared for element type not itself declared | one | valid-sa-113
Logical Structures | Attribute-list Declarations | The attribute definition of the attribute list declaration must consist of whitespace followed by an XML name, followed by whitespace, followed by attribute type, followed by whitespace, followed by a default declaration | one | ibm-not-wf-p53-ibm53n01 ibm-not-wf-p53-ibm53n02 ibm-not-wf-p53-ibm53n03 ibm-not-wf-p53-ibm53n04 ibm-not-wf-p53-ibm53n05 ibm-not-wf-p53-ibm53n06 ibm-not-wf-p53-ibm53n07 ibm-not-wf-p53-ibm53n08 ibm-valid-p52-ibm52v01 not-wf-sa-064 not-wf-sa-065 not-wf-sa-066 not-wf-sa-067 o-p53fail1 o-p53fail2 o-p53fail3 o-p53fail4 o-p53fail5 o-p53pass1
Logical Structures | Attribute-list Declarations | In the attribute definition, the XML name must be the name of the attribute been declared | one | ????
Logical Structures | Attribute-list Declarations | No more than one XML name is allowed in the attribute definition | one | ????
Logical Structures | Attribute-list Declarations | No more than one attribute type is allowed in the attribute definition | one | ????
Logical Structures | Attribute-list Declarations | No more than one default declaration is allowed in the attribute definition | one | ????
Logical Structures | Attribute-list Declarations | When more than one attribute definition is provided for the same attribute of a given element type, the first declaration is binding and later declarations are ignored | one | valid-sa-097????? valid-sa-045 valid-not-sa-006 valid-not-sa-010 valid-not-sa-026
Logical Structures | Attribute-list Declarations | When more than one attribute declaration is provided for a given element type, the content of those provided are merged | one | valid-sa-046
Logical Structures | Attribute-list Declarations | An attribute type must consits either of a string type, a tokenized type, or an enumerated type | one | o-p54fail1 ibm-invalid-p54-ibm54i01 ibm-invalid-p54-ibm54i02 o-p54pass1 ibm-valid-p54-ibm54i01 ibm-valid-p54-ibm54v03 valid-sa-040 valid-sa-077 valid-sa-078 valid-sa-079
Logical Structures | Attribute-list Declarations | No more than one string type is allowed in the attribute type | one | ????
Logical Structures | Attribute-list Declarations | No more than one tokenized type is allowed in the attribute type | one | ????
Logical Structures | Attribute-list Declarations | No more than one enumerated type is allowed in the attribute type | one | ????
Logical Structures | Attribute-list Declarations | The string type in the attribute type must consist of the literal "CDATA" | one | ibm-invalid-p55-ibm55i01 ibm-invalid-p55-ibm55i02 ibm-invalid-p55-ibm55i03 o-p55fail1 o-p55pass1 valid-sa-041 valid-sa-042 valid-sa-056 ibm-valid-p54-ibm54i01 ibm-valid-p54-ibm54v02 ibm-valid-p55-ibm55v01
Logical Structures | Attribute-list Declarations | The tokenized type must consists of any one of the following literals; "ID", "IDREF", "IDREFS", "ENTITY", "ENTITIES", "NMTOKEN", and "NMTOKENS" | one | ibm-invalid-p56-ibm56i01 ibm-invalid-p56-ibm56i02 ibm-invalid-p56-ibm56i03 ibm-invalid-p56-ibm56i04 ibm-invalid-p56-ibm56i05 ibm-invalid-p56-ibm56i06 ibm-invalid-p56-ibm56i07 not-wf-sa-060 attlist01 attlist02 attlist03 attlist04 attlist05 attlist06 attlist07 attlist08 attlist09 o-p56fail1 o-p56fail2 o-p56fail3 o-p56fail4 o-p56fail5 o-p56pass1 ibm-valid-p54-ibm54i01 ibm-valid-p54-ibm54v02 ibm-valid-p56-ibm56v01 ibm-valid-p56-ibm56v02 ibm-valid-p56-ibm56v03 valid-sa-071 valid-sa-072 valid-sa-073 valid-sa-074 valid-sa-075
Logical Structures | Attribute-list Declarations | Attribute values of ID type must be valid XML names | one | ibm-invalid-p56-ibm56i01 ibm-valid-p56-ibm56v02 ibm-valid-p56-ibm56v03
Logical Structures | Attribute-list Declarations | A name used as the value of an ID type attribute cannot be used more than once in the same document | one | ibm-invalid-p56-ibm56i02 ibm-valid-p56-ibm56v04 ibm-valid-p56-ibm56v05 sun-invalid-id02
Logical Structures | Attribute-list Declarations | An element is not allowed to use more than one attribute type ID | one | ibm-invalid-p56-ibm56i06 sun-invalid-id03
Logical Structures | Attribute-list Declarations | All attributes of ID type must have a declared default of #IMPLIED or #REQUIRED | one | ibm-invalid-p56-ibm56i03 ibm-invalid-p56-ibm56i05 ibm-valid-p56-ibm56v02 ibm-valid-p56-ibm56v03 attr09 attr10 attr11 attr12 attr13 attr14 attr15 attr16 sun-invalid-id04 sun-invalid-id05
Logical Structures | Attribute-list Declarations | A default declaration of #FIXED is not permissible for attributes of ID type | one | ????
Logical Structures | Attribute-list Declarations | Attribute values of IDREF type must be valid XML names | one | ibm-invalid-p56-ibm56i07 ibm-invalid-p56-ibm56i09 sun-invalid-id06 sun-invalid-id07
Logical Structures | Attribute-list Declarations | Each name in an attribute value declared as IDREF type must match the value of an ID atrribute on some element in the document | one | ibm-invalid-p56-ibm56i08 ibm-valid-p56-ibm56v06 ibm-valid-p56-ibm56v07 sun-invalid-id08 sun-invalid-id09
Logical Structures | Attribute-list Declarations | Attribute values of type IDREFS must be a whitespace-separated list of ID attribute values from elements in the document | one | ????
Logical Structures | Attribute-list Declarations | Attribute values of ENTITY type must be valid XML name | one | ibm-invalid-p56-ibm56i14 sun-invalid-attr01
Logical Structures | Attribute-list Declarations | Attribute values of ENTITIES type must be valid XML names | one | sun-invalid-attr02
Logical Structures | Attribute-list Declarations | Attribute values of ENTITIES type must be a whitespace-separated list of ENTITY attribute values | one | ????
Logical Structures | Attribute-list Declarations | Attribute values of ENTITIES type must match the name of an unparsed entity declared in the DTD | one | ibm-invalid-p56-ibm56i11 ibm-invalid-p56-ibm56i12 ibm-invalid-p56-ibm56i13 ibm-invalid-p56-ibm56i14 ibm-invalid-p56-ibm56i15 ibm-invalid-p56-ibm56i16 ibm-valid-p54-ibm54i01 ibm-valid-p56-ibm56v08
Logical Structures | Attribute-list Declarations | Attribute values of NMTOKEN type must match the Nmtoken production | one | ibm-invalid-p56-ibm56i17 ibm-valid-p56-ibm56v09 sun-invalid-attr05
Logical Structures | Attribute-list Declarations | Attribute values of NMTOKENS type must match the Nmtokens production | one | ibm-valid-p56-ibm56v10 sun-invalid-attr06
Logical Structures | Attribute-list Declarations | Attribute values of NMTOKENS type must be a whitespace-separated list of name tokens | one | ibm-invalid-p56-ibm56i18
Logical Structures | Attribute-list Declarations | The enumarated type must consits of either a notation type or an enumeration | one | o-p57pass1 ????
Logical Structures | Attribute-list Declarations | An attribute type with an enumarated type must consits of either a notation type or an enumeration | one | ibm-invalid-p57-ibm57i01
Logical Structures | Attribute-list Declarations | A notation type must consists of the literal "NOTATION" followed by a whitespace, followed by an optional whitespace, followed by one or more XML names, separated by vertical bars and optional whitespaces, and enclosed in parentheses | one | ibm-invalid-p58-ibm58i01 ibm-invalid-p58-ibm58i02 ibm-invalid-p58-ibm58i03 ibm-invalid-p58-ibm58i04 ibm-invalid-p58-ibm58i05 ibm-invalid-p58-ibm58i06 ibm-invalid-p58-ibm58i07 ibm-invalid-p58-ibm58i08 not-wf-sa-068 not-wf-sa-158 o-p58fail1 o-p58fail2 o-p58fail4 o-p58fail5 o-p58fail6 o-p58fail7 o-p58fail8 o-p58pass1 valid-sa-090 ibm-valid-p54-ibm54v01 ibm-valid-p58-ibm58v01
Logical Structures | Attribute-list Declarations | Nntokens are not valid in a notation type | one | o-p58fail3
Logical Structures | Attribute-list Declarations | An attribute value of a notation type must match one of the notation names included in the ATTLIST declaration | one | ibm-invalid-p58-ibm58i01 ibm-valid-p58-ibm58v02 sun-invalid-attr3
Logical Structures | Attribute-list Declarations | All notation names in the notation type must be declared | one | ibm-invalid-p58-ibm58i02 valid-sa-076 valid-sa-090 valid-sa-091 sun-invalid-attr04
Logical Structures | Attribute-list Declarations | An element type is not allowed to have more than one NOTATION attribute specified | one | ????
Logical Structures | Attribute-list Declarations | An attribute of type NOTATION must not be declared on an element declared "EMPTY" | one | ????
Logical Structures | Attribute-list Declarations | The notation names in a single Notation Type, as well as the NmTokens in a single Enumeration attribute declaration, must all be distinct | one-errata | o-e2
Logical Structures | Attribute-list Declarations | If the enumerated type is an enumeration, it must constists of one or more XML name tokens separated by vertical bars and optional whitespaces and enclosed in parentheses | one | not-wf-sa-058 ibm-invalid-p59-ibm59i01 ibm-invalid-p59-ibm59i02 ibm-invalid-p59-ibm59i03 ibm-invalid-p59-ibm59i04 ibm-invalid-p59-ibm59i05 ibm-invalid-p59-ibm59i06 o-p57fail1 attlist3 o-p59fail1 o-p59fail2 o-p59fail3 o-p59pass1 ibm-valid-p54-ibm54v01 ibm-valid-p57-ibm57v01 ibm-valid-p59-ibm59v01
Logical Structures | Attribute-list Declarations | Attribute values of enumeration type must match one of the "Nmtoken" tokens in the declaration | one | ibm-invalid-p59-ibm59i01 sun-invalid-attr07
Logical Structures | Attribute-list Declarations | XML allows Nmtoken reuse in an enumerated attribute type | one | valid-sgml01
Logical Structures | Attribute-list Declarations | The default declaration of an attribute definition must consits of either the literal "#REQUIRED", "#IMPLIED", or optianally "#FIXED" followed by whitespace or an attribute value | one | ibm-valid-p60-ibm60v01 o-p60fail2 o-p60fail5 ibm-not-wf-p60-ibn60v01 ibm-not-wf-p60-ibn60v02 ibm-not-wf-p60-ibn60v03 ibm-not-wf-p60-ibn60v04 ibm-not-wf-p60-ibn60v05 ibm-not-wf-p60-ibn60v06 ibm-not-wf-p60-ibm60n08 o-p60pass1 valid-sa-077 valid-sa-078 valid-sa-071 valid-sa-072 valid-sa-073 valid-sa-074 valid-sa-075 valid-sa-079 valid-sa-080
Logical Structures | Attribute-list Declarations | If an attribute of an element is declared with a default of "#REQUIRED", then a validity error will result for any instance the element does not provide a value for that attribute | one | ibm-invalid-p60-ibm60v01 ibm-valid-p60-ibm60v02 sun-invalid-required00 sun-valid-required00
Logical Structures | Attribute-list Declarations | If an attribute has a default value declared with the #FIXED keyword, instances of that attribute must match the default value | one | ibm-invalid-p60-ibm60i02 ibm-valid-p60-ibm60v03 valid-sa-079 sun-invalid-attr08
Logical Structures | Attribute-list Declarations | It is ilegal to omit the attribute value when the default declaration of an attribute was defined as "#FIXED" | one | o-p60fail4 ibm-not-wf-p60-ibn60v04
Logical Structures | Attribute-list Declarations | In a default declaration only attributes declared as #FIXED are allowed to include attribute values in the declaration | one | o-p60fail3 valid-sa-079
Logical Structures | Attribute-list Declarations | It is legal to omit an attribute that was declared with a default value | one | ????
Logical Structures | Attribute-list Declarations | When a default declaration of an attribute is defined as "#IMPLIED" a default value must not be assumed | one | ????
Logical Structures | Attribute-list Declarations | For an attribute default to be legal it most meet the syntactic constraints of the declared attribute type | one | ibm-invalid-p60-ibm60v03 ibm-invalid-p60-ibm60v04 ibm-valid-p60-ibm60v04 valid-sa-102 valid-sa-103
Logical Structures | Attribute-list Declarations | The "<" is not allowed as part of an attribute value in a default declaration of an attribute list declaration | one | ibm-not-wf-p60-ibm60n07
Logical Structures | Attribute-list Declarations | An attribute declaration with no default declaration is an ilegal attribute declaration | one | ????
Logical Structures | Attribute-list Declarations | In attribute declaration if the declaration is neither #REQUIRED nor #IMPLIED, then the AttValue value contains the declared default value | one | o-p60fail1 ????
Logical Structures | Attribute-list Declarations | The XML processor must normilize the attribute value by applying the attribute value normalization algorithm, or by using other methods rendering the same results | one | valid-ext-sa-113 valid-sa-111 valid-sa-105 valid-sa-106 valid-sa-107 valid-sa-110 valid-sa-102 valid-sa-103 valid-sa-058 valid-sa-095 valid-sa-096
Logical Structures | Conditional Sections | A conditional section must consists of either an include section or an ignore section | one | ibm-not-wf-p61-ibm61n01 ibm-valid-p61-ibm61v01 ibm-valid-p61-ibm61v02 o-61pass1
Logical Structures | Conditional Sections | Conditional sections are only used in external subset DTD's | one | valid-not-sa-028
Logical Structures | Conditional Sections | In a conditional section, an include section must begin with the characters "<![" followed by the literal string "INCLUDE" separated by optional whitespaces, followed by an external subset declaration enclosed in brackets "[]", followed by the characters "]>" | one | o-61fail1 ibm-not-wf-p62-ibm62n02 ibm-not-wf-p62-ibm62n03 ibm-not-wf-p62-ibm62n04 ibm-not-wf-p62-ibm62n05 ibm-not-wf-p62-ibm62n06 ibm-not-wf-p62-ibm62n07 ibm-not-wf-p62-ibm62n08 not-wf-not-sa-001 not-wf-not-sa-003 not-wf-not-sa-004 not-wf-not-sa-006 o-62fail1 o-62fail2 valid-not-sa-013 valid-not-sa-014 valid-not-sa-016 ibm-valid-p62-ibm62v01 ibm-valid-p62-ibm62v02 ibm-valid-p62-ibm62v03 ibm-valid-p62-ibm62v04 ibm-valid-p62-ibm62v05 valid-not-sa-028
Logical Structures | Conditional Sections | In a conditional section, an ignore section must begin with the characters "<![" followed by the literal string "IGNORE" separated by optional whitespaces, followed by an ignore section contents enclosed in brackets "[]", followed by the characters "]>" | one | ibm-not-wf-p63-ibm63n01 ibm-not-wf-p63-ibm63n02 ibm-not-wf-p63-ibm63n03 ibm-not-wf-p63-ibm63n04 ibm-not-wf-p63-ibm63n05 ibm-not-wf-p63-ibm63n06 ibm-not-wf-p63-ibm63n07 o-63fail1 o-63fail2 o-63pass1 ibm-valid-p63-ibm63v01 ibm-valid-p63-ibm63v02 ibm-valid-p63-ibm63v03 ibm-valid-p63-ibm63v04 ibm-valid-p63-ibm63v05
Logical Structures | Conditional Sections | An ignore section content must consists of an ignore block, optionally followed by an ignore section content enclosed in "!<[" and "]]>" and ignore block | one | ???? ibm-not-wf-p64-ibm64n01 ibm-not-wf-p64-ibm64n02 ibm-not-wf-p64-ibm64n03 o-64fail1 o-64fail2 ibm-valid-p64-ibm64v01 ibm-valid-p64-ibm64v02 ibm-valid-p64-ibm64v03
Logical Structures | Conditional Sections | An ignore block must contain any run of text that contains neither the "< or "]]>" | one | ibm-not-wf-p65-ibm65n01 ibm-not-wf-p65-ibm65n02 ibm-valid-p65-ibm65v01 ibm-valid-p65-ibm65v02 sun-not-wf-cond01 sun-not-wf-cond02
Logical Structures | Conditional Sections | If INCLUDE is the keyword used as part of a conditional section then the content of the conditional section are part of the DTD | one | valid-not-sa-028
Logical Structures | Conditional Sections | If IGNORE is the keyword used as part of a conditional section then the content of the conditional section are not logically part of the DTD | one | valid-not-sa-029 valid-not-sa-030
Logical Structures | Conditional Sections | When an INCLUDE is inside an IGNORE, the include and its declarations are ignored | one | ????
Logical Structures | Conditional Sections | When an IGNORE is inside an INCLUDE, the declarations inside the IGNORE are ignored | one | ????
Logical Structures | Conditional Sections | In a conditional section the ignore section ignore everything except the section delimiters | one | ????
Logical Structures | Conditional Sections | In a conditional section, when the keyword is a parameter entity reference, the paramenter entity reference must be replaced by its content before the processor decides whether to include or ignore the conditional section | one | valid-not-sa-015 valid-not-sa-022
Physical Structures | Character and Entity References | A paramenter entity and a general entity with the same name are two distint entities | one | valid-sa-085
Physical Structures | Character and Entity References | Entity reference myst be in content of element | one | not-wf-sa-110
Physical Structures | Character and Entity References | A character reference must consits of the literal "&#" followed by one or more of the ASCII digits 0 through 9 or the literal "&#x" followed by one or more of the hexadecimal digits 0 through F and the digits representing 10 through 16 both ending with the character ";" | one | not-wf-sa-009 not-wf-sa-022 not-wf-sa-052 not-wf-sa-093 o-66pass1 ibm-not-wf-p66-ibm66n02 ibm-not-wf-p66-ibm66n03
Physical Structures | Character and Entity References | In a well-formed document the characters refered by a character reference must be legal characters | one | o-66fail2 o-66fail5 ibm-not-wf-p66-ibm66n01 ibm-not-wf-p66-ibm66n04 ibm-not-wf-p66-ibm66n05 ibm-not-wf-p66-ibm66n06 ibm-not-wf-p66-ibm66n07 ibm-not-wf-p66-ibm66n08 ibm-not-wf-p66-ibm66n09 ibm-not-wf-p66-ibm66n10 ibm-not-wf-p66-ibm66n11 ibm-not-wf-p66-ibm66n12 ibm-not-wf-p66-ibm66n13 ibm-not-wf-p66-ibm66n14 ibm-not-wf-p66-ibm66n15 valid-sa-064 valid-sa-066 ibm-valid-p66-ibm66v01
Physical Structures | Character and Entity References | A character reference using "&#x" provides a hexadecimal representation of the characte's code | one | o-66fail4 valid-sa-062
Physical Structures | Character and Entity References | A character reference using "&#" provides a decimal representation of the characte's code | one | o-66fail3 valid-sa-060 valid-sa-061 valid-sa-067
Physical Structures | Character and Entity References | A reference must consists of an Entity Reference or a Character Reference | one | ibm-valid-p67-ibm67v01
Physical Structures | Character and Entity References | A general entity reference must consits of an XML name with "&" and ";" as starting and ending delimiters, repectivately | one | ibm-not-wf-p68-ibm68n01 ibm-not-wf-p68-ibm68n02 ibm-not-wf-p68-ibm68n03 not-wf-sa-007 not-wf-sa-010 not-wf-sa-121 o-p68fail1 o-p68fail2 o-p68fail3 o-p68pass1 valid-ext-sa-014
Physical Structures | Character and Entity References | A parameter entity reference must consits of an XML name with "%" and ";" as starting and ending delimiters, repectivately | one | o-28pass5 ibm-not-wf-p69-ibm69n01 ibm-not-wf-p69-ibm69n02 ibm-not-wf-p69-ibm69n03 ibm-not-wf-p69-ibm69n04 o-p69pass1 o-p69fail1 o-p69fail2 o-p69fail3 sun-not-wf-dtd02 sun-not-wf-dtd03
Physical Structures | Character and Entity References | In a well-formed standalone document a general entity must be declared before it can be reference | one | o-28pass3 not-wf-not-sa-005 inv-dtd06 ibm-invalid-p68-ibm68i01 ibm-invalid-p68-ibm68i02 ibm-invalid-p68-ibm68i03 ibm-invalid-p68-ibm68i04 ibm-not-wf-p68-ibm68n04 ibm-not-wf-p68-ibm68n05 ibm-not-wf-p68-ibm68n06 ibm-not-wf-p68-ibm68n07 valid-sa-072 valid-sa-073 valid-sa-076 valid-sa-078 not-wf-sa-180
Physical Structures | Character and Entity References | In a well-formed document the predefined entities do not need to be declared | one | ????
Physical Structures | Character and Entity References | Valid documents should declare predefined entities to maintain interoperability | one | ????
Physical Structures | Character and Entity References | In a valid non-standalone document the name of an entity must match the name given in the entity declaration | one | valid-not-sa-023 ibm-invalid-p69-ibm69i03 ibm-invalid-p69-ibm69i01 ibm-invalid-p69-ibm69i02 ibm-invalid-p69-ibm69i04 ibm-invalid-p69-ibm69i05 valid-not-sa-003 valid-not-sa-004 valid-not-sa-005 ibm-valid-p68-ibm68v01 ibm-valid-p68-ibm68v02
Physical Structures | Character and Entity References | In a valid XML document the declaration of a parameter entity must precede any reference to it | one | ibm-invalid-p69-ibm69i01 ibm-invalid-p69-ibm69i02 ibm-invalid-p69-ibm69i04 ibm-invalid-p69-ibm69i05 ibm-not-wf-p69-ibm69n05 valid-not-sa-003 valid-not-sa-004 valid-not-sa-005 ibm-valid-p69-ibm69v01 ibm-valid-p69-ibm69v02 valid-not-sa-027
Physical Structures | Character and Entity References | In a valid XML document the declaration of a general entity must precede any reference to that general entity | one | not-wf-sa-185
Physical Structures | Character and Entity References | In a well-formed document entity references may only contain the names of parsed entities | one | ibm-not-wf-p68-ibm68n08 not-wf-sa-084
Physical Structures | Character and Entity References | In a well-formed document unparsed entities are refered only in attribute values declared to be of type ENTITY or ENTITIES | one | ibm-not-wf-p68-ibm68n08
Physical Structures | Character and Entity References | In a well-formed document a parsed entity cannot refer to itself, either directly or indirectly | one | ibm-not-wf-p68-ibm68n09 ibm-not-wf-p68-ibm68n10 ibm-not-wf-p69-ibm69n06 ibm-not-wf-p69-ibm69n07 not-wf-sa-071 not-wf-sa-075 not-wf-sa-079 not-wf-sa-080 not-wf-ext-sa-001 not-wf-sa-118
Physical Structures | Character and Entity References | In a well-formed document parameter-entity reference may only appear in a DTD | one | not-wf-sa-163 not-wf-sa-164 valid-not-sa-003 valid-not-sa-004 valid-not-sa-005
Physical Structures | Entity Declarations | An Entity Declaration must consists of a general entity declaration or a paramenter entity declaration | one | o-p70fail1 o-p70pass1
Physical Structures | Entity Declarations | A general entity declaration must consists of the literal "<ENTITY followed by a followed by an XML name, separated with whitespaces, followed by an entity type definition, optionally followed by a whitespace and followed by the character ">" | one | ibm-not-wf-p71-ibm71n01 ibm-not-wf-p71-ibm71n02 ibm-not-wf-p71-ibm71n03 ibm-not-wf-p71-ibm71n04 ibm-not-wf-p71-ibm71n05 ibm-not-wf-p71-ibm71n06 ibm-not-wf-p71-ibm71n07 ibm-not-wf-p71-ibm71n08 ibm-valid-p70-ibm70v01 o-p71fail1 o-p71fail2 o-p71fail3 o-p71fail4 o-p71pass1 not-wf-sa-062
Physical Structures | Entity Declarations | A paramenter entity declaration must consists of the literal "<ENTITY followed by the character "%" and an XML name and a parameter entity definition separated by whitespaces, optionally followed by a whitespace, followed by the character ">" | one | ibm-not-wf-p72-ibm72n01 ibm-not-wf-p72-ibm72n02 ibm-not-wf-p72-ibm72n03 ibm-not-wf-p72-ibm72n04 ibm-not-wf-p72-ibm72n05 ibm-not-wf-p72-ibm72n06 ibm-not-wf-p72-ibm72n07 ibm-not-wf-p72-ibm72n08 ibm-not-wf-p72-ibm72n09 ibm-valid-p70-ibm70v01 not-wf-sa-165 o-p72fail1 o-p72fail2 o-p72fail3 o-p72fail4 valid-sa-082 o-p72pass1 valid-not-sa-017 valid-not-sa-021 valid-not-sa-011
Physical Structures | Entity Declarations | An entity definition must consists of an entity value or an external id followed by a optional ndata declaration | one | ibm-not-wf-p73-ibm73n01 ibm-not-wf-p73-ibm73n03 ibm-valid-p70-ibm70v01 valid-not-sa-018 o-p73fail1 o-p73fail2 o-p73fail3 o-p73fail4 o-p73fail5 o-p73pass1
Physical Structures | Entity Declarations | A parameter entity definition must consist of an entity value or an external id | one | ibm-not-wf-p74-ibm74n01 ibm-valid-p70-ibm70v01 o-p74pass1 o-p74fail2 o-p74fail3 not-wf-notsa-008
Physical Structures | Entity Declarations | In a parameter entity declaration NdataDecl are not allowed | one | not-wf-sa-089 not-wf-sa-091 o-p74fail1
Physical Structures | Entity Declarations | If an entity is declared more than once, the binding declaration is the first one encountered | one | valid-sa-086 valid-not-sa-025
Physical Structures | Entity Declarations | In a parsed entity, the name identifies the entity in the entity reference | one | ????
Physical Structures | Entity Declarations | In an unparsed entity, the value of an ENTITY or ENTITIES attribute identifies the entity | one | ????
Physical Structures | Entity Declarations | An internal entity must be a parsed entity | one | valid-sa-070
Physical Structures | Entity Declarations | An external id must consists of the literal "SYSTEM" followed by a whitespace, followed by a system literal or the listeral "PUBLIC" followed by a public id literal and a system literal separated by whitespaces | one | ibm-valid-p70-ibm70v01 not-wf-sa-054 not-wf-sa-061 valid-not-sa-008 valid-not-sa-009 valid-not-sa-001 valid-not-sa-002 valid-ext-sa-008 valid-ext-sa-007 dtd04 dtd05 o-p75fail1 o-p75fail2 o-p75fail3 o-p75fail4 o-p75fail5 o-p75fail6 valid-not-sa-018 valid-not-sa-011 ibm-not-wf-p75-ibm75n01 ibm-not-wf-p75-ibm75n02 ibm-not-wf-p75-ibm75n03 ibm-not-wf-p75-ibm75n04 ibm-not-wf-p75-ibm75n05 ibm-not-wf-p75-ibm75n06 ibm-not-wf-p75-ibm75n07 ibm-not-wf-p75-ibm75n08 ibm-not-wf-p75-ibm75n09 ibm-not-wf-p75-ibm75n10 ibm-not-wf-p75-ibm75n11 ibm-not-wf-p75-ibm75n12 ibm-not-wf-p75-ibm75n13 not-wf-pubid05
Physical Structures | Entity Declarations | An ndata declaration must consists of a whitespace followed by the literal "NDATA", followed by an XML name separated by a whitespace | one | ibm-valid-p70-ibm70v01 ibm-not-wf-p76-ibm76n02 ibm-not-wf-p76-ibm76n03 ibm-not-wf-p76-ibm76n04 ibm-not-wf-p76-ibm76n05 ibm-not-wf-p76-ibm76n06 ibm-not-wf-p76-ibm76n07 ibm-not-wf-p76-ibm76n01 ibm-not-wf-p76-ibm76n02 not-wf-sa-069 o-p76fail1 o-p76fail2 o-p76fail3 o-p76fail4 o-p76pass1
Physical Structures | Entity Declarations | When a Ndata declaration is used in a general entity declaration the entity is an unparsed entity | one | ????
Physical Structures | Entity Declarations | When an entity value is used in a general entity declaration the entity is a parsed entity | one | ????
Physical Structures | Entity Declarations | In a valid document the name in a Ndata declaration must match the declared name of a notation | one | ibm-invalid-p76-ibm76i01 not-wf-sa-083 sun-invalid-dtd02
Physical Structures | Parsed Entities | A text declaration must consists of an optional version information, followed by an encoding declaration, optionally followed by a whitespace enclosed in the delimeters "<?xml" and "?gt;" | one | o-p30fail1 encoding07 ibm-not-wf-p77-ibm77n01 ibm-not-wf-p77-ibm77n02 ibm-not-wf-p77-ibm77n03 ibm-not-wf-p77-ibm77n04 valid-not-sa-012 not-wf-ext-sa-002 sun-not-wf-dtd07 sun-not-wf-decl01 sun-valid-ext01
Physical Structures | Parsed Entities | parsed entities which are stored in an encoding other than UTF-8 or UTF-16 must begin with a text declaration | one | ????
Physical Structures | Parsed Entities | A text declaration must appear at the beginnig of an external parsed entity | one | ibm-not-wf-p30-ibm30n01 ibm-not-wf-p78-ibm78n01 ibm-not-wf-p78-ibm78n02 ibm-not-wf-p79-ibm79n01 ibm-not-wf-p79-ibm79n02 valid-not-sa-012 not-wf-sa-153 not-wf-sa-007 sun-valid-ext01
Physical Structures | Parsed Entities | A text declaration must be provided literally, not by reference to a parsed entity | one | ????
Physical Structures | Parsed Entities | An internal general parsed entity is well-formed if it replacement text is a legal content | one | not-wf-sa-074 not-wf-sa-103 not-wf-sa-104 not-wf-sa-116 not-wf-sa-117 not-wf-sa-119 not-wf-sa-181 not-wf-sa-182 not-wf-sa-153 valid-sa-053
Physical Structures | Parsed Entities | The document entity is well-formed if it matches the production labeled document | one | not-wf-sa-109
Physical Structures | Parsed Entities | An external general parsed entity is well-formed if it contains an optional text declaration and a content | one | ibm-valid-p79-ibm79v01
Physical Structures | Parsed Entities | An encoding declaration must consists of a whitespace followed by the literal "encoding", followed by equal, followed by an encoding name enclosed in double quotes or enclosed in single quotes | one | valid-ext-sa-008 ibm-valid-p78-ibm78v01 ibm-not-wf-p80-ibm80n01 ibm-not-wf-p80-ibm80n02 ibm-not-wf-p80-ibm80n03 ibm-not-wf-p80-ibm80n04 ibm-not-wf-p80-ibm80n05 ibm-not-wf-p80-ibm80n06 valid-sa-031 not-wf-sa-101
Physical Structures | Parsed Entities | An encoding name begins with one of the ASCII letters A through Z or a through z, followed by any number of ASCII letters, digits, period, underscore or a hyphen | one | ibm-not-wf-p81-ibm81n01 ibm-not-wf-p81-ibm81n02 ibm-not-wf-p81-ibm81n03 ibm-not-wf-p81-ibm81n04 ibm-not-wf-p81-ibm81n05 ibm-not-wf-p81-ibm81n06 ibm-not-wf-p81-ibm81n07 ibm-not-wf-p81-ibm81n08 ibm-not-wf-p81-ibm81n09 encoding01 encoding02 encoding03 encoding04 encoding05 encoding06 valid-sa-099
Physical Structures | Parsed Entities | All XML processors must be able to read entities in both UTF-8 and UTF-16 encodings | one | ????
Physical Structures | Parsed Entities | All XML processors must report a fatal error when it encounters an entity with an encoding that is unable to process | one | pr-xml-euc-jp pr-xml-iso-2022-jp pr-xml-shift_jis weekly-euc-jp weekly-iso-2022-jp
Physical Structures | Notation Declarations | A notation declaration must consists of the listeral "<NOTATION" followed by an XML name and an external id or public id separated by whitespaces, optionally followed by a whitespace, followed by ">" | one | ibm-not-wf-p82-ibm82n01 ibm-not-wf-p82-ibm82n02 ibm-not-wf-p82-ibm82n03 ibm-not-wf-p82-ibm82n04 ibm-not-wf-p82-ibm82n05 ibm-not-wf-p82-ibm82n06 ibm-not-wf-p82-ibm82n07 ibm-not-wf-p82-ibm20n08 valid-sa-069 notation01 ibm-valid-p82-ibm82v01
Physical Structures | Notation Declarations | A public id must consists of the literal "PUBLIC", followed by a whitespace, followed by a public literal | one | ibm-not-wf-p83-ibm83n01 ibm-not-wf-p83-ibm83n02 ibm-not-wf-p83-ibm83n03 ibm-not-wf-p83-ibm83n04 ibm-not-wf-p83-ibm83n05 ibm-not-wf-p83-ibm83n06 ibm-valid-p83-ibm83v01
Physical Structures | Notation Declarations | In a valid document only one notation declaration can declare a given name | one | ????
Physical Structures | XML Processor Treatment of Entities and References | When an XML processor recognizes a reference to a parsed entity, in order to validate the document, the processor must include its replacement text | one | ????
Physical Structures | XML Processor Treatment of Entities and References | If there is an external entity, and the processor is not attempting to validate the XML document but does not include the entity's replacement text, it must inform the application that it recognized, but did not read, the entity | one | ????
Physical Structures | XML Processor Treatment of Entities and References | When a paramenter entity reference is recognized in the DTD and included, its replacement text is expanded with spaces in either side | one | valid-not-sa-020
Physical Structures | XML Processor Treatment of Entities and References | When an entity reference appears in an attribute value the single or double quotes character in the replacement text is always treated as a normal data character and will not terminate the literal | one | ????
Physical Structures | XML Processor Treatment of Entities and References | When a parameter entity reference appears in a literal entity value the single or double quotes character in the replacement text is always treated as a normal data character and will not terminate the literal | one | ????
Physical Structures | XML Processor Treatment of Entities and References | The appearance of a reference to an unparsed entity is forbidden and constitute fatal errors | one | ????
Physical Structures | XML Processor Treatment of Entities and References | The appearance of any character or general-entity reference in the DTD except within an entity value or attribute value is forbidden and constitute fatal errors | one | ????
Physical Structures | XML Processor Treatment of Entities and References | A reference to an external entity in an attribute value is forbidden, and constitute fatal errors | one | ????
Physical Structures | Construction of Internal Replacement Text | In an internal entity declaration the literal entity value may contain character, paramenter entity, and general entity references | one | valid-sa-101 valid-sa-117 valid-sa-118 sun-valid-pe00 sun-valid-pe01
Physical Structures | Construction of Internal Replacement Text | In an internal entity declaration a parameter entity reference must be expanded | one | sun-valid-pe00 sun-valid-pe01
Physical Structures | Construction of Internal Replacement Text | In an internal entity declaration, a character reference must be expanded | one | sun-valid-pe00 sun-valid-pe01 not-wf-sa-092 not-wf-sa-115 not-wf-sa-120 valid-sa-065 valid-sa-087 valid-sa-088
Physical Structures | Construction of Internal Replacement Text | In an internal entity declaration a general entity reference must be left unexpanded | one | sun-valid-pe00 sun-valid-pe01
Character Classes | Characters | A letter must consists of a base character or an Ideographic | one | ????
Character Classes | Characters | A base character must consists of the Unicode characters that are alphabetic but not punctuation marks or digits | one | ibm-not-wf-p85-ibm85n01 ibm-not-wf-p85-ibm85n02 ibm-not-wf-p85-ibm85n03 ibm-not-wf-p85-ibm85n04 ibm-not-wf-p85-ibm85n05 ibm-not-wf-p85-ibm85n06 ibm-not-wf-p85-ibm85n07 ibm-not-wf-p85-ibm85n08 ibm-not-wf-p85-ibm85n09 ibm-not-wf-p85-ibm85n10 ibm-not-wf-p85-ibm85n100 ibm-not-wf-p85-ibm85n101 ibm-not-wf-p85-ibm85n102 ibm-not-wf-p85-ibm85n103 ibm-not-wf-p85-ibm85n104 ibm-not-wf-p85-ibm85n105 ibm-not-wf-p85-ibm85n106 ibm-not-wf-p85-ibm85n107 ibm-not-wf-p85-ibm85n108 ibm-not-wf-p85-ibm85n109 ibm-not-wf-p85-ibm85n11 ibm-not-wf-p85-ibm85n110 ibm-not-wf-p85-ibm85n111 ibm-not-wf-p85-ibm85n112 ibm-not-wf-p85-ibm85n113 ibm-not-wf-p85-ibm85n114 ibm-not-wf-p85-ibm85n115 ibm-not-wf-p85-ibm85n116 ibm-not-wf-p85-ibm85n117 ibm-not-wf-p85-ibm85n118 ibm-not-wf-p85-ibm85n119 ibm-not-wf-p85-ibm85n12 ibm-not-wf-p85-ibm85n120 ibm-not-wf-p85-ibm85n121 ibm-not-wf-p85-ibm85n122 ibm-not-wf-p85-ibm85n123 ibm-not-wf-p85-ibm85n124 ibm-not-wf-p85-ibm85n125 ibm-not-wf-p85-ibm85n126 ibm-not-wf-p85-ibm85n127 ibm-not-wf-p85-ibm85n128 ibm-not-wf-p85-ibm85n129 ibm-not-wf-p85-ibm85n13 ibm-not-wf-p85-ibm85n130 ibm-not-wf-p85-ibm85n131 ibm-not-wf-p85-ibm85n132 ibm-not-wf-p85-ibm85n133 ibm-not-wf-p85-ibm85n134 ibm-not-wf-p85-ibm85n135 ibm-not-wf-p85-ibm85n136 ibm-not-wf-p85-ibm85n137 ibm-not-wf-p85-ibm85n138 ibm-not-wf-p85-ibm85n139 ibm-not-wf-p85-ibm85n14 ibm-not-wf-p85-ibm85n140 ibm-not-wf-p85-ibm85n141 ibm-not-wf-p85-ibm85n142 ibm-not-wf-p85-ibm85n143 ibm-not-wf-p85-ibm85n144 ibm-not-wf-p85-ibm85n145 ibm-not-wf-p85-ibm85n146 ibm-not-wf-p85-ibm85n147 ibm-not-wf-p85-ibm85n148 ibm-not-wf-p85-ibm85n149 ibm-not-wf-p85-ibm85n15 ibm-not-wf-p85-ibm85n150 ibm-not-wf-p85-ibm85n151 ibm-not-wf-p85-ibm85n152 ibm-not-wf-p85-ibm85n153 ibm-not-wf-p85-ibm85n154 ibm-not-wf-p85-ibm85n155 ibm-not-wf-p85-ibm85n156 ibm-not-wf-p85-ibm85n157 ibm-not-wf-p85-ibm85n158 ibm-not-wf-p85-ibm85n159 ibm-not-wf-p85-ibm85n16 ibm-not-wf-p85-ibm85n160 ibm-not-wf-p85-ibm85n161 ibm-not-wf-p85-ibm85n162 ibm-not-wf-p85-ibm85n163 ibm-not-wf-p85-ibm85n164 ibm-not-wf-p85-ibm85n165 ibm-not-wf-p85-ibm85n166 ibm-not-wf-p85-ibm85n167 ibm-not-wf-p85-ibm85n168 ibm-not-wf-p85-ibm85n169 ibm-not-wf-p85-ibm85n17 ibm-not-wf-p85-ibm85n170 ibm-not-wf-p85-ibm85n171 ibm-not-wf-p85-ibm85n172 ibm-not-wf-p85-ibm85n173 ibm-not-wf-p85-ibm85n174 ibm-not-wf-p85-ibm85n175 ibm-not-wf-p85-ibm85n176 ibm-not-wf-p85-ibm85n177 ibm-not-wf-p85-ibm85n178 ibm-not-wf-p85-ibm85n179 ibm-not-wf-p85-ibm85n18 ibm-not-wf-p85-ibm85n180 ibm-not-wf-p85-ibm85n181 ibm-not-wf-p85-ibm85n182 ibm-not-wf-p85-ibm85n183 ibm-not-wf-p85-ibm85n184 ibm-not-wf-p85-ibm85n185 ibm-not-wf-p85-ibm85n186 ibm-not-wf-p85-ibm85n187 ibm-not-wf-p85-ibm85n188 ibm-not-wf-p85-ibm85n189 ibm-not-wf-p85-ibm85n19 ibm-not-wf-p85-ibm85n190 ibm-not-wf-p85-ibm85n191 ibm-not-wf-p85-ibm85n192 ibm-not-wf-p85-ibm85n193 ibm-not-wf-p85-ibm85n194 ibm-not-wf-p85-ibm85n195 ibm-not-wf-p85-ibm85n196 ibm-not-wf-p85-ibm85n197 ibm-not-wf-p85-ibm85n198 ibm-not-wf-p85-ibm85n199 ibm-not-wf-p85-ibm85n20 ibm-not-wf-p85-ibm85n21 ibm-not-wf-p85-ibm85n22 ibm-not-wf-p85-ibm85n23 ibm-not-wf-p85-ibm85n24 ibm-not-wf-p85-ibm85n25 ibm-not-wf-p85-ibm85n26 ibm-not-wf-p85-ibm85n27 ibm-not-wf-p85-ibm85n28 ibm-not-wf-p85-ibm85n29 ibm-not-wf-p85-ibm85n30 ibm-not-wf-p85-ibm85n31 ibm-not-wf-p85-ibm85n32 ibm-not-wf-p85-ibm85n33 ibm-not-wf-p85-ibm85n34 ibm-not-wf-p85-ibm85n35 ibm-not-wf-p85-ibm85n36 ibm-not-wf-p85-ibm85n37 ibm-not-wf-p85-ibm85n38 ibm-not-wf-p85-ibm85n39 ibm-not-wf-p85-ibm85n40 ibm-not-wf-p85-ibm85n41 ibm-not-wf-p85-ibm85n42 ibm-not-wf-p85-ibm85n43 ibm-not-wf-p85-ibm85n44 ibm-not-wf-p85-ibm85n45 ibm-not-wf-p85-ibm85n46 ibm-not-wf-p85-ibm85n47 ibm-not-wf-p85-ibm85n48 ibm-not-wf-p85-ibm85n49 ibm-not-wf-p85-ibm85n50 ibm-not-wf-p85-ibm85n51 ibm-not-wf-p85-ibm85n52 ibm-not-wf-p85-ibm85n53 ibm-not-wf-p85-ibm85n54 ibm-not-wf-p85-ibm85n55 ibm-not-wf-p85-ibm85n56 ibm-not-wf-p85-ibm85n57 ibm-not-wf-p85-ibm85n58 ibm-not-wf-p85-ibm85n59 ibm-not-wf-p85-ibm85n60 ibm-not-wf-p85-ibm85n61 ibm-not-wf-p85-ibm85n62 ibm-not-wf-p85-ibm85n63 ibm-not-wf-p85-ibm85n64 ibm-not-wf-p85-ibm85n65 ibm-not-wf-p85-ibm85n66 ibm-not-wf-p85-ibm85n67 ibm-not-wf-p85-ibm85n68 ibm-not-wf-p85-ibm85n69 ibm-not-wf-p85-ibm85n70 ibm-not-wf-p85-ibm85n71 ibm-not-wf-p85-ibm85n72 ibm-not-wf-p85-ibm85n73 ibm-not-wf-p85-ibm85n74 ibm-not-wf-p85-ibm85n75 ibm-not-wf-p85-ibm85n76 ibm-not-wf-p85-ibm85n77 ibm-not-wf-p85-ibm85n78 ibm-not-wf-p85-ibm85n79 ibm-not-wf-p85-ibm85n80 ibm-not-wf-p85-ibm85n81 ibm-not-wf-p85-ibm85n82 ibm-not-wf-p85-ibm85n83 ibm-not-wf-p85-ibm85n84 ibm-not-wf-p85-ibm85n85 ibm-not-wf-p85-ibm85n86 ibm-not-wf-p85-ibm85n87 ibm-not-wf-p85-ibm85n88 ibm-not-wf-p85-ibm85n89 ibm-not-wf-p85-ibm85n90 ibm-not-wf-p85-ibm85n91 ibm-not-wf-p85-ibm85n92 ibm-not-wf-p85-ibm85n93 ibm-not-wf-p85-ibm85n94 ibm-not-wf-p85-ibm85n95 ibm-not-wf-p85-ibm85n96 ibm-not-wf-p85-ibm85n97 ibm-not-wf-p85-ibm85n98 ibm-not-wf-p85-ibm85n99 ibm-valid-p85-ibm85n01
Character Classes | Characters | An ideographic character must consits of Unicode's Chinese-Japanese-Korean unified ideographs "#x4E00-#x9FA5", the ideographic number zero "#3007" or the Hangzhou style numerals "#x3021-#x3029" | one | ibm-not-wf-p86-ibm86n01 ibm-not-wf-p86-ibm86n02 ibm-not-wf-p86-ibm86n03 ibm-not-wf-p86-ibm86n04 ibm-valid-p86-ibm86n01
Character Classes | Characters | Combining characters must consits of characters combined with other characters to form the appearance of a single character | one | ibm-not-wf-p87-ibm87n01 ibm-not-wf-p87-ibm87n02 ibm-not-wf-p87-ibm87n03 ibm-not-wf-p87-ibm87n04 ibm-not-wf-p87-ibm87n05 ibm-not-wf-p87-ibm87n06 ibm-not-wf-p87-ibm87n07 ibm-not-wf-p87-ibm87n08 ibm-not-wf-p87-ibm87n09 ibm-not-wf-p87-ibm87n10 ibm-not-wf-p87-ibm87n11 ibm-not-wf-p87-ibm87n12 ibm-not-wf-p87-ibm87n13 ibm-not-wf-p87-ibm87n14 ibm-not-wf-p87-ibm87n15 ibm-not-wf-p87-ibm87n16 ibm-not-wf-p87-ibm87n17 ibm-not-wf-p87-ibm87n18 ibm-not-wf-p87-ibm87n19 ibm-not-wf-p87-ibm87n20 ibm-not-wf-p87-ibm87n21 ibm-not-wf-p87-ibm87n22 ibm-not-wf-p87-ibm87n23 ibm-not-wf-p87-ibm87n24 ibm-not-wf-p87-ibm87n25 ibm-not-wf-p87-ibm87n26 ibm-not-wf-p87-ibm87n27 ibm-not-wf-p87-ibm87n28 ibm-not-wf-p87-ibm87n29 ibm-not-wf-p87-ibm87n30 ibm-not-wf-p87-ibm87n31 ibm-not-wf-p87-ibm87n32 ibm-not-wf-p87-ibm87n33 ibm-not-wf-p87-ibm87n34 ibm-not-wf-p87-ibm87n35 ibm-not-wf-p87-ibm87n36 ibm-not-wf-p87-ibm87n37 ibm-not-wf-p87-ibm87n38 ibm-not-wf-p87-ibm87n39 ibm-not-wf-p87-ibm87n40 ibm-not-wf-p87-ibm87n41 ibm-not-wf-p87-ibm87n42 ibm-not-wf-p87-ibm87n43 ibm-not-wf-p87-ibm87n44 ibm-not-wf-p87-ibm87n45 ibm-not-wf-p87-ibm87n46 ibm-not-wf-p87-ibm87n47 ibm-not-wf-p87-ibm87n48 ibm-not-wf-p87-ibm87n49 ibm-not-wf-p87-ibm87n50 ibm-not-wf-p87-ibm87n51 ibm-not-wf-p87-ibm87n52 ibm-not-wf-p87-ibm87n53 ibm-not-wf-p87-ibm87n54 ibm-not-wf-p87-ibm87n55 ibm-not-wf-p87-ibm87n56 ibm-not-wf-p87-ibm87n57 ibm-not-wf-p87-ibm87n58 ibm-not-wf-p87-ibm87n59 ibm-not-wf-p87-ibm87n60 ibm-not-wf-p87-ibm87n61 ibm-not-wf-p87-ibm87n62 ibm-not-wf-p87-ibm87n63 ibm-not-wf-p87-ibm87n64 ibm-not-wf-p87-ibm87n65 ibm-not-wf-p87-ibm87n66 ibm-not-wf-p87-ibm87n67 ibm-not-wf-p87-ibm87n68 ibm-not-wf-p87-ibm87n69 ibm-not-wf-p87-ibm87n70 ibm-not-wf-p87-ibm87n71 ibm-not-wf-p87-ibm87n72 ibm-not-wf-p87-ibm87n73 ibm-not-wf-p87-ibm87n74 ibm-not-wf-p87-ibm87n75 ibm-not-wf-p87-ibm87n76 ibm-not-wf-p87-ibm87n77 ibm-not-wf-p87-ibm87n78 ibm-not-wf-p87-ibm87n79 ibm-not-wf-p87-ibm87n80 ibm-not-wf-p87-ibm87n81 ibm-not-wf-p87-ibm87n82 ibm-not-wf-p87-ibm87n83 ibm-not-wf-p87-ibm87n84 ibm-not-wf-p87-ibm87n85 ibm-valid-p87-ibm87n01
Character Classes | Characters | A digit must consits of the European numerals "0,1,2,3,4,5,6,7,8, and 9", the Arabic-indic digits, the Eastern Arabic Indic digits and others | one | ibm-not-wf-p88-ibm88n01 ibm-not-wf-p88-ibm88n02 ibm-not-wf-p88-ibm88n03 ibm-not-wf-p88-ibm88n04 ibm-not-wf-p88-ibm88n05 ibm-not-wf-p88-ibm88n06 ibm-not-wf-p88-ibm88n08 ibm-not-wf-p88-ibm88n09 ibm-not-wf-p88-ibm88n10 ibm-not-wf-p88-ibm88n11 ibm-not-wf-p88-ibm88n12 ibm-not-wf-p88-ibm88n13 ibm-not-wf-p88-ibm88n14 ibm-not-wf-p88-ibm88n15 ibm-not-wf-p88-ibm88n16 ibm-valid-p88-ibm88n01
Character Classes | Characters | An extender must consits the following characters; the middle dot "#x00B7", the modifier letter triangular colon "#x02D0", the modifier letter half-triangular colon "#x02D1", the Greek middle dot "#x0387", the Arabic tatweel "#x0640", the Thai maiyamok"#x0E46", the Lao ko la "#x0EC6", the ideographic iteration mark, five Japanese Kana repeat marks "#x3005", the Japanese Hiragana iteration mark and voice iteration mark "#x3031-#x3035", and the Japanese Katakana and Hiragana sound mark "#x309D-#x309E" and prolonged sound mark "#x30FC-#x30FE" | one | ibm-not-wf-p89-ibm89n01 ibm-not-wf-p89-ibm89n02 ibm-not-wf-p89-ibm89n03 ibm-not-wf-p89-ibm89n04 ibm-not-wf-p89-ibm89n05 ibm-not-wf-p89-ibm89n06 ibm-not-wf-p89-ibm89n08 ibm-not-wf-p89-ibm89n09 ibm-not-wf-p89-ibm89n10 ibm-not-wf-p89-ibm89n11 ibm-not-wf-p89-ibm89n12 ibm-valid-p89-ibm89n01