| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| @(#)testcases.dtd 1.0 12/18/00 |
| |
| Mary Brady, NIST |
| |
| DTD describing a database of XSL tests. |
| |
| Revised 2001 Jan 10 (Paul Grosso) - augmented by XSL FO SG: |
| - add to the TEST element an XSL attribute to point to |
| the XSL stylesheet and rename the URI attribute to XML |
| - add to the TEST element a PROPERTY attribute to |
| indicate when a given property is being tested |
| - add to the TEST element a LEVEL attribute to indicate |
| which conformance level is being tested |
| - add to the TEST element a SPECPTR attribute |
| (of URI type) to allow referring to relevant sections |
| of the XSL spec. |
| - add to the TEST element an ERRATUM attribute |
| (of CDATA type) to allow recording of an erratum |
| name/number that this test is meant to test. |
| - add to INTERACTION attribute value list MULTIPLE |
| and give it a default of NONE |
| - add to FO attribute value list MULTIPLE |
| - make the BASE attribute on TESTCASES #IMPLIED, |
| since it's not unreasonable for all the URI-type |
| attributes to be absolute |
| - add to the TEST element a RESULTS attribute to point |
| to, say, the PDF demonstrating the expected output |
| Revised 2001 Jan 10 (Paul Grosso) - added TESTRESULT structure |
| Revised 2001 Jan 24 (Paul Grosso) - lowercased names (though |
| not in comments, since that helps highlight them) |
| |
| 2001-02-19 (AntennaHouse) added repeatable-page-master-alternatives |
| conditional-page-master-reference region-before |
| region-after region-start region-end static-content |
| inline inline-container. |
| |
| --> |
| |
| <!ENTITY % URI "CDATA"> |
| <!ENTITY % text "(#PCDATA | em | b | a)*"> |
| |
| <!-- |
| 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 serves to |
| group a set of tests to be collectively identified as follows: |
| |
| * PROFILE - name of test profile |
| * BASE - base directory in which tests for this collection reside; |
| allows tests to be found in many application instances. |
| |
| --> |
| |
| <!ELEMENT testcases (test | testresult | testcases)*> |
| <!ATTLIST testcases |
| profile CDATA #IMPLIED |
| base CDATA #IMPLIED |
| > |
| |
| <!-- |
| The body of each TEST element is its description as well as a |
| discussion of the expected results. The following attributes |
| must be specified for each test as follows: |
| |
| * ID - unique test identifier |
| * INTERACTION - used later for categorizing tests |
| * FO - formatting object that is tested |
| * XML - relative uri that points to the XML of the actual test |
| * XSL - relative uri that points to the XSL of the actual test |
| |
| Other optional attributes are: |
| |
| * PROPERTY - indicates the property being tested |
| * LEVEL - indicates which conformance level is being tested |
| * SPECPTR - pointer to relevant part of the XSL spec |
| * ERRATUM-LBL - label/name of the erratum being tested |
| * ERRATUM-PTR - pointer to the erratum being tested |
| * RESULTS - pointer to a display of the expected results |
| |
| --> |
| |
| <!ELEMENT test %text;> |
| <!ATTLIST test |
| id ID #REQUIRED |
| interaction (none|area|writing|spacing|collapsing|multiple) "none" |
| fo (root|page-sequence|page-sequence-master|single-page-master-reference| |
| repeatable-page-master-reference|repeatable-page-master-alternatives |
| |layout-master-set|conditional-page-master-reference|simple-page-master| |
| region-body|region-before|region-after|region-start| |
| region-end|static-content|inline | inline-container | |
| declarations|flow|block|block-container|bidi-override| |
| character|initial-property-set|external-graphic|leader|page-number| |
| table-and-caption|table|table-column|table-header|table-body|table-row| |
| table-cell|list-block|list-item|list-item-body|list-item-label|multi-case| |
| wrapper|multiple) #REQUIRED |
| xml %URI; #REQUIRED |
| xsl %URI; #REQUIRED |
| property CDATA #IMPLIED |
| level (basic|extended|complete) "basic" |
| specptr %URI; #IMPLIED |
| erratum-lbl CDATA #IMPLIED |
| erratum-ptr %URI; #IMPLIED |
| results %URI; #IMPLIED |
| > |
| |
| <!-- |
| 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)*> |
| |
| <!-- |
| We also allow for hyperlinks in text (e.g., to include |
| references to supporting evidence within SPECPROBLEM and |
| TESTPROBLEM). |
| --> |
| <!ELEMENT a (#PCDATA | b | em)*> |
| <!ATTLIST a |
| href %URI; #REQUIRED |
| > |
| |
| <!-- |
| The TESTRESULT element is used to record test results. |
| It has a required ID attribute which identifies the TEST. |
| It has a required AGREEMENT attribute that indicates whether |
| the results are in full agreement with the expected |
| results as described in the TEST case or not. |
| |
| The textual contents of the TESTRESULT element should describe |
| the results of the test and any issues or further information. |
| |
| The target of the optional RESULTS attribute could be either some |
| PDF showing the results or any other arbitrary resource |
| describing/discussing the results. |
| |
| The optional FUTURESUPPORT attribute is used to indicate |
| expected future support of the feature tested by this |
| test case. |
| |
| The optional SPECPROBLEM attribute indicates if there is |
| any ambiguity or other problem found in the spec that relates |
| to this test. Especially if the results weren't as expected |
| because of a misinterpretation of the spec, this should be |
| documented here. Details/discussion should appear in the |
| textual contents of the TESTRESULT element. |
| |
| The optional TESTPROBLEM attribute indicates if there is |
| any issue with the TEST case and the expected results it |
| suggests. Especially if the results of the test differ |
| from that given as "expected" by the test case but are, |
| in fact, believed to be the correct results, this should |
| be documented here. Details/discussion should appear in the |
| textual contents of the TESTRESULT element. |
| |
| --> |
| |
| <!ELEMENT testresult %text;> |
| <!ATTLIST testresult |
| id CDATA #REQUIRED |
| agreement (full|issues) #REQUIRED |
| results %URI; #IMPLIED |
| futuresupport (full|partial|none) #IMPLIED |
| specproblem (yes|no) "no" |
| testproblem (yes|no) "no" |
| > |