# 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