XInclude Test Suite

W3C NIST
A Joint Development Effort

W3C XML Core Working Group
XInclude 1.0 Test Suite
27 September 2006

This version:
Current version:
W3C XML Core Working Group:
XML Inclusions(XInclude) Version 1.0:
Comments:

Table of Contents

  1. Introduction
  2. Test Case Descriptions
  3. 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; LTG, Edinburgh Univ; Elliotte Rusty Harold; . 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.

Sections [Rules]: 4.2
Test ID: imaq-include-xml-01
Collection: Redhat

Simple test of including another XML document.

There is an output test associated with this input file.

Sections [Rules]: 4.2.7
Test ID: imaq-include-xml-02
Collection: Redhat

Test recursive inclusion.

There is an output test associated with this input file.

Sections [Rules]: 4.2.2
Test ID: imaq-include-xml-03
Collection: Redhat

Simple test of including a set of nodes from an XML document.

There is an output test associated with this input file.

Sections [Rules]: 4.2
Test ID: imaq-include-xml-04
Collection: Redhat

including another XML document with IDs

There is an output test associated with this input file.

Sections [Rules]: 4.3
Test ID: imaq-include-xml-05
Collection: Redhat

Simple test of including another text document

There is an output test associated with this input file.

Sections [Rules]: 4.4
Test ID: imaq-include-xml-06
Collection: Redhat

Simple test of a fallback on unavailable URI.

There is an output test associated with this input file.

Sections [Rules]: 3.2
Test ID: imaq-pex1-01
Collection: Redhat

Unused fallbacks must not generate errors, even if broken.

There is an output test associated with this input file.

Sections [Rules]: 3.2
Test ID: imaq-pex1-02
Collection: Redhat

Broken fallback must generate errors, if they're needed.

Sections [Rules]: 4.3
Test ID: imaq-pex6-03
Collection: Redhat

A BOM in UTF16 is not added to the resulting document.

There is an output test associated with this input file.

Sections [Rules]: 4.3
Test ID: imaq-pex6-04
Collection: Redhat

A BOM in UTF16LE is added to the resulting document.

There is an output test associated with this input file.

Sections [Rules]: 3.1
Test ID: imaq-pex11-05
Collection: Redhat

'accept' attributes with characters outside the range #x20 through #x7E must be flagged as fatal errors.

Sections [Rules]: 3.1
Test ID: FourThought-include-01
Collection: FourThought

Simple test of including another XML document.

There is an output test associated with this input file.

Sections [Rules]: 4.2.7
Test ID: FourThought-include-02
Collection: FourThought

Test recursive inclusion.

There is an output test associated with this input file.

Sections [Rules]: 3.1
Test ID: FourThought-include-03
Collection: FourThought

Simple test of including another text document.

There is an output test associated with this input file.

Sections [Rules]: 4.2.2
Test ID: FourThought-include-04
Collection: FourThought

Simple test of including a set of nodes from an XML document.

There is an output test associated with this input file.

Sections [Rules]: 4.2.2
Test ID: FourThought-include-05
Collection: FourThought

Simple test of including a set of nodes from an XML document.

There is an output test associated with this input file.

Sections [Rules]: 4.2.1
Test ID: FourThought-include-06
Collection: FourThought

Simple test of including a set of nodes from an XML document.

There is an output test associated with this input file.

Sections [Rules]: 4.2.5
Test ID: FourThought-include-07
Collection: FourThought

Simple test of including a set of nodes from an XML document.

There is an output test associated with this input file.

Sections [Rules]: 3.1
Test ID: Nist-include-01
Collection: NIST

Test the inclusion of another XML document.

There is an output test associated with this input file.

Sections [Rules]: 3.1
Test ID: Nist-include-02
Collection: NIST

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.

Sections [Rules]: 3.1
Test ID: Nist-include-03
Collection: NIST

Test that values other than xml or text, in the parse attribute of the XInclude element, result in fatal errors.

Sections [Rules]: 3.2
Test ID: Nist-include-04
Collection: NIST

Test of fallback element appearing as a child of an xinclude element.

There is an output test associated with this input file.

Sections [Rules]: 3.2
Test ID: Nist-include-05
Collection: NIST

Test a fallback element not appearing as a direct child of an xinclude element. A fatal error should be generated.

Sections [Rules]: 3.2
Test ID: Nist-include-06
Collection: NIST

Test a fallback when a resource error occurs.

There is an output test associated with this input file.

Sections [Rules]: 3.2
Test ID: Nist-include-07
Collection: NIST

Test an empty fallback element. The xinclude element is removed from the results.

There is an output test associated with this input file.

Sections [Rules]: 3.2
Test ID: Nist-include-08
Collection: NIST

Test of a fallback element missing from the include element. A resource error results in a fatal error.

Sections [Rules]: 3.1
Test ID: Nist-include-09
Collection: NIST

Test unqualified attributes in the include element. They must be ignored.

There is an output test associated with this input file.

Sections [Rules]: 3.1
Test ID: Nist-include-10
Collection: NIST

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.

Sections [Rules]: 4.2
Test ID: Nist-include-11
Collection: NIST

Test a resource containing non-well-formed XML. The inclusion results in a fatal error.

Sections [Rules]: 4.4
Test ID: Nist-include-12
Collection: NIST

Test that is a fatal error for an include element to contain more than one fallback elements.

Sections [Rules]: 4.4
Test ID: Nist-include-13
Collection: NIST

Test a fallback element containing markup when parse="text".

There is an output test associated with this input file.

Sections [Rules]: 4.4
Test ID: Nist-include-14
Collection: NIST

Test a fallback element containing markup when parse="text".

There is an output test associated with this input file.

Sections [Rules]: 4.2.7
Test ID: Nist-include-15
Collection: NIST

It is illegal for an include element to point to itself, when parse="xml".

Sections [Rules]: 4.2.1
Test ID: Nist-include-16
Collection: NIST

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.

Sections [Rules]: 4.5
Test ID: Nist-include-17
Collection: NIST

Test intra-document reference within include elements.

There is an output test associated with this input file.

Sections [Rules]: 4.2.2
Test ID: Nist-include-18
Collection: NIST

Simple test of including a set of nodes from an XML document.

There is an output test associated with this input file.

Sections [Rules]: 4.2.2
Test ID: Nist-include-19
Collection: NIST

Test the inclusion of a set of nodes from an XML document.

There is an output test associated with this input file.

Sections [Rules]: 4.2.2
Test ID: Nist-include-20
Collection: NIST

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.

Sections [Rules]: 4.5.1
Test ID: Nist-include-21
Collection: NIST

Including an XML document with an unparsed entity.

There is an output test associated with this input file.

Sections [Rules]: 4.5
Test ID: Nist-include-22
Collection: NIST

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.

Sections [Rules]: 4.5
Test ID: Nist-include-23
Collection: NIST

Testing an include element in the document (top-level) element in the source doc. Test should fail because is including more than one element.

Sections [Rules]: 4.5
Test ID: Nist-include-24
Collection: NIST

Testing an include element in the document (top-level) element in the source doc. Test should fail because is including only a processing instruction.

Sections [Rules]: 4.5
Test ID: Nist-include-25
Collection: NIST

Testing an include element in the document (top-level) element in the source doc. Test should fail because is including only a comment.

Sections [Rules]: 4.5.5
Test ID: Nist-include-26
Collection: NIST

Test relative URI references in the included infoset.

There is an output test associated with this input file.

Sections [Rules]: 3.1
Test ID: Nist-include-27
Collection: NIST

Test that the encoding attribute when parse="xml" does not translate the incoming document.

There is an output test associated with this input file.

Sections [Rules]: 4.2
Test ID: Nist-include-28
Collection: NIST

including another XML document with IDs, using a shorthand pointer.

There is an output test associated with this input file.

Sections [Rules]: 4.2
Test ID: Nist-include-29
Collection: NIST

including another XML document with IDs, using a shorthand pointer.

There is an output test associated with this input file.

Sections [Rules]: 4.2
Test ID: Nist-include-30
Collection: NIST

Including another XML document with IDs, using a shorthand pointer.

There is an output test associated with this input file.

Sections [Rules]: 4.2
Test ID: Nist-include-31
Collection: NIST

Including an XML document using an XPointer element scheme.

There is an output test associated with this input file.

Sections [Rules]: 4.2
Test ID: Nist-include-32
Collection: NIST

Including an XML document using an XPointer element scheme.

Sections [Rules]: 4.2
Test ID: Nist-include-33
Collection: NIST

Including an XML document using an XPointer element scheme.

Sections [Rules]: 4.2
Test ID: Nist-include-34
Collection: NIST

Including another XML document with ids using XPointer element scheme.

There is an output test associated with this input file.

Sections [Rules]: 4.2
Test ID: Nist-include-35
Collection: NIST

Including an XML document using an XPointer element scheme.

There is an output test associated with this input file.

Sections [Rules]: 4.2
Test ID: Nist-include-36
Collection: NIST

Including an XML document using an XPointer element scheme.

There is an output test associated with this input file.

Sections [Rules]: 4.2
Test ID: Nist-include-37
Collection: NIST

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.

Sections [Rules]: 4.2
Test ID: Nist-include-38
Collection: NIST

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.

Sections [Rules]: 3.1
Test ID: nist-include-39
Collection: NIST

Testing the content of the xinclude element. The comment should be ignored .

There is an output test associated with this input file.

Sections [Rules]: 3.1
Test ID: nist-include-40
Collection: NIST

Testing the content of the xinclude element. The element should be ignored .

There is an output test associated with this input file.

Sections [Rules]: 3.1
Test ID: nist-include-41
Collection: NIST

Testing the content of the xinclude element. This test should result in a fatal error.

Sections [Rules]: 3.1
Test ID: Nist-include-42
Collection: NIST

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.

Sections [Rules]: 3.1
Test ID: Nist-include-43
Collection: NIST

Testing the content of the xinclude element. The content must be one fallback. This test should result in a fatal error.

Sections [Rules]: 4.2
Test ID: Nist-include-44
Collection: NIST

Test a resource that contains not-well-formed XML. This test should result in a fatal error.

Sections [Rules]: 4.2
Test ID: Nist-include-45
Collection: NIST

Test a resource that contains not-well-formed XML. This test should result in a fatal error.

Sections [Rules]: 3.1
Test ID: Nist-include-46
Collection: NIST

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.

Sections [Rules]: 3.1
Test ID: Nist-include-47
Collection: NIST

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.

Sections [Rules]: 4.2
Test ID: Nist-include-48
Collection: NIST

It is a fatal error to resolve an xpointer scheme on a document that contains unexpanded entity reference information items.

Sections [Rules]: 4.5
Test ID: Nist-include-49
Collection: NIST

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.

Sections [Rules]: 4.5
Test ID: Nist-include-50
Collection: NIST

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.

Sections [Rules]: 4.2.5
Test ID: Nist-include-51
Collection: NIST

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.

Sections [Rules]: 4.2.5
Test ID: Nist-include-52
Collection: NIST

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.

Sections [Rules]: 4.2.6
Test ID: Nist-include-53
Collection: NIST

Test that an include location identifying an attribute node will result in a fatal error.

Sections [Rules]: 4.2.6
Test ID: Nist-include-54
Collection: NIST

Test that an include location identifying an attribute node will result in a fatal error.

Sections [Rules]: 4.5.1
Test ID: Nist-include-55
Collection: NIST

Including a duplicate unparsed entity. Test should ignore duplicate unparsed entity.

There is an output test associated with this input file.

Sections [Rules]: 4.5.1
Test ID: Nist-include-56
Collection: NIST

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.

Sections [Rules]: 4.2
Test ID: eduni-3
Collection: LTG, Edinburgh Univ

Check xml:lang fixup

There is an output test associated with this input file.

Sections [Rules]: 4.1
Test ID: harold-01
Collection: Elliotte Rusty Harold

xml:base attribute is used to resolve relative URLs in href attributes

There is an output test associated with this input file.

Sections [Rules]: 4.2.5
Test ID: harold-02
Collection: Elliotte Rusty Harold

Use XPointer to include an include element in another document, and make sure that's fully resolved too

There is an output test associated with this input file.

Sections [Rules]: 4.1
Test ID: harold-03
Collection: Elliotte Rusty Harold

xml:base attribute on the xi:include element is used to resolve relative URL in href

There is an output test associated with this input file.

Sections [Rules]: 4.1
Test ID: harold-04
Collection: Elliotte Rusty Harold

xml:base attribute from an unincluded element still applies to its included descendants

There is an output test associated with this input file.

Sections [Rules]: 4.2
Test ID: harold-05
Collection: Elliotte Rusty Harold

An include element includes its following sibling element, which has a child include element including the sibling element after that one.

There is an output test associated with this input file.

Sections [Rules]: 4.2
Test ID: harold-06
Collection: Elliotte Rusty Harold

Include a document that uses XPointers to reference various parts of itself

There is an output test associated with this input file.

Sections [Rules]: 4.5.6
Test ID: harold-07
Collection: Elliotte Rusty Harold

xml:lang attribute from including document does not override xml:lang attribute in included document

There is an output test associated with this input file.

Sections [Rules]: 4.5.6
Test ID: harold-08
Collection: Elliotte Rusty Harold

xml:lang attribute is added to retain the included element's language, even though the language was originaly declared on an unincluded element

There is an output test associated with this input file.

Sections [Rules]: 4.5.6
Test ID: harold-09
Collection: Elliotte Rusty Harold

xml:lang='' is added when the included document does not declare a language and the including element does

There is an output test associated with this input file.

Sections [Rules]: 4.1
Test ID: harold-10
Collection: Elliotte Rusty Harold

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.

There is an output test associated with this input file.

Sections [Rules]: 3.1
Test ID: harold-11
Collection: Elliotte Rusty Harold

There's no difference between href="" and no href attribute.

There is an output test associated with this input file.

Sections [Rules]: 4.5.5
Test ID: harold-12
Collection: Elliotte Rusty Harold

Make sure base URIs are preserved when including from the same document.

There is an output test associated with this input file.

Sections [Rules]: 3.1
Test ID: harold-13
Collection: Elliotte Rusty Harold

Syntactically incorrect IRI is a fatal error (Eitehr I'm missing something or the spec needs to state this prinicple more clearly.)

Sections [Rules]: 3.1
Test ID: harold-14
Collection: Elliotte Rusty Harold

Syntactically incorrect IRI with an unrecognized scheme is a fatal error

Sections [Rules]: 4.2
Test ID: harold-15
Collection: Elliotte Rusty Harold

Syntactically correct IRI with an unrecognized scheme is a resource error

There is an output test associated with this input file.

Sections [Rules]: 3.1
Test ID: harold-16
Collection: Elliotte Rusty Harold

accept attribute contains carriage-return/linefeed pair

Sections [Rules]: 3.1
Test ID: harold-17
Collection: Elliotte Rusty Harold

accept attribute contains Latin-1 character (non-breaking space)

Sections [Rules]: 3.1
Test ID: harold-18
Collection: Elliotte Rusty Harold

Unprefixed, unrecognized attributes on an include element are ignored

There is an output test associated with this input file.

Sections [Rules]: 3.2
Test ID: harold-19
Collection: Elliotte Rusty Harold

Fallback elements can be empty

There is an output test associated with this input file.

Sections [Rules]: 4.4
Test ID: harold-20
Collection: Elliotte Rusty Harold

Included documents can themselves use fallbacks

There is an output test associated with this input file.

Sections [Rules]: 4.4
Test ID: harold-21
Collection: Elliotte Rusty Harold

An included document can use a fallback that points into the included document

There is an output test associated with this input file.

Sections [Rules]: 4.4
Test ID: harold-22
Collection: Elliotte Rusty Harold

An included document can use a fallback that includes another document as text

There is an output test associated with this input file.

Sections [Rules]: 3.1
Test ID: harold-23
Collection: Elliotte Rusty Harold

A fallback element in an included document contains an include element with a parse attribute with an illegal value.

Sections [Rules]: 3.1
Test ID: harold-24
Collection: Elliotte Rusty Harold

A fallback element in an included document contains an include element with neither an xpointer nor an href attribute.

Sections [Rules]: 3.1
Test ID: harold-25
Collection: Elliotte Rusty Harold

A fallback element in an included document contains an include element whose href attribute has a fragment ID.

Sections [Rules]: 4.4
Test ID: harold-26
Collection: Elliotte Rusty Harold

The XPointer does not select anything in the acquired infoset, but does select something in the source infoset.

Sections [Rules]: 4.4
Test ID: harold-27
Collection: Elliotte Rusty Harold

A fallback in an included document contains some text and a comment, but no elements.

There is an output test associated with this input file.

Sections [Rules]: 4.4
Test ID: harold-28
Collection: Elliotte Rusty Harold

Include element points to another include element, which has a missing resource and therefore activates a fallback.

There is an output test associated with this input file.

Sections [Rules]: 4.4
Test ID: harold-29
Collection: Elliotte Rusty Harold

An include element can include another include element that then uses a fallback.

There is an output test associated with this input file.

Sections [Rules]: 4.2
Test ID: harold-30
Collection: Elliotte Rusty Harold

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.

Sections [Rules]: 4.4
Test ID: harold-31
Collection: Elliotte Rusty Harold

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.

Sections [Rules]: 4.2
Test ID: harold-32
Collection: Elliotte Rusty Harold

Basic test from XInclude spec

There is an output test associated with this input file.

Sections [Rules]: 4.2.7
Test ID: harold-33
Collection: Elliotte Rusty Harold

An include element points to a document that includes it, using an xpointer to select part of that document.

Sections [Rules]: 4.2
Test ID: harold-34
Collection: Elliotte Rusty Harold

An include element points to another include element in the same document.

There is an output test associated with this input file.

Sections [Rules]: 4.2
Test ID: harold-35
Collection: Elliotte Rusty Harold

Include elements can be siblings

There is an output test associated with this input file.

Sections [Rules]: 4
Test ID: harold-36
Collection: Elliotte Rusty Harold

Namespaces (and lack thereof) must be preserved in included documents

There is an output test associated with this input file.

Sections [Rules]: 4.2.7
Test ID: harold-37
Collection: Elliotte Rusty Harold

Detect an inclusion loop when an include element refers to itself

Sections [Rules]: 4.2.7
Test ID: harold-38
Collection: Elliotte Rusty Harold

Detect an inclusion loop when an include element refers to its ancestor element in the same document

Sections [Rules]: 4
Test ID: harold-39
Collection: Elliotte Rusty Harold

Processing a document that contains no include elements produces the same document.

There is an output test associated with this input file.

Sections [Rules]: 4
Test ID: harold-40
Collection: Elliotte Rusty Harold

Basic inclusion

There is an output test associated with this input file.

Sections [Rules]: 4.2
Test ID: harold-41
Collection: Elliotte Rusty Harold

The root element of a document can be an include element.

There is an output test associated with this input file.

Sections [Rules]: 4.2
Test ID: harold-42
Collection: Elliotte Rusty Harold

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 replaced

There is an output test associated with this input file.

Sections [Rules]: 3.1
Test ID: harold-43
Collection: Elliotte Rusty Harold

testIncludeElementsCannotHaveIncludeChildren

Sections [Rules]: 3.1
Test ID: harold-44
Collection: Elliotte Rusty Harold

Include elements cannot have children from the xinclude namespace except for fallback.

Sections [Rules]: 3.2
Test ID: harold-45
Collection: Elliotte Rusty Harold

Fallback can only be a child of xinclude element

Sections [Rules]: 3.2
Test ID: harold-46
Collection: Elliotte Rusty Harold

A fallback element cannot have a fallback child element.

Sections [Rules]: 3.1
Test ID: harold-47
Collection: Elliotte Rusty Harold

"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.

Sections [Rules]: 3.1
Test ID: harold-48
Collection: Elliotte Rusty Harold

"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.

Sections [Rules]: 4.2.7
Test ID: harold-49
Collection: Elliotte Rusty Harold

A document cannot include itself

Sections [Rules]: 4.2.7
Test ID: harold-50
Collection: Elliotte Rusty Harold

Document A includes document B which includes document A

Sections [Rules]: 3.1
Test ID: harold-51
Collection: Elliotte Rusty Harold

Include element is missing an href and xpointer attribute

Sections [Rules]: 3.1
Test ID: harold-52
Collection: Elliotte Rusty Harold

parse attribute must have value xml or text

Sections [Rules]: 4.2
Test ID: harold-53
Collection: Elliotte Rusty Harold

Missing resource is fatal when there's no fallback

Sections [Rules]: 4.4
Test ID: harold-54
Collection: Elliotte Rusty Harold

Missing resource is non-fatal when there's a fallback

There is an output test associated with this input file.

Sections [Rules]: 3.2
Test ID: harold-55
Collection: Elliotte Rusty Harold

Fallback elements can themselves contain include elements

There is an output test associated with this input file.

Sections [Rules]: 4.3
Test ID: harold-56
Collection: Elliotte Rusty Harold

encoding="UTF-16"

There is an output test associated with this input file.

Sections [Rules]: 4.2
Test ID: harold-57
Collection: Elliotte Rusty Harold

A shorthand XPointer

There is an output test associated with this input file.

Sections [Rules]: 4.2
Test ID: harold-58
Collection: Elliotte Rusty Harold

XPointer that selects nothing is a resource error, and fatal because there's no fallback.

Sections [Rules]: 4.2
Test ID: harold-59
Collection: Elliotte Rusty Harold

XPointers of the forms described in [XPointer Framework] and [XPointer element() scheme] must be supported.

There is an output test associated with this input file.

Sections [Rules]: 4.2
Test ID: harold-60
Collection: Elliotte Rusty Harold

Unrecognized colonized XPointer schemes are skipped, and the following scheme is used.

There is an output test associated with this input file.

Sections [Rules]: 4.2
Test ID: harold-61
Collection: Elliotte Rusty Harold

Even if the first XPointer part locates a resource, a syntax error in the second XPointer part is still a fatal error.

Sections [Rules]: 4.2
Test ID: harold-62
Collection: Elliotte Rusty Harold

Even if the first XPointer part locates a resource, a syntax error in the second XPointer part is still a fatal error.

Sections [Rules]: 3.1
Test ID: harold-63
Collection: Elliotte Rusty Harold

You can include another element from the same document without an href attribute.

There is an output test associated with this input file.

Sections [Rules]: 4.2
Test ID: harold-64
Collection: Elliotte Rusty Harold

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.

There is an output test associated with this input file.

Sections [Rules]: 4.2
Test ID: harold-65
Collection: Elliotte Rusty Harold

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.

There is an output test associated with this input file.

Sections [Rules]: 4.2
Test ID: harold-66
Collection: Elliotte Rusty Harold

Make sure XPointer syntax errors are treated as a resource error, not a fatal error; and thus fallbacks are applied

There is an output test associated with this input file.

Sections [Rules]: 4.2
Test ID: harold-67
Collection: Elliotte Rusty Harold

Make sure XPointer syntax errors are treated as a resource error, not a fatal error; and thus fallbacks are applied

There is an output test associated with this input file.

Sections [Rules]: 4.2
Test ID: harold-68
Collection: Elliotte Rusty Harold

Test with 3 element schemes in the XPointer, separated by white space. The first one points to nothing. The third one selects something.

There is an output test associated with this input file.

Sections [Rules]: 4.2
Test ID: harold-69
Collection: Elliotte Rusty Harold

An XPointer that doesn't point to anything is a resource error; and fatal because there's no fallback

Sections [Rules]: 4.2
Test ID: harold-70
Collection: Elliotte Rusty Harold

Syntax error in an XPointer is a resource error; and fatal because there's no fallback

Sections [Rules]: 4.2
Test ID: harold-71
Collection: Elliotte Rusty Harold

Syntax error in an XPointer is a resource error; and fatal because there's no fallback

Sections [Rules]: 4.2
Test ID: harold-72
Collection: Elliotte Rusty Harold

Unrecognized XPointer scheme activates fallback

There is an output test associated with this input file.

Sections [Rules]: 4.2
Test ID: harold-73
Collection: Elliotte Rusty Harold

XPointer uses an element scheme where the first part is an ID

There is an output test associated with this input file.

Sections [Rules]: 4.3
Test ID: harold-74
Collection: Elliotte Rusty Harold

Can autodetect UTF16 big endian files with a with a byte order mark when parse="text"

There is an output test associated with this input file.

Sections [Rules]: 4.3
Test ID: harold-75
Collection: Elliotte Rusty Harold

Can autodetect UTF16 little endian files with a with a byte order mark when parse="text"

There is an output test associated with this input file.

Sections [Rules]: 4.3
Test ID: harold-76
Collection: Elliotte Rusty Harold

Can autodetect UTF-8 files with a with a byte order mark when parse="text"

There is an output test associated with this input file.

Sections [Rules]: 4.3
Test ID: harold-77
Collection: Elliotte Rusty Harold

Can autodetect UCS2 big endian files with a without a byte order mark when parse="text"

There is an output test associated with this input file.

Sections [Rules]: 4.3
Test ID: harold-78
Collection: Elliotte Rusty Harold

Can autodetect UCS2 little endian files with a without a byte order mark when parse="text"

There is an output test associated with this input file.

Sections [Rules]: 4.3
Test ID: harold-79
Collection: Elliotte Rusty Harold

Can autodetect EBCDIC files with a without a byte order mark when parse="text"

There is an output test associated with this input file.

Sections [Rules]: 4.2
Test ID: harold-80
Collection: Elliotte Rusty Harold

Syntax error in an XPointer is a resource error; and fatal becaue there's no fallback

Sections [Rules]: 4.2
Test ID: harold-81
Collection: Elliotte Rusty Harold

Syntax error in an XPointer is a resource error; and fatal becaue there's no fallback

Sections [Rules]: 4.2.7
Test ID: harold-82
Collection: Elliotte Rusty Harold

Circular references via xpointer are fatal

Sections [Rules]: 3.1
Test ID: harold-83
Collection: Elliotte Rusty Harold

href attribute with fragment ID is a fatal error even when there's an xpointer attribute

Sections [Rules]: 3.1
Test ID: harold-84
Collection: Elliotte Rusty Harold

href attribute with fragment ID is a fatal error

Sections [Rules]: 4.3
Test ID: harold-85
Collection: Elliotte Rusty Harold

Line breaks must be preserved verbatim when including a document with parse="text"

There is an output test associated with this input file.

Sections [Rules]: 3.1
Test ID: harold-86
Collection: Elliotte Rusty Harold

A fragment identifier is semantically bad; but still meets the syntax of fragment IDs from RFC 2396.

Sections [Rules]: 3.1
Test ID: harold-87
Collection: Elliotte Rusty Harold

accept-language="fr" This test connects to IBiblio to load the included data. This is necessary because file URLs don't support content negotiation

There is an output test associated with this input file.

Sections [Rules]: 3.1
Test ID: harold-88
Collection: Elliotte Rusty Harold

accept-language="en" This test connects to IBiblio to load the included data. This is necessary because file URLs don't support content negotiation

There is an output test associated with this input file.

Sections [Rules]: 3.1
Test ID: harold-89
Collection: Elliotte Rusty Harold

accept="text/plain" This test connects to IBiblio to load the included data. This is necessary because file URLs don't support content negotiation

There is an output test associated with this input file.

Sections [Rules]: 3.1
Test ID: harold-90
Collection: Elliotte Rusty Harold

accept="text/html" This test connects to IBiblio to load the included data. This is necessary because file URLs don't support content negotiation

There is an output test associated with this input file.

Sections [Rules]: 4.2
Test ID: harold-91
Collection: Elliotte Rusty Harold

Unrecognized scheme in XPointer is a fatal error if there's no fallback

Sections [Rules]: 4.2
Test ID: harold-92
Collection: Elliotte Rusty Harold

Unrecognized scheme in XPointer is a resource error so fallbacks apply

There is an output test associated with this input file.

Sections [Rules]: 4.5
Test ID: harold-93
Collection: Elliotte Rusty Harold

Basic inclusions as XML and text

There is an output test associated with this input file.

Sections [Rules]: 3.1
Test ID: harold-94
Collection: Elliotte Rusty Harold

Included document has an include element with neither href nor xpointer attribute

Sections [Rules]: 3.1
Test ID: harold-95
Collection: Elliotte Rusty Harold

XPointers are resolved against the acquired infoset, not thge source infoset

There is an output test associated with this input file.

Sections [Rules]: 3.1
Test ID: harold-96
Collection: Elliotte Rusty Harold

Test that a non-child sequence in an xpointer is treated as a resource error.

There is an output test associated with this input file.

Sections [Rules]: 3.1
Test ID: harold-97
Collection: Elliotte Rusty Harold

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.

4. Contributors (Non-normative)

A team of volunteer members have participated in the development of this work. Contributions have come from: