62 typos, grammatical errors, and test file errors in the testsuite

I recently went through the conformance output of the AElfred C# parser 
and actually spent the time looking at the negative tests to compare the 
messages. I was surprised by what I found. I took notes about typos, bad 
messages, and test suite problems as I went. The following are my 
results (formatted in the most confusing way imaginable):

o-p58fail3 (This test claims "A parser that reports error positions 
should report an error at the AttlistDecl on line 6, before reaching the 
notation declaration." However, the ATTLIST declaration appears on line 
11, column 31 seems more appropriate)
ibm-not-wf-P62-ibm62n05.xml (in the message "]" should be "[")
ibm-not-wf-P63-ibm63n05.xml (in the message "]" should be "[")
ibm-not-wf-P64-ibm64n01.xml (In the test itself the comment "Negative 
test. Pattern2(Wrong character '?' instead of '[')" appears... it should 
end with "'!')")
ibm-not-wf-P65-ibm65n02.xml (Isn't the "<![" before this permissible? 
This is actually a test showing that ignoreSect contents containing 
"<![" must be processed and matched. I am not sure if the test is wrong 
or the wording of the message.)
not-wf-sa-083 (
   The test:

     <!DOCTYPE doc [
       <!ENTITY e SYSTEM "nul" NDATA n>
     ]>
     <doc>&e;</doc>

   Contains two errors, allowing it to be mistakenly failed for the 
wrong reason. It would be better to do:

     <!DOCTYPE doc [
       <!ENTITY e SYSTEM "nul" NDATA n>
       <!ATTLIST doc test ENTITY #IMPLIED>
     ]>
     <doc test="e"></doc>

   Of course, then this is testing the VC: Entity Declared, not a WFC.It 
seems that the real intent of this test is not:

     "Undefined NOTATION n."

   As the message indicates (which would be a VC not a WFC as well VC: 
Notation Declared)-- perhaps the intent was to test that production [76] 
is applied:

     "If the NDataDecl is present, this is a general unparsed entity; 
otherwise it is a parsed entity."

   In which case the reference to the entity is invalid because it 
becomes a reference to an external GE. If this is the case, the message 
should be changed to reflect this and the test should be modified to:

     <!DOCTYPE doc [
       <!NOTATION n SYSTEM "nul">
       <!ENTITY e SYSTEM "nul" NDATA n>
     ]>
     <doc>&e;</doc>

   This makes the message clear, and also eliminates that possibility 
that a validating process will fail the test mistakenly by
   producing a non-fatal error for the missing notation declaration.
)
rmt-ns10-014 (This test should be changed to:

     <?xml version="1.0"?>
     <!-- Bad QName syntax: colon at end -->
     <foo: xmlns:foo="http://bar"/>

   Currently, it is possible that a parser will fail because of an 
undelcared prefix
   and not check the qName syntax as intended)

ibm-not-wf-P14-ibm14n01.xml (typo in test text,
   The test message reads: character "[[&gt;"
   But should read: character "]]&gt;"
)
ibm-not-wf-P15-ibm15n01.xml (should "-" be "--" or "--------"?)
ibm-not-wf-P16-ibm16n01.xml (
   The test messages reads:  Tests PI. The content of the PI includes 
the sequence "(less than)?".
   But should read:  Tests PI. The content of the PI includes the 
sequence "?(greater than)".
)
ibm-not-wf-P20-ibm20n01.xml (
   The test message reads: the string "[[&gt;"
   But should read: the string "]]&gt;"
)
ibm-not-wf-P28-ibm28n07.xml (
   The test message reads: The opening bracket "}" occurs
   But should read: The opening bracket "{" occurs
)

not-wf-sa-048 (typo "roor element")

ibm-not-wf-P41-ibm41n10.xml (grammatical "A direct references" should be 
"A direct reference")
ibm-not-wf-P41-ibm41n11.xml (grammatical "A indirect references" should 
be "An indirect reference")
ibm-not-wf-P41-ibm41n12.xml (grammatical "A direct references" should be 
"A direct reference")
ibm-not-wf-P41-ibm41n13.xml (typo: "No (less that) character" should be 
"No (less than) character")
ibm-not-wf-P43-ibm43n02.xml (grammatical "A elementdecl is used" should 
be "An elementdecl is used")
ibm-not-wf-P43-ibm43n04.xml (
   The test message reads: An elementdecl is used as the content of the 
element "root".
   But should read: An entitydecl is used as the content of the element 
"root".
)

o-p41fail2 (
   strange wording for test-- seems like it is meant for an elementdecl 
test,
   not an attribute test. The test:

   <!DOCTYPE doc
   [
   <!ELEMENT doc att (val|val2)>
   ]>
   <doc val></doc>

   Should probably remove the improper ElementDecl or change the test 
wording.
)

ibm-not-wf-P56-ibm56n01.xml (grammatical:
   The test reads: The "id" is used in the
   But should read: The type "id" is used in the
)
ibm-not-wf-P56-ibm56n02.xml (grammatical:
   The test reads: The "Idref" is used in the
   But should read: The type "Idref" is used in the
)
ibm-not-wf-P56-ibm56n03.xml (grammatical:
   The test reads: The "Idrefs" is used in the
   But should read: The type "Idrefs" is used in the
)
ibm-not-wf-P56-ibm56n04.xml (grammatical:
   The test reads: The "EntitY" is used in the
   But should read: The type "EntitY" is used in the
)
ibm-not-wf-P56-ibm56n05.xml (grammatical:
   The test reads: The "nmTOKEN" is used in the
   But should read: The type "nmTOKEN" is used in the
)
ibm-not-wf-P56-ibm56n06.xml (grammatical:
   The test reads: The "NMtokens" is used in the
   But should read: The type "NMtokens" is used in the
)
ibm-not-wf-P56-ibm56n07.xml (grammatical:
   The test reads: The "#ID" is used in the
   But should read: The type "#ID" is used in the
)
ibm-not-wf-P57-ibm57n01.xml (grammatical:
   The test reads: The "NMTOKEN (a|b)" is used
   But should read: The string "NMTOKEN (a|b)" is used
)

ibm-not-wf-P59-ibm59n05.xml (test and message seem different, the test is
  almost identical to ibm-not-wf-P59-ibm59n06.xml which seems to test the
  exact same thing. What was most likely intended was an initial test
  of the opening bracket and a second test of the closing bracket.

not-wf-sa-111 (typo "entiry ref...")
not-wf-sa-125 (grammatical "parenthesis" should be "parentheses")
o-p52fail2 (technically, the error will be about whitespace not the name:

   <!DOCTYPE doc
   [
   <!ELEMENT doc EMPTY>
   <!ATTLIST>
   ]>
   <doc/>

   The parser will report missing whitespace. To test what the message 
actually
   says, it would need to be:

   <!DOCTYPE doc
   [
   <!ELEMENT doc EMPTY>
   <!ATTLIST >
   ]>
   <doc/>
)

ibm-not-wf-P69-ibm69n06.xml (test is inaccurate, this should fail 
because there is a PE reference within a decl in the internal subset. In 
order to test this accurately, the dtd needs to be moved to an external 
file)
ibm-not-wf-P69-ibm69n07.xml (test is inaccurate, this should fail 
because there is a PE reference within a decl in the internal subset. In 
order to test this accurately, the dtd needs to be moved to an external 
file)
ibm-not-wf-P71-ibm70n01.xml (message incomplete, I am not sure what this 
is intended to test, most likely a MARKUP decl after the root element? 
Or maybe the first ENTITY decl was meant to not close?)
ibm-not-wf-P72-ibm72n09.xml (test is in error, needs whitespace between 
ENTITY and %)

not-wf-sa-109 (message could be more clear, this is actually testing the 
use of a general entity as the root element. Technically, tags *Are* 
allowed in entity decls)

o-p70fail1 (incomplete message, should read: This is neither a general 
or parameter entity declaration (ampersand not allowed as part of 
general entity declaration))

not-wf-sa-089 (grammatical, why is "are" in quote marks?)
not-wf-sa-091 (grammatical, why is "are" in quote marks?)

ibm-not-wf-P80-ibm80n03.xml (grammatical "are" -> "is")
o-p58fail6 (grammatical, should be "parentheses are required")

ibm-not-wf-P83-ibm83n01.xml (typo NotationDcl)
ibm-not-wf-P83-ibm83n02.xml (typo NotationDcl)
ibm-not-wf-P83-ibm83n03.xml (typo NotationDcl)
ibm-not-wf-P83-ibm83n04.xml (typo NotationDcl)
ibm-not-wf-P83-ibm83n05.xml (typo NotationDcl)
ibm-not-wf-P83-ibm83n06.xml (typo NotationDcl)

ibm-not-wf-P83-ibm83n02.xml (test invalid, file contains "r")
ibm-not-wf-P85-ibm85n181.xml (test message typo should be 1F7E)
ibm-not-wf-P85-ibm85n72.xml (test message typo should be A5D)
ibm-not-wf-P85-ibm85n75.xml (missing character number in test message 
should be A84)

ibm-not-wf-P29-ibm29n05.xml (strange wording for test and what it 
actually tests, the test claims to be for WFC PEs in internal subset, 
but I don't think that PEs are ever processed inside of a PI, in the 
internal or external subset)
ibm-not-wf-P29-ibm29n06.xml (strange wording for test and what it 
actually tests, the test claims to be for WFC PEs in internal subset, 
but I don't think that PEs are ever processed inside of a PI, in the 
internal or external subset)
	
ibm-not-wf-P19-ibm19n01.xml (The CDATA section for testing should be 
within the root element, not before it)
ibm-not-wf-P19-ibm19n02.xml (The CDATA section for testing should be 
within the root element, not before it)
ibm-not-wf-P19-ibm19n03.xml (The CDATA section for testing should be 
within the root element, not before it)
ibm-not-wf-P20-ibm20n01.xml (The CDATA section for testing should be 
within the root element, not before it)
ibm-not-wf-P21-ibm21n01.xml (Message: Tests CDEnd. One "]" is missing in 
the CDEnd.

   <?xml version="1.0"?>
   <!DOCTYPE student [
   	<!ELEMENT student (#PCDATA)>
   ]>

   <!-- testing invalid CDEnd -->
   <![[CDATA[This is a test]>
   <student>My Name is SnowMan. </student>

   The test is actually testing the CDStart. There is an extra "[" at 
the start of
   the CDATA section that should be removed. Additionally, The CDATA 
section for testing
   should be within the root element, not before it)

ibm-not-wf-P21-ibm21n02.xml(Message:  Tests CDEnd. An extra "]" is 
placed in the CDEnd.

   <?xml version="1.0"?>
   <!DOCTYPE student [
   	<!ELEMENT student (#PCDATA)>
   ]>

   <!-- testing invalid CDEnd -->
   <![cdata[This is a test]]]>
   <student>My Name is SnowMan. </student>

   This test is actually testing CDStart. The "CDATA" is written "cdata" and
   should be corrected. Additionally, The CDATA section for testing
   should be within the root element, not before it)

ibm-not-wf-P21-ibm21n03.xml (The CDATA section for testing should be 
within the root element, not before it)

ibm-valid-P10-ibm10v07.xml (in the entitydecl for "mylast", "mymiddle;" 
is referenced without an "&")


Thanks for any comments,
Jeff Rafter

Received on Thursday, 3 March 2005 21:27:13 UTC