- From: Elliotte Harold <elharo@metalab.unc.edu>
- Date: Mon, 25 Oct 2004 04:45:59 -0400
- To: www-xml-xinclude-comments@w3.org
It occurred to me there's another way to hide fatal errors besides unactivated fallbacks, also not yet covered by the test suite. What happens if there's a fatal error hidden inside a non XInclude child of an xi:include element? For instance <test xmlns:xinclude="http://www.w3.org/2001/XInclude"> <xinclude:include href="utf8.xml" parse="text"> <p> Never processed <xinclude:include href="utf8.xml" parse="nonesuch"> </p> </xinclude:include> </test> Is this a fatal error or should it be ignored? (I can't imagine it's a resource error.) Are processors required or allowed to check inside elements that have no possibility of being processed? The statement that "Other content (text, processing instructions, comments, elements not in the XInclude namespace, descendants of child elements) 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." This suggests that these are not fatal errors and that indeed a conforming processor must not so treat them. I think this can be reconciled with the rest of the spec only if the statement "XInclude processors must stop processing when encountering errors other than resource errors" only if we claim that the processor does not "encounter" these errors because it skips this content. However, if that's the case then it seems logical that an XInclude processor never encounters a fallback if the xi:include element succeeds. so errors in any of its children will not be reported. Furthermore a problem with multiple fallback elements will only be encountered if the xi:include element fails. Clarification from the spec would be very helpful. Implementation note: not processing all descendants of an xi:include element for errors would preclude certain implementation strategies. For instance, you could not use DOM's getElementsByTagnameNS() or XPath to grab all the xi:include elements and check them for errors before proceeding because some of the errors might not count. -- Elliotte Rusty Harold elharo@metalab.unc.edu XML in a Nutshell 3rd Edition Just Published! http://www.cafeconleche.org/books/xian3/ http://www.amazon.com/exec/obidos/ISBN=0596007647/cafeaulaitA/ref=nosim
Received on Monday, 25 October 2004 08:46:02 UTC