NIST test 41

I believe NIST test 41 is in error. Section 3.1 of the XInclude CR draft 
states:

The content of the |xi:include| element may 
<http://www.w3.org/TR/xinclude/#dt-must> include an |xi:fallback| 
element. Other content is not constrained by this specification and is 
ignored by the XInclude processor, that is, it has no effect on include 
processing, and does not appear in the *[children]* properties of the 
result infoset. Such content might be used by applications analizing a 
pre-inclusion infoset, or be made available to an application 
post-inclusion through means other than the normal infoset properties.


NIST test 41 is as follows:

<?xml version="1.0"?>
<!-- The content of the include element is another
include element, this test should result in a fatal error. -->
<x xmlns:xi="http://www.w3.org/2001/XInclude">
    <p>The report is available.</p>
    <xi:include href="../ents/something.xml">
        <xi:include href="../ents/something.xml"/>
    </xi:include>
</x>

Given that "Other content is not constrained by this specification and 
is ignored by the XInclude processor" I believe that it is legal for an 
xi:include element to contain another xi:include element. This test 
should not result in a fatal error. Alternately, if the test is correct, 
then the language in section 3.1 is incorrect, and needs to be changed; 
e.g.

The children of the |xi:include| element may 
<http://www.w3.org/TR/xinclude/#dt-must> include no more than one 
|xi:fallback| element. and may not contain any other elements from the 
XInclude namespace. Other content not from the XInclude namespace is not 
constrained by this specification and is ignored by the XInclude 
processor, that is, it has no effect on include processing,


--
Elliotte Rusty Harold

Received on Saturday, 7 June 2003 13:08:12 UTC