XInclude test suite

RefleX embeds its own XInclude engine with support of XPointer (XPath) for DOM and even for SAX. The 174 tests applied here are taken from the W3C's XInclude test suite.

They are run twice : with a SAX parser and a DOM parser. Reading with SAX doesn't break the stream unlike many tools that have to process XPath or XPointer expressions (for example, an XSLT processor fed with a SAX stream will build an in-memory document) ; the RefleX engine can process XPath or XPointer expressions on SAX streams without retaining in memory the entire input document, as explained in this article, which allows to process extreme large documents. However, the engine can't reach nodes that would have been fired previously. Some tests in the test suite that are using back-reference nodes in XPointer expressions have been discarded with the SAX processing ; but they are safely applied with the DOM processing. Be aware of those limitations when you are using yourself XInclude with a SAX parser.

Feature of the test suite supported :

Feature in the test suiteDOM inclusionSAX inclusion
xpointer-scheme
unexpanded-entities
unparsed-entities
lang-fixup

The list of tests that are ignored with SAX processing is available in the source code of the test-harness :

[tests/xunit/xinclude/xinclude.exp]

Reports :

XInclude with SAX

There is an explanation in the following report on each test case reported with an error, and on each test case skipped (appearing striked) ; if missing, it's in the TODO list !

[tests/xunit/xinclude/xinclude-stream-err.xml]

 
Skip
Test name
TestsErrorsFailure
11
Summary of SAX tests for XInclude
174
(2716)
11
(18)
5
(15)
1/174[FourThought-include-01] Simple test of including another XML document.1400
2/174[FourThought-include-02] Test recursive inclusion.2000
3/174[FourThought-include-03] Simple test of including another text document.900
4/174[FourThought-include-04] Simple test of including a set of nodes from an XML document.2800
5/174[FourThought-include-05] Simple test of including a set of nodes from an XML document.6400
6/174[FourThought-include-06] Simple test of including a set of nodes from an XML document.3400
7/174[FourThought-include-07] Simple test of including a set of nodes from an XML document.1500
8/174[Nist-include-01] Test the inclusion of another XML document.7100
9/174[Nist-include-02] Test that the encoding attribute in the Xinclude element has no effect when parse="xml".3500
10/174[Nist-include-03] Test that values other than xml or text, in the parse attribute of the XInclude element, result in fatal errors. 100
11/174[Nist-include-04] Test of fallback element appearing as a child of an xinclude element. 3500
12/174[Nist-include-05] Test a fallback element not appearing as a direct child of an xinclude element. A fatal error should be generated.100
13/174[Nist-include-06] Test a fallback when a resource error occurs. 3500
14/174[Nist-include-07] Test an empty fallback element. The xinclude element is removed from the results.1100
15/174[Nist-include-08] Test of a fallback element missing from the include element. A resource error results in a fatal error. 100
16/174[Nist-include-09] Test unqualified attributes in the include element. They must be ignored.3500
17/174[Nist-include-10] Test content other than the fallback, in the xinclude element. This content must be ignored. 3500
18/174[Nist-include-11] Test a resource containing non-well-formed XML. The inclusion results in a fatal error.100
19/174[Nist-include-12] Test that is a fatal error for an include element to contain more than one fallback elements. 100
20/174[Nist-include-13] Test a fallback element containing markup when parse="text". 1700
21/174[Nist-include-14] Test a fallback element containing markup when parse="text". 1100
22/174[Nist-include-15] It is illegal for an include element to point to itself, when parse="xml". 100
23/174[Nist-include-16] Test a document type declaration information item child in the resource information set. the DTD should be excluded for inclusion in the source infoset. 7100
24/174[Nist-include-17] Test intra-document reference within include elements.
A back-referenced node is involved ; SAX can't read backwards.
25/174[Nist-include-18] Simple test of including a set of nodes from an XML document. 6300
26/174[Nist-include-19] Test the inclusion of a set of nodes from an XML document. 2900
27/174[Nist-include-20] 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. 7100
28/174[Nist-include-21] Including an XML document with an unparsed entity. 413
29/174[Nist-include-22] Testing when the document (top level) element in the source infoset is an include element. 6400
30/174[Nist-include-23] Testing an include element in the document (top-level) element in the source doc. Test should fail because is including more than one element. 010
False positive
Is reported with an error because it doesn't fail whereas it should : the nodes to include in place of the root element must contains exactly one element ; however, as RefleX support XML fragments, the output is generated anyway as a fragment (it is a normal case) ; to make it fail as expected, the user should pipe the output in a parser with a strict parsing mode that will report an error.
In a future release, this will become a user option.
31/174[Nist-include-24] Testing an include element in the document (top-level) element in the source doc. Test should fail because is including only a processing instruction. 010
False positive
Is reported with an error because it doesn't fail whereas it should : the nodes to include in place of the root element must contains exactly one element ; however, as RefleX support XML fragments, the output is generated anyway as a fragment (it is a normal case) ; to make it fail as expected, the user should pipe the output in a parser with a strict parsing mode that will report an error.
In a future release, this will become a user option.
32/174[Nist-include-25] Testing an include element in the document (top-level) element in the source doc. Test should fail because is including only a comment. 010
False positive
Is reported with an error because it doesn't fail whereas it should : the nodes to include in place of the root element must contains exactly one element ; however, as RefleX support XML fragments, the output is generated anyway as a fragment (it is a normal case) ; to make it fail as expected, the user should pipe the output in a parser with a strict parsing mode that will report an error.
In a future release, this will become a user option.
33/174[Nist-include-26] Test relative URI references in the included infoset. 1300
34/174[Nist-include-27] Test that the encoding attribute when parse="xml" does not translate the incoming document. 1600
35/174[Nist-include-28] including another XML document with IDs, using a shorthand pointer. 3500
36/174[Nist-include-29] including another XML document with IDs, using a shorthand pointer. 1800
37/174[Nist-include-30] Including another XML document with IDs, using a shorthand pointer. 2000
38/174[Nist-include-31] Including an XML document using an XPointer element scheme. 2800
39/174[Nist-include-32] Including an XML document using an XPointer element scheme.100
40/174[Nist-include-33] Including an XML document using an XPointer element scheme.100
41/174[Nist-include-34] Including another XML document with ids using XPointer element scheme. 1800
42/174[Nist-include-35] Including an XML document using an XPointer element scheme.4900
43/174[Nist-include-36] Including an XML document using an XPointer element scheme.1800
44/174[Nist-include-37] 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.1800
45/174[Nist-include-38] 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.1800
46/174[Nist-include-42] 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.100
47/174[Nist-include-43] Testing the content of the xinclude element. The content must be one fallback. This test should result in a fatal error.100
48/174[Nist-include-44] Test a resource that contains not-well-formed XML. This test should result in a fatal error.100
49/174[Nist-include-45] Test a resource that contains not-well-formed XML. This test should result in a fatal error.100
50/174[Nist-include-46] 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.100
51/174[Nist-include-47] 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.100
52/174[Nist-include-48] It is a fatal error to resolve an xpointer scheme on a document that contains unexpanded entity reference information items.
Unexpanded entity references are not supported.
53/174[Nist-include-49] The unexpanded entity reference information items, if present in the source infoset, will appear in the result infoset.
Unexpanded entity references are not supported.
54/174[Nist-include-50] 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. 4900
55/174[Nist-include-51] 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.1300
56/174[Nist-include-52] 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.1400
57/174[Nist-include-53] Test that an include location identifying an attribute node will result in a fatal error. 100
58/174[Nist-include-54] Test that an include location identifying an attribute node will result in a fatal error. 100
59/174[Nist-include-55] Including a duplicate unparsed entity. Test should ignore duplicate unparsed entity. 423
60/174[Nist-include-56] Including an unparsed entity with same name, but different sysid. Test should fail.
Unreachable entity reference encountered ; SAX has already fired some events and is no longer able to define that reference in the internal DTD subset, and can't check that the same entity is defined differently.
61/174[eduni-1] Simple whole-file inclusion.3000
62/174[eduni-2] Verify that xi:include elements in the target have been processed in the acquired infoset, ie before the xpointer is applied.2300
63/174[eduni-3] Check xml:lang fixup13800
64/174[harold-01] xml:base attribute is used to resolve relative URLs in href attributes1500
65/174[harold-02] Use XPointer to include an include element in another document, and make sure that's fully resolved too413
66/174[harold-03] xml:base attribute on the xi:include element is used to resolve relative URL in href1500
67/174[harold-04] xml:base attribute from an unincluded element still applies to its included descendants1400
68/174[harold-05] An include element includes its following sibling element, which has a child include element including the sibling element after that one.
Unreachable node ; an ID refers to a following sibling element. The IDs known by the engine are those already encountered, which is not the case.
69/174[harold-06] Include a document that uses XPointers to reference various parts of itself
Unreachable node ; an ID refers to a following sibling element. The IDs known by the engine are those already encountered, which is not the case.
70/174[harold-07] xml:lang attribute from including document does not override xml:lang attribute in included document2300
71/174[harold-08] xml:lang attribute is added to retain the included element's language, even though the language was originaly declared on an unincluded element2300
72/174[harold-09] xml:lang='' is added when the included document does not declare a language and the including element does2300
73/174[harold-10] Test that the xml:base attribute is not used to resolve a missing href. According to RFC 2396 empty string URI always refers to the current document irrespective of base URI.
Unreachable node ; an ID refers to a following sibling element. The IDs known by the engine are those already encountered, which is not the case.
74/174[harold-11] There's no difference between href="" and no href attribute.
Unreachable node ; an ID refers to a following sibling element. The IDs known by the engine are those already encountered, which is not the case.
75/174[harold-12] Make sure base URIs are preserved when including from the same document.1540
76/174[harold-13] Syntactically incorrect IRI is a fatal error (Eitehr I'm missing something or the spec needs to state this prinicple more clearly.)100
77/174[harold-14] Syntactically incorrect IRI with an unrecognized scheme is a fatal error100
78/174[harold-15] Syntactically correct IRI with an unrecognized scheme is a resource error900
79/174[harold-16] accept attribute contains carriage-return/linefeed pair
This test fails but not for the reason expected : VFS tries to open a connexion to www.example.com (as reported by tcpdump) and fails a long time after. To avoid this, the test is skipped.
80/174[harold-17] accept attribute contains Latin-1 character (non-breaking space)
This test fails but not for the reason expected : VFS tries to open a connexion to www.example.com (as reported by tcpdump) and fails a long time after. To avoid this, the test is skipped.
81/174[harold-18] Unprefixed, unrecognized attributes on an include element are ignored2700
82/174[harold-19] Fallback elements can be empty900
83/174[harold-20] Included documents can themselves use fallbacks2100
84/174[harold-21] An included document can use a fallback that points into the included document1500
85/174[harold-22] An included document can use a fallback that includes another document as text1500
86/174[harold-23] A fallback element in an included document contains an include element with a parse attribute with an illegal value.100
87/174[harold-24] A fallback element in an included document contains an include element with neither an xpointer nor an href attribute.100
88/174[harold-25] A fallback element in an included document contains an include element whose href attribute has a fragment ID.100
89/174[harold-26] The XPointer does not select anything in the acquired infoset, but does select something in the source infoset.100
90/174[harold-27] A fallback in an included document contains some text and a comment, but no elements.1700
91/174[harold-28] Include element points to another include element, which has a missing resource and therefore activates a fallback.1500
92/174[harold-29] An include element can include another include element that then uses a fallback.1700
93/174[harold-30] An include element can include another include element that then fails to find a resource, which is a fatal error if there's no fallback.100
94/174[harold-31] An include element can include another include element that then fails to find a resource, but it has a fallback, which itself has an include child, which then throws a fatal error.100
95/174[harold-32] Basic test from XInclude spec2700
96/174[harold-33] An include element points to a document that includes it, using an xpointer to select part of that document.100
97/174[harold-34] An include element points to another include element in the same document.
A back-reference node is involved ; SAX can't read backwards.
98/174[harold-35] Include elements can be siblings2100
99/174[harold-36] Namespaces (and lack thereof) must be preserved in included documents8700
100/174[harold-37] Detect an inclusion loop when an include element refers to itself100
101/174[harold-38] Detect an inclusion loop when an include element refers to its ancestor element in the same document010
102/174[harold-39] Processing a document that contains no include elements produces the same document.900
103/174[harold-40] Basic inclusion7100
104/174[harold-41] The root element of a document can be an include element.7300
105/174[harold-42] The root element of a document can be an include element. In this test the included document has a prolog and an epilog and the root element is replaced7300
106/174[harold-43] testIncludeElementsCannotHaveIncludeChildren100
107/174[harold-44] Include elements cannot have children from the xinclude namespace except for fallback.100
108/174[harold-45] Fallback can only be a child of xinclude element100
109/174[harold-46] A fallback element cannot have a fallback child element.100
110/174[harold-47] "The appearance of more than one xi:fallback element, an xi:include element, or any other element from the XInclude namespace is a fatal error." In this test the fallback is activated.100
111/174[harold-48] "The appearance of more than one xi:fallback element, an xi:include element, or any other element from the XInclude namespace is a fatal error." In this test the fallback is not activated.100
112/174[harold-49] A document cannot include itself100
113/174[harold-50] Document A includes document B which includes document A100
114/174[harold-51] Include element is missing an href and xpointer attribute100
115/174[harold-52] parse attribute must have value xml or text100
116/174[harold-53] Missing resource is fatal when there's no fallback100
117/174[harold-54] Missing resource is non-fatal when there's a fallback1500
118/174[harold-55] Fallback elements can themselves contain include elements7700
119/174[harold-56] encoding="UTF-16"900
120/174[harold-57] A shorthand XPointer1600
121/174[harold-58] XPointer that selects nothing is a resource error, and fatal because there's no fallback.100
122/174[harold-59] XPointers of the forms described in [XPointer Framework] and [XPointer element() scheme] must be supported. 1600
123/174[harold-60] Unrecognized colonized XPointer schemes are skipped, and the following scheme is used.1600
124/174[harold-61] Even if the first XPointer part locates a resource, a syntax error in the second XPointer part is still a fatal error.100
125/174[harold-62] Even if the first XPointer part locates a resource, a syntax error in the second XPointer part is still a fatal error.100
126/174[harold-63] You can include another element from the same document without an href attribute.1540
127/174[harold-64] Test with 3 element schemes in the XPointer. The first and second one point to nothing. The third one selects something. XPointer parts are evaluated from left to right until one finds something.1600
128/174[harold-65] Test with 2 element schemes in the XPointer. The first one uses an ID that doesn't exist and points to nothing. The second one selects something.1600
129/174[harold-66] Make sure XPointer syntax errors are treated as a resource error, not a fatal error; and thus fallbacks are applied1600
130/174[harold-67] Make sure XPointer syntax errors are treated as a resource error, not a fatal error; and thus fallbacks are applied1600
131/174[harold-68] Test with 3 element schemes in the XPointer, separated by white space. The first one points to nothing. The third one selects something.1600
132/174[harold-69] An XPointer that doesn't point to anything is a resource error; and fatal because there's no fallback100
133/174[harold-70] Syntax error in an XPointer is a resource error; and fatal because there's no fallback100
134/174[harold-71] Syntax error in an XPointer is a resource error; and fatal because there's no fallback100
135/174[harold-72] Unrecognized XPointer scheme activates fallback900
136/174[harold-73] XPointer uses an element scheme where the first part is an ID1500
137/174[harold-74] Can autodetect UTF16 big endian files with a with a byte order mark when parse="text"900
138/174[harold-75] Can autodetect UTF16 little endian files with a with a byte order mark when parse="text"900
139/174[harold-76] Can autodetect UTF-8 files with a with a byte order mark when parse="text"900
140/174[harold-77] Can autodetect UCS2 big endian files with a without a byte order mark when parse="text"900
141/174[harold-78] Can autodetect UCS2 little endian files with a without a byte order mark when parse="text"900
142/174[harold-79] Can autodetect EBCDIC files with a without a byte order mark when parse="text"413
Fails due to a bug in VFS.
143/174[harold-80] Syntax error in an XPointer is a resource error; and fatal becaue there's no fallback100
144/174[harold-81] Syntax error in an XPointer is a resource error; and fatal becaue there's no fallback100
145/174[harold-82] Circular references via xpointer are fatal100
146/174[harold-83] href attribute with fragment ID is a fatal error even when there's an xpointer attribute100
147/174[harold-84] href attribute with fragment ID is a fatal error100
148/174[harold-85] Line breaks must be preserved verbatim when including a document with parse="text"900
149/174[harold-86] A fragment identifier is semantically bad; but still meets the syntax of fragment IDs from RFC 2396. 100
150/174[harold-87] accept-language="fr" This test connects to IBiblio to load the included data. This is necessary because file URLs don't support content negotiation900
151/174[harold-88] accept-language="en" This test connects to IBiblio to load the included data. This is necessary because file URLs don't support content negotiation900
152/174[harold-89] accept="text/plain" This test connects to IBiblio to load the included data. This is necessary because file URLs don't support content negotiation900
153/174[harold-90] accept="text/html" This test connects to IBiblio to load the included data. This is necessary because file URLs don't support content negotiation900
154/174[harold-91] Unrecognized scheme in XPointer is a fatal error if there's no fallback100
155/174[harold-92] Unrecognized scheme in XPointer is a resource error so fallbacks apply1500
156/174[harold-93] Basic inclusions as XML and text5900
157/174[harold-94] Included document has an include element with neither href nor xpointer attribute100
158/174[harold-95] XPointers are resolved against the acquired infoset, not thge source infoset413
159/174[harold-96] Test that a non-child sequence in an xpointer is treated as a resource error.900
160/174[harold-97] Since the xpointer attribute is not a URI reference, %-escaping must not appear in the XPointer, nor is there any need for a processor to apply or reverse such escaping.100
161/174[imaq-include-xml-01] Simple test of including another XML document.3500
162/174[imaq-include-xml-02] Test recursive inclusion.1300
163/174[imaq-include-xml-03] Simple test of including a set of nodes from an XML document.2700
164/174[imaq-include-xml-04] including another XML document with IDs5300
165/174[imaq-include-xml-05] Simple test of including another text document1100
166/174[imaq-include-xml-06] Simple test of a fallback on unavailable URI.1700
167/174[imaq-pex1-01] Unused fallbacks must not generate errors, even if broken.3500
168/174[imaq-pex1-02] Broken fallback must generate errors, if they're needed.100
169/174[imaq-pex11-05] 'accept' attributes with characters outside the range #x20 through #x7E must be flagged as fatal errors.100
170/174[imaq-pex6-03] A BOM in UTF16 is not added to the resulting document.1100
171/174[imaq-pex6-04] A BOM in UTF16LE is added to the resulting document.1100
172/174[nist-include-39] Testing the content of the xinclude element. The comment should be ignored .3400
173/174[nist-include-40] Testing the content of the xinclude element. The element should be ignored .3400
174/174[nist-include-41] Testing the content of the xinclude element. This test should result in a fatal error.100

XInclude with DOM

There is an explanation in the following report on each test case reported with an error, and on each test case skipped (appearing striked) ; if missing, it's in the TODO list !

[tests/xunit/xinclude/xinclude-tree-err.xml]

 
Skip
Test name
TestsErrorsFailure
2
Summary of DOM tests for XInclude
174
(3082)
7
(7)
2
(6)
1/174[FourThought-include-01] Simple test of including another XML document.1400
2/174[FourThought-include-02] Test recursive inclusion.2000
3/174[FourThought-include-03] Simple test of including another text document.900
4/174[FourThought-include-04] Simple test of including a set of nodes from an XML document.2800
5/174[FourThought-include-05] Simple test of including a set of nodes from an XML document.6400
6/174[FourThought-include-06] Simple test of including a set of nodes from an XML document.3400
7/174[FourThought-include-07] Simple test of including a set of nodes from an XML document.1500
8/174[Nist-include-01] Test the inclusion of another XML document.7100
9/174[Nist-include-02] Test that the encoding attribute in the Xinclude element has no effect when parse="xml".3500
10/174[Nist-include-03] Test that values other than xml or text, in the parse attribute of the XInclude element, result in fatal errors. 200
11/174[Nist-include-04] Test of fallback element appearing as a child of an xinclude element. 3500
12/174[Nist-include-05] Test a fallback element not appearing as a direct child of an xinclude element. A fatal error should be generated.200
13/174[Nist-include-06] Test a fallback when a resource error occurs. 3500
14/174[Nist-include-07] Test an empty fallback element. The xinclude element is removed from the results.1100
15/174[Nist-include-08] Test of a fallback element missing from the include element. A resource error results in a fatal error. 200
16/174[Nist-include-09] Test unqualified attributes in the include element. They must be ignored.3500
17/174[Nist-include-10] Test content other than the fallback, in the xinclude element. This content must be ignored. 3500
18/174[Nist-include-11] Test a resource containing non-well-formed XML. The inclusion results in a fatal error.200
19/174[Nist-include-12] Test that is a fatal error for an include element to contain more than one fallback elements. 200
20/174[Nist-include-13] Test a fallback element containing markup when parse="text". 1700
21/174[Nist-include-14] Test a fallback element containing markup when parse="text". 1100
22/174[Nist-include-15] It is illegal for an include element to point to itself, when parse="xml". 200
23/174[Nist-include-16] Test a document type declaration information item child in the resource information set. the DTD should be excluded for inclusion in the source infoset. 7100
24/174[Nist-include-17] Test intra-document reference within include elements.5900
25/174[Nist-include-18] Simple test of including a set of nodes from an XML document. 6300
26/174[Nist-include-19] Test the inclusion of a set of nodes from an XML document. 2900
27/174[Nist-include-20] 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. 7100
28/174[Nist-include-21] Including an XML document with an unparsed entity. 1700
29/174[Nist-include-22] Testing when the document (top level) element in the source infoset is an include element. 6400
30/174[Nist-include-23] Testing an include element in the document (top-level) element in the source doc. Test should fail because is including more than one element. 010
False positive
Is reported with an error because it doesn't fail whereas it should : the nodes to include in place of the root element must contains exactly one element ; however, as RefleX support XML fragments, the output is generated anyway as a fragment (it is a normal case) ; to make it fail as expected, the user should pipe the output in a parser with a strict parsing mode that will report an error.
In a future release, this will become a user option.
31/174[Nist-include-24] Testing an include element in the document (top-level) element in the source doc. Test should fail because is including only a processing instruction. 010
False positive
Is reported with an error because it doesn't fail whereas it should : the nodes to include in place of the root element must contains exactly one element ; however, as RefleX support XML fragments, the output is generated anyway as a fragment (it is a normal case) ; to make it fail as expected, the user should pipe the output in a parser with a strict parsing mode that will report an error.
In a future release, this will become a user option.
32/174[Nist-include-25] Testing an include element in the document (top-level) element in the source doc. Test should fail because is including only a comment. 010
False positive
Is reported with an error because it doesn't fail whereas it should : the nodes to include in place of the root element must contains exactly one element ; however, as RefleX support XML fragments, the output is generated anyway as a fragment (it is a normal case) ; to make it fail as expected, the user should pipe the output in a parser with a strict parsing mode that will report an error.
In a future release, this will become a user option.
33/174[Nist-include-26] Test relative URI references in the included infoset. 1300
34/174[Nist-include-27] Test that the encoding attribute when parse="xml" does not translate the incoming document. 1600
35/174[Nist-include-28] including another XML document with IDs, using a shorthand pointer. 3500
36/174[Nist-include-29] including another XML document with IDs, using a shorthand pointer. 1800
37/174[Nist-include-30] Including another XML document with IDs, using a shorthand pointer. 2000
38/174[Nist-include-31] Including an XML document using an XPointer element scheme. 2800
39/174[Nist-include-32] Including an XML document using an XPointer element scheme.200
40/174[Nist-include-33] Including an XML document using an XPointer element scheme.200
41/174[Nist-include-34] Including another XML document with ids using XPointer element scheme. 1800
42/174[Nist-include-35] Including an XML document using an XPointer element scheme.4900
43/174[Nist-include-36] Including an XML document using an XPointer element scheme.1800
44/174[Nist-include-37] 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.1800
45/174[Nist-include-38] 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.1800
46/174[Nist-include-42] 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.200
47/174[Nist-include-43] Testing the content of the xinclude element. The content must be one fallback. This test should result in a fatal error.200
48/174[Nist-include-44] Test a resource that contains not-well-formed XML. This test should result in a fatal error.200
49/174[Nist-include-45] Test a resource that contains not-well-formed XML. This test should result in a fatal error.200
50/174[Nist-include-46] 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.200
51/174[Nist-include-47] 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.200
52/174[Nist-include-48] It is a fatal error to resolve an xpointer scheme on a document that contains unexpanded entity reference information items.
Unexpanded entity references are not supported.
53/174[Nist-include-49] The unexpanded entity reference information items, if present in the source infoset, will appear in the result infoset.
Unexpanded entity references are not supported.
54/174[Nist-include-50] 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. 4900
55/174[Nist-include-51] 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.1300
56/174[Nist-include-52] 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.1400
57/174[Nist-include-53] Test that an include location identifying an attribute node will result in a fatal error. 010
58/174[Nist-include-54] Test that an include location identifying an attribute node will result in a fatal error. 200
59/174[Nist-include-55] Including a duplicate unparsed entity. Test should ignore duplicate unparsed entity. 2200
60/174[Nist-include-56] Including an unparsed entity with same name, but different sysid. Test should fail. 010
61/174[eduni-1] Simple whole-file inclusion.3000
62/174[eduni-2] Verify that xi:include elements in the target have been processed in the acquired infoset, ie before the xpointer is applied.413
63/174[eduni-3] Check xml:lang fixup13800
64/174[harold-01] xml:base attribute is used to resolve relative URLs in href attributes1500
65/174[harold-02] Use XPointer to include an include element in another document, and make sure that's fully resolved too2100
66/174[harold-03] xml:base attribute on the xi:include element is used to resolve relative URL in href1500
67/174[harold-04] xml:base attribute from an unincluded element still applies to its included descendants1400
68/174[harold-05] An include element includes its following sibling element, which has a child include element including the sibling element after that one.4100
69/174[harold-06] Include a document that uses XPointers to reference various parts of itself4700
70/174[harold-07] xml:lang attribute from including document does not override xml:lang attribute in included document2300
71/174[harold-08] xml:lang attribute is added to retain the included element's language, even though the language was originaly declared on an unincluded element2300
72/174[harold-09] xml:lang='' is added when the included document does not declare a language and the including element does2300
73/174[harold-10] Test that the xml:base attribute is not used to resolve a missing href. According to RFC 2396 empty string URI always refers to the current document irrespective of base URI.4100
74/174[harold-11] There's no difference between href="" and no href attribute.4100
75/174[harold-12] Make sure base URIs are preserved when including from the same document.2100
76/174[harold-13] Syntactically incorrect IRI is a fatal error (Eitehr I'm missing something or the spec needs to state this prinicple more clearly.)200
77/174[harold-14] Syntactically incorrect IRI with an unrecognized scheme is a fatal error200
78/174[harold-15] Syntactically correct IRI with an unrecognized scheme is a resource error900
79/174[harold-16] accept attribute contains carriage-return/linefeed pair200
80/174[harold-17] accept attribute contains Latin-1 character (non-breaking space)200
81/174[harold-18] Unprefixed, unrecognized attributes on an include element are ignored2700
82/174[harold-19] Fallback elements can be empty900
83/174[harold-20] Included documents can themselves use fallbacks2100
84/174[harold-21] An included document can use a fallback that points into the included document1500
85/174[harold-22] An included document can use a fallback that includes another document as text1500
86/174[harold-23] A fallback element in an included document contains an include element with a parse attribute with an illegal value.200
87/174[harold-24] A fallback element in an included document contains an include element with neither an xpointer nor an href attribute.200
88/174[harold-25] A fallback element in an included document contains an include element whose href attribute has a fragment ID.200
89/174[harold-26] The XPointer does not select anything in the acquired infoset, but does select something in the source infoset.200
90/174[harold-27] A fallback in an included document contains some text and a comment, but no elements.1700
91/174[harold-28] Include element points to another include element, which has a missing resource and therefore activates a fallback.1500
92/174[harold-29] An include element can include another include element that then uses a fallback.1700
93/174[harold-30] An include element can include another include element that then fails to find a resource, which is a fatal error if there's no fallback.200
94/174[harold-31] An include element can include another include element that then fails to find a resource, but it has a fallback, which itself has an include child, which then throws a fatal error.200
95/174[harold-32] Basic test from XInclude spec2700
96/174[harold-33] An include element points to a document that includes it, using an xpointer to select part of that document.200
97/174[harold-34] An include element points to another include element in the same document.2700
98/174[harold-35] Include elements can be siblings2100
99/174[harold-36] Namespaces (and lack thereof) must be preserved in included documents8700
100/174[harold-37] Detect an inclusion loop when an include element refers to itself200
101/174[harold-38] Detect an inclusion loop when an include element refers to its ancestor element in the same document200
102/174[harold-39] Processing a document that contains no include elements produces the same document.900
103/174[harold-40] Basic inclusion7100
104/174[harold-41] The root element of a document can be an include element.7300
105/174[harold-42] The root element of a document can be an include element. In this test the included document has a prolog and an epilog and the root element is replaced7300
106/174[harold-43] testIncludeElementsCannotHaveIncludeChildren200
107/174[harold-44] Include elements cannot have children from the xinclude namespace except for fallback.200
108/174[harold-45] Fallback can only be a child of xinclude element200
109/174[harold-46] A fallback element cannot have a fallback child element.200
110/174[harold-47] "The appearance of more than one xi:fallback element, an xi:include element, or any other element from the XInclude namespace is a fatal error." In this test the fallback is activated.200
111/174[harold-48] "The appearance of more than one xi:fallback element, an xi:include element, or any other element from the XInclude namespace is a fatal error." In this test the fallback is not activated.200
112/174[harold-49] A document cannot include itself200
113/174[harold-50] Document A includes document B which includes document A200
114/174[harold-51] Include element is missing an href and xpointer attribute200
115/174[harold-52] parse attribute must have value xml or text200
116/174[harold-53] Missing resource is fatal when there's no fallback200
117/174[harold-54] Missing resource is non-fatal when there's a fallback1500
118/174[harold-55] Fallback elements can themselves contain include elements7700
119/174[harold-56] encoding="UTF-16"900
120/174[harold-57] A shorthand XPointer1600
121/174[harold-58] XPointer that selects nothing is a resource error, and fatal because there's no fallback.200