XInclude Test Suite
A Joint Development Effort |
|
W3C XML Core Working Group
XInclude 1.0 Test Suite
30 June 2004
-
This version:
-
-
Current version:
-
-
W3C XML Core Working Group:
-
-
XML Inclusions (XInclude) Version 1.0:
-
-
Comments:
-
Table of Contents
-
Introduction
-
Test Case Descriptions
-
Contributors
1. Introduction
XInclude is a generic mechanism that is used to merge XML documents. XInclude uses
elements, attributes and URI references which are existing XML constructs.
Conformance tests can be used by developers, content creators, and
users alike to increase their level of confidence in product quality. In
circumstances where interoperability is necessary, these tests can also
be used to determine that differing implementations support the same set
of features.
This report provides supporting documentation for all of the tests
contributed by members of the W3C XML Core Working Group.
Sources from which these tests have been collected
include: Redhat; FourThought; NIST; University of Edinburgh. It is anticipated that this report will supplement the actual tests.
Comments/suggestions should be
forwarded to the public XInclude comments mailing list.
2. Test Case Description
This section of this report contains descriptions of test cases,
each test case includes a binary test. The test suite consists of a
series of simple binary conformance tests, whereby a processor is deemed
either to accept (a positive test) or reject (a negative test) the test.
An expected result document is provided for the positive tests to compare
the output of the processor with the reference file.
Expected results are as accurate as possible, it is conceivable that a
few files may diverge somewhat from the testcase description, however
the idea is still captured. Negative tests are intended to
identify expected errors as defined by the specification. Negative test are not
accompanied by expected results.
For an implementation to claim conformance it must pass all positive and negative
testcases, which means that the implementation performed exactly as expected.
A description for each test is presented in the following table as well as a
section identifier from the XInclude recommendation and the Collection from
which the test was originated. The test description is intended to have enough
detail to evaluate diagnostic messages. Given the Test ID and the Collection,
each test can be uniquely identified.
|
Simple test of including another XML document.
There is an output test associated with this input file.
|
|
Test recursive inclusion.
There is an output test associated with this input file.
|
|
Simple test of including a set of nodes from an XML document.
There is an output test associated with this input file.
|
|
including another XML document with IDs
There is an output test associated with this input file.
|
|
Simple test of including another text document
There is an output test associated with this input file.
|
|
Simple test of a fallback on unavailable URI.
There is an output test associated with this input file.
|
|
Simple test of including another XML document.
There is an output test associated with this input file.
|
|
Test recursive inclusion.
There is an output test associated with this input file.
|
|
Simple test of including another text document.
There is an output test associated with this input file.
|
|
Simple test of including a set of nodes from an XML document.
There is an output test associated with this input file.
|
|
Simple test of including a set of nodes from an XML document.
There is an output test associated with this input file.
|
|
Simple test of including a set of nodes from an XML document.
There is an output test associated with this input file.
|
|
Simple test of including a set of nodes from an XML document.
There is an output test associated with this input file.
|
|
Test the inclusion of another XML document.
There is an output test associated with this input file.
|
|
Test that the encoding attribute in the Xinclude element has no effect when parse="xml".
There is an output test associated with this input file.
|
|
Test that values other than xml or text, in the parse attribute of the XInclude
element, result in fatal errors.
|
|
Test of fallback element appearing as a child of an xinclude element.
There is an output test associated with this input file.
|
|
Test a fallback element not appearing as a direct
child of an xinclude element. A fatal error should be generated.
|
|
Test a fallback when a resource error occurs.
There is an output test associated with this input file.
|
|
Test an empty fallback element. The xinclude element is
removed from the results.
There is an output test associated with this input file.
|
|
Test of a fallback element missing from the
include element. A resource error results in a fatal error.
|
|
Test unqualified attributes in the include element. They must be ignored.
There is an output test associated with this input file.
|
|
Test content other than the fallback, in the xinclude element.
This content must be ignored.
There is an output test associated with this input file.
|
|
Test a resource containing non-well-formed XML. The inclusion results in a fatal error.
|
|
Test that is a fatal error for an include element to contain more than one fallback elements.
|
|
Test a fallback element containing markup when parse="text".
There is an output test associated with this input file.
|
|
Test a fallback element containing markup when parse="text".
There is an output test associated with this input file.
|
|
It is illegal for an include element to point to itself, when parse="xml".
|
|
Test a document type declaration information item child
in the resource information set. the DTD should be excluded for inclusion in the source infoset.
There is an output test associated with this input file.
|
|
Test intra-document reference within include elements.
There is an output test associated with this input file.
|
|
Simple test of including a set of nodes from an XML document.
There is an output test associated with this input file.
|
|
Test the inclusion of a set of nodes from an XML document.
There is an output test associated with this input file.
|
|
Test an include location identifying a document information item with
an xpointer locating the document root. In this case
the set of top level include items is the children of acquired infoset's
document information item, except for the document type information
item.
There is an output test associated with this input file.
|
|
Including an XML document with an unparsed entity.
There is an output test associated with this input file.
|
|
Testing when the document (top level) element in the source infoset is an
include element.
There is an output test associated with this input file.
|
|
Testing an include element in the document (top-level) element in the source doc.
Test should fail because is including more than one element.
|
|
Testing an include element in the document (top-level) element in the source doc.
Test should fail because is including only a processing instruction.
|
|
Testing an include element in the document (top-level) element in the source doc.
Test should fail because is including only a comment.
|
|
Test relative URI references in the included infoset.
There is an output test associated with this input file.
|
|
Test that the encoding attribute when parse="xml" does not translate the incoming document.
There is an output test associated with this input file.
|
|
including another XML document with IDs, using a shorthand pointer.
There is an output test associated with this input file.
|
|
including another XML document with IDs, using a shorthand pointer.
There is an output test associated with this input file.
|
|
Including another XML document with IDs, using a shorthand pointer.
There is an output test associated with this input file.
|
|
Including an XML document using an XPointer element scheme.
There is an output test associated with this input file.
|
|
Including an XML document using an XPointer element scheme.
|
|
Including an XML document using an XPointer element scheme.
|
|
Including another XML document with ids using XPointer element scheme.
There is an output test associated with this input file.
|
|
Including an XML document using an XPointer element scheme.
There is an output test associated with this input file.
|
|
Including an XML document using an XPointer element scheme.
There is an output test associated with this input file.
|
|
Including another XML document using XPointer Framework scheme-base pointer.
If the processor does not support the scheme used in a pointer part, it skip that pointer part.
There is an output test associated with this input file.
|
|
Including another XML document using XPointer Framework.
If the processor does not support the scheme used in a pointer part, it skip that pointer part.
There is an output test associated with this input file.
|
|
Testing the content of the xinclude element.
The comment should be ignored .
There is an output test associated with this input file.
|
|
Testing the content of the xinclude element.
The element should be ignored .
There is an output test associated with this input file.
|
|
Testing the content of the xinclude element.
This test should result in a fatal error.
|
|
Testing the content of the xinclude element.
The xinclude element may contain a fallback element;
other elements from the xinclude namespace result in a fatal error.
|
|
Testing the content of the xinclude element.
The content must be one fallback. This test should result in a fatal error.
|
|
Test a resource that contains not-well-formed XML.
This test should result in a fatal error.
|
|
Test a resource that contains not-well-formed XML.
This test should result in a fatal error.
|
|
Testing the content of the xinclude element.
The xinclude element may contain a fallback element; other elements from the xinclude namespace result in a fatal error.
|
|
Testing the content of the xinclude element.
The xinclude element may contain a fallback element; other elements from the xinclude namespace result in a fatal error.
|
|
It is a fatal error to resolve an xpointer scheme on a document
that contains unexpanded entity reference information items.
|
|
The unexpanded entity reference information items, if present in the source infoset,
will appear in the result infoset.
There is an output test associated with this input file.
|
|
Test an include location identifying the document information item without an Xpointer,
The set of top-level included items should be the children of the acquired inforset's document
information item, except for the document type declaration information item.
There is an output test associated with this input file.
|
|
Test an include location having an XPointer identifying a comment.
The set of top-level included items should consist of the information item corresponding
to the comment node in the acquired infoset.
There is an output test associated with this input file.
|
|
Test an include location having an XPointer identifying a processing instruction.
The set of top-level included items should consist of the information item corresponding
to the processing instruction node in the acquired infoset.
There is an output test associated with this input file.
|
|
Test that an include location identifying an attribute node will result in a
fatal error.
|
|
Test that an include location identifying an attribute node will result in a
fatal error.
|
|
Including a duplicate unparsed entity.
Test should ignore duplicate unparsed entity.
There is an output test associated with this input file.
|
|
Including an unparsed entity with same name,
but different sysid. Test should fail.
|
Sections [Rules]: | 4.2 |
Test ID: | eduni-1 |
Collection: | LTG, Edinburgh Univ |
|
Simple whole-file inclusion.
There is an output test associated with this input file.
|
Sections [Rules]: | 4.2 |
Test ID: | eduni-2 |
Collection: | LTG, Edinburgh Univ |
|
Verify that xi:include elements in the target have been processed in the acquired infoset, ie before the xpointer is applied.
There is an output test associated with this input file.
|
4. Contributors (Non-normative)
A team of volunteer members have participated in the
development of this work. Contributions have come from:
- Sandra I. Martinez, NIST
- Daniel Veillard, Red Hat Network
- John Evdemon, FourThought
- Richard Tobin, University of Edinburgh