- From: Jeff Rafter <lists@jeffrafter.com>
- Date: Thu, 03 Mar 2005 10:07:30 -0800
- To: public-xml-testsuite@w3.org
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 "[[>" But should read: character "]]>" ) 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 "[[>" But should read: the string "]]>" ) 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