XML Processor Conformance Report:
com.megginson.sax.MSXMLDriver

This document is the output of an XML test harness. It reports on the conformance of the following XML 1.0 processor configuration, as reported through the Java version of the SAX (Simple API for XML) parser interface. For SAX 2.0 (alpha) processors, the processing mode and entity handling values could be non-default values, if such a feature is supported by that processor. For SAX 1.0 processors, those values were as reported to the test harness by its operator.

XML Processor Microsoft MSXML (from JVM)
SAX Parser Class com.megginson.sax.MSXMLDriver
Processing Mode Validating
General Entities included
Parameter Entities included

The test harness and execution environment was:

Test Run Date Tue Sep 07 07:46:30 PDT 1999
Harness and Version org.brownell.xml.conformance.Driver
(alpha; 3-September-1999)
Java VM Info Microsoft JVM 5.00.3186
Suite of Testcases OASIS Conformance Tests, v1.0

An summary of test results follows. To know the actual test status, someone must examine the result of each passed negative test to make sure it failed for the right reason. That examination may cause the counts of failed tests to increase, changing a provisional "conforms" status to a "does not conform".

Status DOES NOT CONFORM
Total Passed Tests (provisional) 648
Passed Negative Tests (provisional) 359
Failed Tests (provisional) 417
Tests Skipped 0

Sections of this report are: Explanation of Tables; Positive Tests, cases where this processor should report no errors; Negative Tests, documents for which this processor must report the known errors; and Informative Tests, documents with errors which processors are not required to report.

NOTE: The OASIS/NIST test suite is currently in draft state, and can't actually be used without modifications to the configuration file, which is used both to generate the test documentation published at the OASIS/NIST site and to operate this test harness. Accordingly, treat these results as preliminary.


Explanation of Tables

Sections presenting test results are composed largely of tables, with explanations focussing on exactly what those tables indicate. Diagnostics for failed tests are presented in italics, with a cherry colored background, to highlight the result. Diagnostics for succesful tests should as a rule only exist for negative tests. Diagnostics with parenthesized comments indicate the reporting path:

(fatal)
The diagnostic was reported as a fatal error. Such errors are primarily well-formedness errors, such as the violation of XML 1.0 syntax rules or of well formedness constraints.
(error)
The diagnostic was reported as a recoverable error. Such errors primarily used to report validation errors, which are all violations of validity constraints, but some other errors are also classed as nonfatal.
(warning)
The diagnostic was reported as a warning; warnings are purely informative and may be emitted in a number of cases identified by the XML 1.0 specification (as well as in other cases).
(thrown classname) ... abnormal
The named exception was directly thrown. If the exception is a SAXException (or a subclass thereof) this suggests an error in the parser (violating the SAX API specification) since it should normally have used the SAX ErrorHandler instead.
(odd classname) ... abnormal
After the identified exception was reported through the ErrorHandler, an exception of the named class was thrown directly. This suggests an error in the parser, since the parser either failed to continue after an error (or warning) which is required to be continuable, or else it did not pass the exception thrown by the application back to the application.
(EXCEPTION - DIRECTED FAILURE) ... abnormal
This test case was explicitly failed by the test operator; the test was not run. This may be done in the case of parsers with severe bugs which completely prevented handling the test case, typically because the parser seems to "hang" by entering an infinite loop.

In all cases, negative tests that appear to pass (diagnostics presented with a white background) must be individually examined in the report below. The diagnostic provided by the processor must correspond to the description of the test provided; if the processor does not report the matching error, the seeming "pass" is in fact an error of a type the test harness could not detect or report. That error is either a conformance bug, or an error in the diagnostic being produced, or sometimes both.

Note also that some SAX processors (or drivers for non-SAX processors) appear to have a bug wherein they don't close all of the files which they open. When running this test harness with large numbers of tests, failures at the end of this report could reflect such bugs in SAX conformance more than bugs in XML processor conformance.


Positive Tests

All conformant XML 1.0 processors must accept "valid" input documents without reporting any errors, and moreover must report the correct output data to the application when processing those documents. Nonvalidating processors must also accept "invalid" input documents without reporting any errors. These are called "Positive Tests" because they ensure that the processor just "does the right thing" without reporting any problems.

In the interest of brevity, the only tests listed here are those which produce diagnostics of some kind, such as test failures. In some cases, warnings may be reported when processing these documents, but these do not indicate failures.

No interpretation of these results is necessary; every "error" or "fatal" message presented here is an XML conformance failure. Maintainers of an XML processor will generally want to fix their software so that it conforms fully to the XML specification.

Valid Documents

All XML processors must accept all valid documents. This group of tests must accordingly produce no test failures.

Section and [Rules] Test ID Description Diagnostic
2.10 valid-sa-093 Test demonstrates that extra whitespace is not intended for inclusion in the delivered version of the document. FAIL (odd SAXException) (fatal) Expected comments, PI, or EOF instead of TEXT 'null'
2.2 [2] valid-sa-051 The document is encoded in UTF-16 and uses some name characters well outside of the normal ASCII range. FAIL (odd SAXException) (fatal) Unexpected token '์' inside tag <null>
2.3 4.1 [10] [69] valid-not-sa-023 Test demonstrates the use of a parameter entity reference within an attribute list declaration. FAIL (odd SAXException) (fatal) Missing Element declaration 'do'
2.3 [12] o-p12pass1 valid public IDs. FAIL (odd SAXException) (fatal) Expected quote(' or ") instead of tag end(>)
2.3 [4] valid-sa-012 Uses a legal XML 1.0 name consisting of a single colon character (disallowed by the latest XML Namespaces draft). FAIL (odd SAXException) (fatal) Expecting name instead of ' '
2.3 [5] valid-sa-063 The document is encoded in UTF-8 and the name of the root element type uses non-ASCII characters. FAIL (odd SAXException) (fatal) Unexpected token '¹' inside tag <null>
2.3 [7] o-p07pass1 various valid Nmtoken 's in an attribute list declaration. FAIL (odd SAXException) (fatal) Expecting name instead of '-'
2.3 [8] o-p08pass1 various satisfaction of an NMTOKENS attribute value. FAIL (odd SAXException) (fatal) Expecting name instead of '.'
2.4 2.7 [18] empty Whitespace found in CDATA sections and entity references works is treated like other optional whitespace FAIL (odd SAXException) (fatal) Invalid element 'PCDATA' in content of 'foo'. Expected [a]
2.7 valid-not-sa-031 Expands a general entity which contains a CDATA section with what looks like a markup declaration (but is just text since it's in a CDATA section). FAIL (odd SAXException) (fatal) Entity 'e' is a parameter entity.
2.8 4.2.2 4.3.1 [30] [75] [77] o-p30pass2 Valid doctypedecl with ExternalID as an Enternal Entity. The external entity begins with a Text Declaration. FAIL (odd SAXException) (fatal) Expected version instead of null
2.8 [29] o-p29pass1 Valid types of markupdecl. FAIL (odd SAXException) (fatal) Expected quote(' or ") instead of tag end(>)
2.8 [31] o-p31pass1 external subset can be empty FAIL (odd SAXException) (fatal) Unexpected text in DTD.
2.9 not-sa02 A non-standalone document is valid if declared as such. FAIL (odd SAXException) (fatal) Unexpected token '&' inside tag <attributes>
2.9 not-sa03 A non-standalone document is valid if declared as such. FAIL (odd SAXException) (fatal) Unexpected token '&' inside tag <attributes>
2.9 not-sa04 A non-standalone document is valid if declared as such. FAIL (odd SAXException) (fatal) Missing Element declaration 'attributes'
2.9 [32] sa02 A document may be marked 'standalone' if any attributes that need normalization are defined within the internal DTD subset. FAIL (odd SAXException) (fatal) Unexpected token '&' inside tag <attributes>
2.9 [32] sa03 A document may be marked 'standalone' if any the defined entities need expanding are internal, and no attributes need defaulting or normalization. On output, requires notations to be correctly reported. FAIL (odd SAXException) (fatal) Unexpected token '&' inside tag <attributes>
2.9 [32] sa04 Like sa03 but relies on attribute defaulting defined in the internal subset. On output, requires notations to be correctly reported. FAIL (odd SAXException) (fatal) Missing Element declaration 'attributes'
3.3 valid-sa-043 An element's attributes may be declared before its content model; and attribute values may contain newlines. FAIL (odd SAXException) (fatal) Missing Element declaration 'doc'
3.3 [52] o-p52pass1 valid AttlistDecls: No AttDef's are required, and the terminating S is optional, multiple ATTLISTS per element are OK, and multiple declarations of the same attribute are OK. FAIL (odd SAXException) (fatal) Attribute 'att2' is required.
3.3 [52] valid-not-sa-006 Test demonstrates that when more than one definition is provided for the same attribute of a given element type only the first declaration is binding. FAIL (odd SAXException) (fatal) Missing Element declaration 'doc'
3.3 [52] valid-not-sa-010 Test demonstrates that when more that one definition is provided for the same attribute of a given element type only the first declaration is binding. FAIL (odd SAXException) (fatal) Missing Element declaration 'doc'
3.3 [52][53] valid-sa-113 Test demonstrates that it is not an error to have attributes declared for an element not itself declared. FAIL (odd SAXException) (fatal) Missing Element declaration 'e'
3.3.1 valid-sa-076 Verifies that an XML parser will parse a NOTATION attribute; the output phase of this test ensures that both notations are reported to the application. FAIL (odd SAXException) (fatal) Notation not declared 'n1'
3.3.1 valid-sa-090 Verifies that an XML parser will parse a NOTATION attribute; the output phase of this test ensures that the notation is reported to the application. FAIL (odd SAXException) (fatal) Missing Element declaration 'e'
3.3.1 [57] o-p57pass1 enumerated types are NMTOKEN or NOTATION lists FAIL (odd SAXException) (fatal) Expected ) instead of NAME 'b'
3.3.1 [58] o-p58pass1 NOTATION enumeration has on or more items FAIL (odd SAXException) (fatal) Expected ) instead of #
3.3.3 valid-sa-058 Test demonstrates that extra whitespace be normalized into a single space character in an attribute of type NMTOKENS. FAIL (odd SAXException) (fatal) Missing Element declaration 'doc'
3.3.3 valid-sa-095 Basically an output test, this requires extra whitespace to be normalized into a single space character in an attribute of type NMTOKENS. FAIL (odd SAXException) (fatal) Missing Element declaration 'doc'
3.3.3 valid-sa-096 Test demonstrates that extra whitespace is normalized into a single space character in an attribute of type NMTOKENS. FAIL (odd SAXException) (fatal) Missing Element declaration 'doc'
3.3.3 valid-sa-111 Character references expanding to spaces doesn't affect treatment of attributes. FAIL (odd SAXException) (fatal) Unexpected token '&' inside tag <doc>
3.4 [62] o-p62pass1 valid INCLUDE sections -- options S before and after keyword, sections can nest FAIL (odd SAXException) (fatal) Bad conditional section start syntax. Expected '['
3.4 [62] valid-not-sa-013 Test demonstrates the use of the conditional section INCLUDE that will include its contents as part of the DTD. FAIL (odd SAXException) (fatal) Bad conditional section start syntax. Expected '['
3.4 [62] valid-not-sa-014 Test demonstrates the use of the conditional section INCLUDE that will include its contents as part of the DTD. The keyword is a parameter-entity reference. FAIL (odd SAXException) (fatal) Bad conditional section start syntax. Expected '['
3.4 [63] o-p63pass1 valid IGNORE sections FAIL (odd SAXException) (fatal) Bad conditional section start syntax. Expected '['
3.4 [63] valid-not-sa-015 Test demonstrates the use of the conditonal section IGNORE the will ignore its content from being part of the DTD. The keyword is a parameter-entity reference. FAIL (odd SAXException) (fatal) Bad conditional section start syntax. Expected '['
3.4 [64] o-p64pass1 IGNOREd sections ignore everything except section delimiters FAIL (odd SAXException) (fatal) Bad Ignore conditional section syntex. ']]>' is not allowed here.
4 valid-sa-085 Parameter and General entities use different namespaces, so there can be an entity of each type with a given name. FAIL (odd SAXException) (fatal) Entity 'e' is a parameter entity.
4.1 4.4.3 [68] valid-ext-sa-014 Test demonstrates use of characters outside of normal ASCII range. FAIL (EXCEPTION - DIRECTED FAILURE)
4.1 [66] valid-sa-066 Expands a CDATA attribute with a character reference. FAIL (odd SAXException) (fatal) Expected tag end(>) instead of quote(' or ")
4.1 [66] valid-sa-089 Tests entity expansion of three legal character references, which each expand to a Unicode surrogate pair. FAIL (EXCEPTION - DIRECTED FAILURE)
4.1 [69] valid-not-sa-003 Test demonstrates the expansion of an external parameter entity that declares an attribute. FAIL (odd SAXException) (fatal) Unexpected text in DTD.
4.1 [69] valid-not-sa-004 Expands an external parameter entity in two different ways, with one of them declaring an attribute. FAIL (odd SAXException) (fatal) Expected comments, PI, or EOF instead of NAME 'doc'
4.1 [69] valid-not-sa-005 Test demonstrates the expansion of an external parameter entity that declares an attribute. FAIL (odd SAXException) (fatal) Expected comments, PI, or EOF instead of NAME 'doc'
4.2 valid-not-sa-025 Test demonstrates that when more that one definition is provided for the same entity only the first declaration is binding. FAIL (odd SAXException) (fatal) Expected comments, PI, or EOF instead of NAME 'doc'
4.2 [73] o-p73pass1 EntityDef is either Entity value or an external id, with an optional NDataDecl FAIL (odd SAXException) (fatal) Expected quote(' or ") instead of tag end(>)
4.2.2 4.3.3. 4.4.3 [75] [80] valid-ext-sa-008 Test demonstrates the use of external entity and how replacement text is retrieved and processed. Also tests the use of an EncodingDecl of UTF-16. FAIL (odd SAXException) (fatal) Expecting element tag instead of '<U+0>'
4.2.2 4.4.3 [75] valid-ext-sa-007 Test demonstrates the use of external entity and how replacement text is retrieved and processed. FAIL (EXCEPTION - DIRECTED FAILURE)
4.2.2 [75] valid-not-sa-001 Test demonstrates the use of an ExternalID within a document type definition. FAIL (odd SAXException) (fatal) Unexpected text in DTD.
4.2.2 [75] valid-not-sa-002 Test demonstrates the use of an ExternalID within a document type definition. FAIL (odd SAXException) (fatal) Unexpected text in DTD.
4.2.2 [75] valid-not-sa-009 Test demonstrates that an external identifier may include a public identifier. FAIL (odd SAXException) (fatal) Missing Element declaration 'doc'
4.2.2 [76] o-p76pass1 valid NDataDecls FAIL (odd SAXException) (fatal) Expected quote(' or ") instead of tag end(>)
4.3.1 4.3.2 [77] [78] ext01 Tests use of external parsed entities with and without content. FAIL (odd SAXException) (fatal) An XML declaration can only appear in the very beginning of the document.
4.3.2 [78] ext02 Tests use of external parsed entities with different encodings than the base document. FAIL (odd SAXException) (fatal) Invalid element 'PCDATA' in content of 'foo'. Expected [root]
4.4.8 valid-not-sa-020 Parameter entities expand with spaces on either side. FAIL (odd SAXException) (fatal) Missing Element declaration 'doca1'
4.7 valid-sa-069 Verifies that an XML parser will parse a NOTATION declaration; the output phase of this test ensures that it's reported to the application. FAIL (odd SAXException) (fatal) Expected quote(' or ") instead of tag end(>)
4.7 [82] notation01 NOTATION declarations don't need SYSTEM IDs; and externally declared notations may be used to declare unparsed entities in the internal DTD subset. The notation must be reported to the application. FAIL (odd SAXException) (fatal) Notation: GIF has not been declared yet

Output Tests

The XML specification places requirements on the data which is reported by XML processors to applications. This data flows through the SAX API (with one minor omission: reporting external entities which are not included). These output tests verify conformance with the specification by recording that data and comparing it with what is required for conformance with the XML 1.0 specification.

Note that output tests automatically fail in cases where the processor failed to parse the (valid) input document used to generate the output data.

As of this writing, no output tests address the additional requirements which validating processors must satisfy. That is, reporting which whitespace is ignorable, and reporting declarations of unparsed entities.

Test ID Diagnostic
valid-sa-093 (Input failed, no output available)
valid-ext-sa-001 Output byte 5 has the wrong value; actual 0x3c should instead be 0x44
valid-ext-sa-002 Output byte 5 has the wrong value; actual 0x3c should instead be 0x44
valid-ext-sa-004 Output byte 5 has the wrong value; actual 0x3c should instead be 0x44
valid-ext-sa-009 Output byte 5 has the wrong value; actual 0x3c should instead be 0x26
valid-ext-sa-006 Output byte 5 has the wrong value; actual 0x3c should instead be 0x44
valid-ext-sa-011 Output byte 5 has the wrong value; actual 0x3c should instead be 0x78
valid-sa-108 Output byte 4 has the wrong value; actual 0x3e should instead be 0x20
valid-sa-068 Output byte 5 has the wrong value; actual 0x3c should instead be 0x26
v-lang01 Output byte 9 has the wrong value; actual 0x6c should instead be 0x3a
v-lang02 Output byte 9 has the wrong value; actual 0x6c should instead be 0x3a
v-lang05 Output byte 9 has the wrong value; actual 0x6c should instead be 0x3a
v-lang03 Output byte 9 has the wrong value; actual 0x6c should instead be 0x3a
v-lang04 Output byte 9 has the wrong value; actual 0x6c should instead be 0x3a
v-lang06 Output byte 9 has the wrong value; actual 0x6c should instead be 0x3a
valid-sa-051 (Input failed, no output available)
valid-sa-052 Output byte 5 has the wrong value; actual 0xc3 should instead be 0xf0
valid-not-sa-023 (Input failed, no output available)
o-p12pass1 (Input failed, no output available)
valid-sa-012 (Input failed, no output available)
valid-sa-063 (Input failed, no output available)
o-p07pass1 (Input failed, no output available)
o-p08pass1 (Input failed, no output available)
empty (Input failed, no output available)
valid-sa-008 Output byte 5 has the wrong value; actual 0x3c should instead be 0x26
dtd01 Output ends at byte 6 but should continue to byte 13
valid-sa-055 Output byte 5 has the wrong value; actual 0x20 should instead be 0x64
valid-sa-098 Output byte 10 has the wrong value; actual 0x20 should instead be 0x78
valid-sa-017 Output byte 10 has the wrong value; actual 0x20 should instead be 0x73
valid-sa-036 Output byte 16 has the wrong value; actual 0x20 should instead be 0x64
valid-sa-039 Output byte 5 has the wrong value; actual 0x20 should instead be 0x64
valid-not-sa-031 (Input failed, no output available)
valid-sa-018 Output byte 5 has the wrong value; actual 0x3c should instead be 0x26
valid-sa-114 Output byte 5 has the wrong value; actual 0x3c should instead be 0x26
o-p30pass2 (Input failed, no output available)
o-p29pass1 (Input failed, no output available)
o-p31pass1 (Input failed, no output available)
valid-not-sa-024 Output byte 4 has the wrong value; actual 0x3e should instead be 0x20
not-sa01 Output byte 0 has the wrong value; actual 0x26 should instead be 0x3c
not-sa02 (Input failed, no output available)
not-sa03 (Input failed, no output available)
not-sa04 (Input failed, no output available)
sa01 Output byte 22 has the wrong value; actual 0x20 should instead be 0x26
sa02 (Input failed, no output available)
sa03 (Input failed, no output available)
sa04 (Input failed, no output available)
sa05 Output byte 0 has the wrong value; actual 0x26 should instead be 0x3c
element Output byte 439 has the wrong value; actual 0x20 should instead be 0x26
optional Output byte 0 has the wrong value; actual 0x26 should instead be 0x3c
valid-sa-024 Output byte 12 has the wrong value; actual 0x64 should instead be 0x66
valid-sa-104 Output byte 9 has the wrong value; actual 0x26 should instead be 0x20
valid-sa-047 Output byte 6 has the wrong value; actual 0x20 should instead be 0x26
valid-sa-034 Output ends at byte 5 but should continue to byte 11
valid-sa-035 Output ends at byte 5 but should continue to byte 11
valid-sa-044 Output byte 14 has the wrong value; actual 0x33 should instead be 0x31
valid-sa-059 Output byte 5 has the wrong value; actual 0x3c should instead be 0x26
valid-sa-025 Output byte 6 has the wrong value; actual 0x64 should instead be 0x66
valid-ext-sa-005 Output byte 24 has the wrong value; actual 0x64 should instead be 0x65
dtd00 Output ends at byte 6 but should continue to byte 13
valid-sa-001 Output byte 6 has the wrong value; actual 0x64 should instead be 0x2f
valid-sa-043 (Input failed, no output available)
valid-sa-097 Output byte 1 has the wrong value; actual 0x44 should instead be 0x64
valid-sa-040 Output byte 9 has the wrong value; actual 0x22 should instead be 0x26
valid-sa-080 Output byte 4 has the wrong value; actual 0x3e should instead be 0x20
o-p52pass1 (Input failed, no output available)
valid-not-sa-006 (Input failed, no output available)
valid-not-sa-007 Output byte 4 has the wrong value; actual 0x3e should instead be 0x20
valid-not-sa-010 (Input failed, no output available)
valid-not-sa-026 Output byte 1 has the wrong value; actual 0x44 should instead be 0x64
valid-sa-045 Output byte 4 has the wrong value; actual 0x3e should instead be 0x20
valid-sa-046 Output byte 4 has the wrong value; actual 0x3e should instead be 0x20
valid-sa-113 (Input failed, no output available)
valid-sa-076 (Input failed, no output available)
valid-sa-090 (Input failed, no output available)
o-p57pass1 (Input failed, no output available)
o-p58pass1 (Input failed, no output available)
v-sgml01 Output byte 5 has the wrong value; actual 0x3e should instead be 0x20
required00 Output ends at byte 16 but should continue to byte 23
valid-ext-sa-013 Output byte 7 has the wrong value; actual 0x3e should instead be 0x20
valid-sa-058 (Input failed, no output available)
valid-sa-095 (Input failed, no output available)
valid-sa-096 (Input failed, no output available)
valid-sa-110 Output byte 4 has the wrong value; actual 0x3e should instead be 0x20
valid-sa-111 (Input failed, no output available)
valid-sa-115 Output byte 5 has the wrong value; actual 0x3c should instead be 0x76
o-p62pass1 (Input failed, no output available)
valid-not-sa-013 (Input failed, no output available)
valid-not-sa-014 (Input failed, no output available)
valid-not-sa-016 Output byte 0 has the wrong value; actual 0x26 should instead be 0x3c
valid-not-sa-022 Output byte 4 has the wrong value; actual 0x3e should instead be 0x20
valid-not-sa-028 Output byte 4 has the wrong value; actual 0x3e should instead be 0x20
valid-not-sa-029 Output byte 4 has the wrong value; actual 0x3e should instead be 0x20
o-p63pass1 (Input failed, no output available)
valid-not-sa-015 (Input failed, no output available)
o-p64pass1 (Input failed, no output available)
valid-sa-085 (Input failed, no output available)
valid-ext-sa-014 (Input failed, no output available)
valid-sa-060 Output byte 5 has the wrong value; actual 0x3c should instead be 0x58
valid-sa-062 Output byte 14 has the wrong value; actual 0xc3 should instead be 0xe0
valid-sa-064 Output byte 5 has the wrong value; actual 0x0 should instead be 0xf0
valid-sa-066 (Input failed, no output available)
valid-sa-067 Output byte 4 has the wrong value; actual 0x20 should instead be 0x3e
valid-sa-089 (Input failed, no output available)
valid-not-sa-003 (Input failed, no output available)
valid-not-sa-004 (Input failed, no output available)
valid-not-sa-005 (Input failed, no output available)
valid-not-sa-027 Output byte 6 has the wrong value; actual 0x64 should instead be 0x2f
valid-not-sa-025 (Input failed, no output available)
valid-sa-086 Output byte 6 has the wrong value; actual 0x64 should instead be 0x2f
valid-not-sa-011 Output byte 1 has the wrong value; actual 0x44 should instead be 0x64
valid-not-sa-017 Output byte 0 has the wrong value; actual 0x26 should instead be 0x3c
valid-not-sa-021 Output byte 4 has the wrong value; actual 0x3e should instead be 0x20
o-p73pass1 (Input failed, no output available)
valid-ext-sa-012 Output byte 5 has the wrong value; actual 0x3c should instead be 0x28
valid-ext-sa-008 (Input failed, no output available)
valid-ext-sa-007 (Input failed, no output available)
valid-not-sa-001 (Input failed, no output available)
valid-not-sa-002 (Input failed, no output available)
valid-not-sa-008 Output byte 4 has the wrong value; actual 0x3e should instead be 0x20
valid-not-sa-009 (Input failed, no output available)
valid-not-sa-018 Output byte 4 has the wrong value; actual 0x3e should instead be 0x20
o-p76pass1 (Input failed, no output available)
ext01 (Input failed, no output available)
valid-not-sa-012 Output byte 1 has the wrong value; actual 0x44 should instead be 0x64
ext02 (Input failed, no output available)
valid-sa-053 Output byte 10 has the wrong value; actual 0x64 should instead be 0x65
valid-not-sa-019 Output byte 4 has the wrong value; actual 0x3e should instead be 0x20
valid-not-sa-020 (Input failed, no output available)
v-pe00 Output byte 0 has the wrong value; actual 0x26 should instead be 0x3c
v-pe01 Output byte 44 has the wrong value; actual 0x20 should instead be 0x26
v-pe02 Output byte 26 has the wrong value; actual 0x20 should instead be 0x65
valid-sa-087 Output byte 12 has the wrong value; actual 0x64 should instead be 0x66
valid-sa-088 Output byte 5 has the wrong value; actual 0x3c should instead be 0x26
valid-sa-117 Output byte 5 has the wrong value; actual 0x3c should instead be 0x5d
valid-sa-118 Output byte 5 has the wrong value; actual 0x3c should instead be 0x5d
valid-sa-069 (Input failed, no output available)
notation01 (Input failed, no output available)

Negative Tests

All conformant XML 1.0 processors must reject documents which are not well-formed. In addition, validating processors (such as this one) must report the validity errors for invalid documents. These are called Negative Tests because the test is intended to establish that errors are reported when they should be.

Moreover, the processor must both fail for the appropriate reason (given by the parser diagnostic) and must report an error at the right level ("error" or "fatal"). If both criteria were not considered, a processor which failed frequently (such as by failing to parse any document at all) would appear to pass a large number of conformance tests Unfortunately, the test driver can only tell whether the error was reported at the right level. It can't determine whether the processor failed for the right reason.

That's where a person to interpret these test results is critical. Such a person analyses the diagnostics, reported here, for negative tests not already known to be failures (for not reporting an error, or reporting one at the wrong level). If the diagnostic reported for such tests doesn't match the failure from the test description, there is an error in the diagnostic or in the processor's XML conformance (or sometimes in both).

For this processor, 359 diagnostics must be examined to get an accurate evaluation of its negative test status.

Invalid Documents

Validating processors must correctly report "error" diagnostics for all documents which are well formed but invalid. Such errors must also be, "at user option", recoverable so that the validating parser may be used in a nonvalidating mode by ignoring all validity errors.

Section and [Rules] Test ID Description Diagnostic
2.1 [1] o-p01pass1 no prolog FAIL [Document invalid; no error reported]
2.1 [1] o-p01pass3 Misc items after the document FAIL [Document invalid; no error reported]
2.3 [10] o-p10pass1 valid attribute values FAIL [Document invalid; no error reported]
2.3 [3] o-p03pass1 all valid S characters FAIL [Document invalid; no error reported]
2.3 [4] o-p04pass1 names with all valid ASCII characters, and one from each other class in NameChar FAIL (odd SAXException) (fatal) Unexpected token '€' inside tag <A.-Ì>
2.3 [5] o-p05pass1 various valid Name constructions FAIL (odd SAXException) (fatal) Expecting element tag instead of '.'
2.3 [6] o-p06fail1 Requires at least one name. FAIL (odd SAXException) (fatal) Expected IDREF insteadof quote(' or ")
2.3 [8] o-p08fail1 at least one Nmtoken is required. FAIL (odd SAXException) (fatal) Expected NMTOKEN insteadof quote(' or ")
2.3 [8] o-p08fail2 an invalid Nmtoken character. FAIL [Document invalid; no error reported]
2.4 [14] o-p14pass1 valid CharData FAIL [Document invalid; no error reported]
2.5 [15] o-p15pass1 valid comments FAIL [Document invalid; no error reported]
2.6 [16] o-p16fail3 S after PITarget is required FAIL [Document invalid; no error reported]
2.6 [16] o-p16pass2 Valid form of Processing Instruction. Shows that whitespace character data is valid before end of processing instruction. FAIL [Document invalid; no error reported]
2.6 [16] o-p16pass3 Valid form of Processing Instruction. Shows that whitespace character data is valid before end of processing instruction. FAIL [Document invalid; no error reported]
2.6 [16] [17] o-p16pass1 Valid form of Processing Instruction. Shows that whitespace character data is valid before end of processing instruction. FAIL [Document invalid; no error reported]
2.7 [18] o-p18pass1 valid CDSect's. Note that a CDStart in a CDSect is not recognized as such FAIL [Document invalid; no error reported]
2.8 invalid--001 Tests the "Proper Declaration/PE Nesting" validity constraint by fragmenting a comment between two parameter entities. FAIL (odd SAXException) (fatal) Expected comments, PI, or EOF instead of NAME 'doc'
2.8 invalid--003 Tests the "Proper Declaration/PE Nesting" validity constraint by fragmenting an entity declaration between two parameter entities. FAIL [Document invalid; no error reported]
2.8 invalid--004 Tests the "Proper Declaration/PE Nesting" validity constraint by fragmenting an entity declaration between three parameter entities. FAIL [Document invalid; no error reported]
2.8 invalid--005 Tests the "Proper Declaration/PE Nesting" validity constraint by fragmenting an entity declaration between two parameter entities. FAIL [Document invalid; no error reported]
2.8 invalid--006 Tests the "Proper Declaration/PE Nesting" validity constraint by fragmenting an entity declaration between two parameter entities. FAIL [Document invalid; no error reported]
2.8 root Tests the Root Element Type VC FAIL (odd SAXException) (fatal) Root element name must match the DOCTYPE name
2.8 [22] o-p22pass1 prolog can be empty FAIL [Document invalid; no error reported]
2.8 [22] o-p22pass2 XML declaration only FAIL [Document invalid; no error reported]
2.8 [22] o-p22pass3 XML decl and Misc FAIL [Document invalid; no error reported]
2.8 [23] o-p23pass1 Test shows a valid XML declaration along with version info. FAIL [Document invalid; no error reported]
2.8 [23] o-p23pass2 Test shows a valid XML declaration along with encoding declaration. FAIL [Document invalid; no error reported]
2.8 [23] o-p23pass3 Test shows a valid XML declaration along with Standalone Document Declaration. FAIL [Document invalid; no error reported]
2.8 [23] o-p23pass4 Test shows a valid XML declaration, encoding declarationand Standalone Document Declaration. FAIL [Document invalid; no error reported]
2.8 [24] o-p24pass1 Test shows a prolog that has the VersionInfo delimited by double quotes. FAIL [Document invalid; no error reported]
2.8 [24] o-p24pass2 Test shows a prolog that has the VersionInfo delimited by single quotes. FAIL [Document invalid; no error reported]
2.8 [24] o-p24pass3 Test shows whitespace is allowed in prolog before version info. FAIL [Document invalid; no error reported]
2.8 [24] o-p24pass4 Test shows whitespace is allowed in prolog on both sides of equal sign. FAIL [Document invalid; no error reported]
2.8 [25] o-p25pass1 Test shows whitespace is NOT necessary before or after equal sign of versioninfo. FAIL [Document invalid; no error reported]
2.8 [25] o-p25pass2 Test shows whitespace can be used on both sides of equal sign of versioninfo. FAIL [Document invalid; no error reported]
2.8 [26] o-p26pass1 The valid version number. We cannot test others because a 1.0 processor is allowed to fail them. FAIL [Document invalid; no error reported]
2.8 [27] o-p27pass1 Comments are valid as the Misc part of the prolog. FAIL [Document invalid; no error reported]
2.8 [27] o-p27pass2 Processing Instructions are valid as the Misc part of the prolog. FAIL [Document invalid; no error reported]
2.8 [27] o-p27pass3 Whitespace is valid as the Misc part of the prolog. FAIL [Document invalid; no error reported]
2.8 [27] o-p27pass4 A combination of comments, whitespaces and processing instructions are valid as the Misc part of the prolog. FAIL [Document invalid; no error reported]
2.9 inv-not-sa01 Tests the Standalone Document Declaration VC, ensuring that optional whitespace causes a validity error. FAIL [Document invalid; no error reported]
2.9 inv-not-sa02 Tests the Standalone Document Declaration VC, ensuring that attributes needing normalization cause a validity error. FAIL (odd SAXException) (fatal) Unexpected token '&' inside tag <attributes>
2.9 inv-not-sa03 Tests the Standalone Document Declaration VC, ensuring that a reference to externally defined entity causes a validity error. FAIL (odd SAXException) (fatal) Unexpected token '&' inside tag <attributes>
2.9 inv-not-sa04 Tests the Standalone Document Declaration VC, ensuring that attributes needing defaulting cause a validity error. FAIL (odd SAXException) (fatal) Expected comments, PI, or EOF instead of NAME 'pi'
2.9 inv-not-sa05 Tests the Standalone Document Declaration VC, ensuring that a token attribute that needs normalization causes a validity error. FAIL [Document invalid; no error reported]
2.9 inv-not-sa06 Tests the Standalone Document Declaration VC, ensuring that a NOTATION attribute that needs normalization causes a validity error. FAIL [Document invalid; no error reported]
2.9