I stumbled across the Mvp.XML project,
not surprisingly written by Microsoft MVPs :) Some of the features of the project
are:
-
An implementation of the W3C XInclude specification (currently
a recommendation). XInclude allows one to combine multiple XML (or text/html
etc.) documents during processing using a linking syntax. The following
article gives a pretty good description of why one would use it: http://www.xml.com/pub/a/2002/07/31/xinclude.html.
Here's the gist of the article:
-
You can include XML in a document using entities, like the text below, but then it
must be an XML fragment and not a proper XML document. Furthermore you can't
include non-XML content such as plain text.
<!DOCTYPE book SYSTEM "book.dtd" [
<!ENTITY chapter1 SYSTEM "malapropisms.xml">
]>
-
If any of the XML references in the declaration above are missing then the document
is malformed. This is not the case with XInclude.
-
To use XInclude the following markup could be included in the body of the document:
<book xmlns:xi="http://www.w3.org/2001/XInclude">
<xi:include href="http://www.whitehouse.gov/malapropisms.xml"/>
</book>
-
To include unparsed text, the syntax would be as follows:
<code>
<xi:include parse="text" href="examples/SpellChecker.java" />
</code>
-
You can specify a fallback if the link is not loaded
-
XPointer is included - While XLink
allows you to include an entire document, XPointer allows you to make a reference
to a section of the document. For more read http://www-128.ibm.com/developerworks/xml/library/x-tipxpt/.
-
It includes several miscellaneous enhancements in a common module.