diff options
Diffstat (limited to 'tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/testcases.dtd')
-rw-r--r-- | tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/testcases.dtd | 140 |
1 files changed, 140 insertions, 0 deletions
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/testcases.dtd b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/testcases.dtd new file mode 100644 index 0000000000..ae352379a7 --- /dev/null +++ b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/testcases.dtd @@ -0,0 +1,140 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + @(#)testcases.dtd 1.6 99/01/21 + Original version copyright 1998 by Sun Microsystems, Inc. + All Rights Reserved. + Modifications copyright 1999 by OASIS. + + 1999-06-09 00:20 + + DTD describing a database of XML tests. + + NOTE: the OASIS/NIST test effort also has a DTD for its test + environment, but that DTD is not yet suited for automated test + processing. (Among other issues, it doesn't record information + putting any test case into the test matrix.) If that gets fixed, + it may be useful to switch over to that DTD. +--> + +<!-- + The root element of the whole collection is TESTSUITE. While not + very different from TESTCASES, it must be distinguished due to + improper processing by IE5. +--> +<!ELEMENT TESTSUITE ( TESTCASES+ )> +<!ATTLIST TESTSUITE + PROFILE CDATA #IMPLIED + > + +<!-- + The root element of a collection should be "TESTCASES". It groups + a set of tests in a particular "PROFILE", which is descriptive. For + example, a "Japanese" profile might group tests with documents + in standard Japanese encodings, using Japanese characters used + inside names and name tokens as well as inside text. Or the + profile might be associated with the test supplier. +--> + +<!ELEMENT TESTCASES (TEST|TESTCASES)*> +<!ATTLIST TESTCASES + xml:base CDATA #IMPLIED + PROFILE CDATA #IMPLIED + > + +<!-- + The body of each TEST element is its description, used + to evaluate the diagnostic produced on negative tests. + People will generally read this to evaluate whether the + test failed for the correct reason. + + The type of (external) ENTITIES required affect the results + permitted for certain types of nonvalidating parsers. In + some cases, errors (even well-formedness errors) can't be seen + without reading external parameter or general entities. + + Each test has a unique ID used in diagnostics. + + Tests with an OUTPUT attribute do dual duty: not only must parsers + accept the test, but the data they report must also have "Second + Canonical Form" as found in the specified output file. (This is + what James Clark titled "Canonical XML", with the addition of the + NOTATION declarations that all XML parsers are required to report.) + + The OUTPUT3 attribute is like OUTPUT, but when sent through a + validating parser the data reported must have the "Third Canonical + Form" as found in the specified output file. (This is Second + Canonical form, with declarations of unparsed ENTITY values and + with all ignorable whitespace removed.) + + The canonical forms are changed slightly for output files corresponding + to XML 1.1 input files. They start with an XML declaration specifying the + version number, and use character references for all C0 and C1 controls. + The grammars are changed as follows: + + + CanonXML ::= '<?xml version="1.1">' Pi* element Pi* + CanonXML2 ::= '<?xml version="1.1">' DTD2? Pi* element Pi* + CanonXML3 ::= '<?xml version="1.1">' DTD3? Pi* element Pi* + C0 ::= (Unicode characters #x1-#x1F) + C1 ::= (Unicode characters #x7F-#x9F) + EscapedC0 ::= (Decimal references to C0 characters,  - ) + EscapedC1 ::= (Decimal references to C1 characters,  - Ÿ) + Datachar ::= '&' | '<' | '>' | '"' + | EscapedC0 | EscapedC1 + | (Char - ('&' | '<' | '>' | '"' | C0 | C1)) + + + where Char is the XML 1.1 rather than 1.0 production of that name. + + + Tests apply to one or more particular SECTIONS. + + Each test has a TYPE: + * All parsers must accept "valid" testcases. + * Nonvalidating parsers must also accept "invalid" testcases, + but validating ones must reject them. + * No parser should accept a "not-wf" testcase unless it's a + nonvalidating parser and the test contains external entities + that the parser doesn't read. + * Parsers are not required to report "errors". + + Each test is in a particular XML document, with a URI. If these + tests are accessed over a network, the path will be relative to + the base URI of the document holding the testcase. + + Tests which apply only to certain versions of XML list those versions + in the VERSION attribute. An absent VERSION implies that the test + applies to all versions. Parsers should not run tests for versions + they do not support. + + Parsers should enable namespace processing except for tests marked + with NAMESPACES="no". These are tests that use colons in ways + inconsistent with the Namespaces spec. +--> + +<!ELEMENT TEST (#PCDATA | EM | B)*> + + +<!ATTLIST TEST + ENTITIES (both|none|parameter|general) "none" + ID ID #REQUIRED + OUTPUT CDATA #IMPLIED + OUTPUT3 CDATA #IMPLIED + SECTIONS CDATA #REQUIRED + RECOMMENDATION (XML1.0|XML1.1|NS1.0|NS1.1| + XML1.0-errata2e|XML1.0-errata3e| + NS1.0-errata1e) "XML1.0" + TYPE (valid|invalid|not-wf|error) #REQUIRED + VERSION NMTOKENS #IMPLIED + URI CDATA #REQUIRED + NAMESPACE (yes|no) "yes" + > + +<!-- + Really basic HTML font tweaks, to support highlighting + some aspects of test descriptions ... + EM == emphasis (e.g. italics, fun colors) + B == bold +--> +<!ELEMENT EM (#PCDATA | B)*> +<!ELEMENT B (#PCDATA | EM)*> |