XInclude Implementation report for libxml2

 I reread the CR version of the XInclude draft at 
   http://www.w3.org/TR/2002/CR-xinclude-20020917

I think that libxml2-2.4.28 implementation is complete
with only the following restrictions:
  - 4.3 Included Items when parse="text"
    the encoding detection, I don't have external encoding informations
    nor the media type of the resource (when fetched over HTTP) so I
    only check the encoding attribute and otherwise fallback to UTF-8
  - XPointer support
    libxml2 XPointer implementation is based on the CR draft of 7 June 2000
    http://www.w3.org/TR/2000/CR-xptr-20000607
    so while the XPointer framework is supported including the xpointer
    scheme, the new XPointer element scheme is not (yet) supported. I may
    update my XPointer implementation when I'm sure there won't be
    any last minute change again
  - Unparsed Entities and Notations handling are minimalist, the included
    document usually don't keep any Unparsed Entities (needed for XPath
    support) and I do not provide back the Notations information item
    (refrigerator like compliance term)

I have got a reasonable amount of testing and I know that XInclude is
used for production work for DocBook documentation processing, especially:
  - splitting document in multiple pieces which can be validated
    independantly
  - to incorporate textual file like examples of source code in the
    documentation
I have got reports of the use of XPointer expressions to select a subset of
nodes for inclusion based on #xpointer(XPath-expression). People use either
"xmllint --xinclude" to generate the full document or "xsltproc --xinclude"
to run the XSLT transformation on the full document. In that last case an
interesting point was that document loaded with the document() function should
also get the XInclude process.

Daniel

-- 
Daniel Veillard      | Red Hat Network http://redhat.com/products/network/
veillard@redhat.com  | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/

Received on Thursday, 5 December 2002 07:35:50 UTC