From: Oleg T. <he...@us...> - 2004-11-01 17:19:31
|
Update of /cvsroot/mvp-xml/WebSite/xinclude In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4471/xinclude Added Files: index.html Log Message: Extended version... --- NEW FILE: index.html --- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Mvp.Xml project: XIncllude.NET module</title> <link href="../style.css" type="text/css" rel="stylesheet"> </head> <body> <h1>Mvp.Xml Project: XInclude.NET module (version 1.3)<br> </h1> The XInclude.NET module provides an implementation of the <a href="http://www.w3.org/TR/xinclude/">W3C XML Inclusions (XInclude)1.0 Proposed Recommendation</a> and the <a href="http://www.w3.org/TR/xptr-framework/">XPointer Framework Recommendation</a> written in C# for the .NET platform. XInclude.NET supports <a href="http://http//www.w3.org/TR/xptr-element/">XPointer element() Scheme</a>, <a href="http://www.w3.org/TR/xptr-xmlns/">XPointer xmlns() Scheme</a>, <a href="http://simonstl.com/ietf/draft-stlaurent-xpath-frag-00.html"> XPointer xpath1() Scheme</a> and <a href="http://simonstl.com/ietf/draft-stlaurent-xpath-frag-00.html"> XPointer xpointer() Scheme</a> (XPath subset only). XInclude.NET currently supports only streamable subset of the XInclude, implemented as fast, non-caching, forward-only <span style="font-family: monospace;">Mvp.Xml.XInclude.XIncludingReader</span> class. <p>XInclude.NET has been thoroughly tested against <!--StartFragment --><a href="http://www.w3.org/XML/Test/XInclude/">The XInclude Test Suite</a> under Microsoft .NET 1.0 and 1.1 on Windows 2000 and Windows Server 2003.</p> <h2>Requirements</h2> <p>XInclude.NET is .NET Framework application and requires <a href="http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?url=/MSDN-FILES/027/001/829/msdncompositedoc.xml&frame=true" target="_top"> .NET Framework</a> version 1.0 or 1.1 to be installed. </p> <h2>Installation and Documentation</h2> <p>Find precompiled <font style="font-family: monospace;" face="Courier New">Mvp.Xml.XInclude.dll</font> library in the "<font style="font-family: monospace;" face="Courier New">bin</font>" directiory. The "<font style="font-family: monospace;" face="Courier New">src</font>" directory contains XInclude.NET sources in Visual Studio <br> .NET 2003 solution form. The API documentation can be found in the "<span style="font-family: monospace;">doc</span>" directory (online version) (#TODO). Test cases can be found in the "<span style="font-family: monospace;">test</span>" directory.<br> In addition to the API documentation, refer to the "<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnxmlnet/html/xinclude.asp">Combining XML Documents with XInclude</a>" article at the MSDN and the normative specs:<br> </p> <ul> <li><a href="http://www.w3.org/TR/xinclude/">W3C XML Inclusions (XInclude)1.0</a></li> <li><a href="http://www.w3.org/TR/xptr-framework/">XPointer Framework Recommendation</a></li> <li><a href="http://http//www.w3.org/TR/xptr-element/">XPointer element() Scheme</a></li> <li><a href="http://www.w3.org/TR/xptr-xmlns/">XPointer xmlns() Scheme</a><span style="text-decoration: underline;"></span></li> <li><a href="http://simonstl.com/ietf/draft-stlaurent-xpath-frag-00.html">XPointer xpointer() Scheme</a></li> </ul> <p></p> <h2>History</h2> Done since 1.2 release:<br> <ul> <li>The new home - Mvp.Xml project and so the new namespace - Mvp.Xml.XInclude instead of GotDotNet.XInclude.<br> </li> <li>Upgraded to support the new XInclude Proposed Rec syntax and semantics.</li> <li>Added support for the xml:lang fixup.<br> </li> <li>Performance improvements - documents included via XPointer are now cached.</li> <li>Memory footprint is minimized.<br> </li> <li>A suite of unit tests has been added, including the W3C XInclude Test Suite.</li> <li>As a sequence - lots of bugs and incompatibilities has been fixed.<br> </li> </ul> Done since 1.1 release:<br> <ul> <li>Support for custom XmlResolver for resolving resources</li> </ul> Done since 1.0 release:<br> <ul> <li>Updated to support XInclude WD 10 November 2003 syntax</li> <li>Support for content negotiation via accept, accept-charset and <br> accept-language attributes</li> </ul> Done since 1.0beta release:<br> <ul> <li>Support for XPointer xpointer() schema (XPath subset only)</li> <li>Bug fixes</li> <li>Performance improvements</li> </ul> Done since 1.0alpha release:<br> <ul> <li>Support for XPointer framework, element(), xmlns() and xpath1() schemas</li> <li>Minor bug fixes</li> </ul> <h2>Usage</h2> <p><a href="../../../../temp/XInclude.NET-1.2/doc/GotDotNet.XInclude.XIncludingReader.html">XIncludingReader</a> class, found in the Mvp.Xml.XInclude namespace (#TODO), is the key class. It's customized <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemXmlXmlReaderClassTopic.asp"> XmlReader</a>, which implements streamable subset of the XInclude and XPointer in a fast, non-caching, forward-only fashion. It can be set on top of another XmlReader, e.g. <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemxmlxmlnodereaderclasstopic.asp"> XmlNodeReader</a>, <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemxmlxmltextreaderclasstopic.asp"> XmlTextReader</a> or <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemxmlxmlvalidatingreaderclasstopic.asp"> XmlValidatingReader</a>. Such design allows to perform XML Inclusions in many different situations, e.g. before or after validation, before or after building XmlDocument or XPathDocument. Here are some obvious usage scenarios:</p> <p>XML inclusion during reading XML:</p> <p><code></code></p> <pre>XmlReader reader = new XIncludingReader("source.xml");<br>while (reader.Read()) {<br> ... <br> </pre> <p>XML inclusion while building XmlDocument:</p> <p><code></code></p> <pre>XmlReader reader = new XIncludingReader(new XmlTextReader("source.xml"));<br>XmlDocument doc = new XmlDocument(); <br>doc.Load(reader);<br>... <br> </pre> <p>XML inclusion before an XSL Transformation:</p> <p><code></code></p> <pre>XslTransform xslt = new XslTransform();<br>xslt.Load("stylesheet.xsl");<br>XmlReader reader = new XIncludingReader("source.xml");<br>XPathDocument xdoc = new XPathDocument(reader);<br>xslt.Transform(xdoc, null, new StreamWriter("result.xml"));<br>...</pre> <p>Find more examples and test cases in the "<font style="font-family: monospace;" face="Courier New">test</font>" directory.</p> <h2>Custom XmlResolver</h2> <p><span style="font-family: monospace;">XIncludingReader</span> supports custom URI resolving. Just set your <span style="font-family: monospace;">XmlResolver</span> object to the <span style="font-family: monospace;">XmlResolver</span> property of the <span style="font-family: monospace;">XIncludingReader</span>. <span style="font-family: monospace;">XIncludingReader</span> will call <span style="font-family: monospace;">ResolveUri()</span> and <span style="font-family: monospace;">GetEntity()</span> methods of your resolver when fetching a resource by URI referenced in "<span style="font-family: monospace;">href</span>" attribute of an <span style="font-family: monospace;">xi:include</span> element. A custom <span style="font-family: monospace;">XmlResolver</span> must return either <span style="font-family: monospace;">System.IO.Stream</span> or <span style="font-family: monospace;">System.Xml.XmlReader</span> from the <span style="font-family: monospace;">GetEntity()</span> method.</p> <h2>XPointer</h2> <p>XInclude.NET implements<!--StartFragment --> <a href="http://www.w3.org/TR/xptr-framework/">XPointer Framework</a>,<!--StartFragment --> <a href="http://www.w3.org/TR/xptr-element/">XPointer element() Scheme</a>, <!--StartFragment --><a href="http://www.w3.org/TR/xptr-xmlns/">XPointer xmlns() Scheme</a>,<!--StartFragment --> <a href="http://www.simonstl.com/ietf/draft-stlaurent-xpath-frag-00.html">The XPointer xpath1() Scheme</a> and <a href="http://simonstl.com/ietf/draft-stlaurent-xpath-frag-00.html"> XPointer xpointer() Scheme</a> (XPath subset only). </p> <p><a href="../../../../temp/XInclude.NET-1.2/doc/GotDotNet.XPointer.XPointerReader.html">XPointerReader</a> class, found in <span style="text-decoration: underline;">Mvp.Xml.</span><a href="../../../../temp/XInclude.NET-1.2/doc/GotDotNet.XPointer.html">XPointer namespace</a> (#TODO) represents XPointer-aware XmlReader and can be used as such outside of XInclude context too.</p> <h2>Conformance Issues<br> </h2> <ol> <li>Only streamable subset of XInclude is supported - intra-document references are not supported.</li> <li>Syntactically incorrect URI references are treated as resource error.<br> </li> </ol> <h2>License</h2> <p>XInclude.NET as part of the Mvp.Xml project is subject to the <a href="../license.html">Common Public License</a> - <a href="http://www.opensource.org/licenses/index.php">OSI approved</a> free open-source license.<a href="http://gotdotnet.com/Community/Workspaces/License.aspx?id=cab253e8-cb4b-47c4-a9d9-6c42947b04a8"></a> It's distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.</p> <h2>Bug reports</h2> <p>Please feel free to report any bugs to the Mvp.Xml project's <a href="http://sourceforge.net/tracker/?group_id=102352&atid=633328"> Bug Tracker</a>. Feature requests are also <a href="http://sourceforge.net/tracker/?group_id=102352&atid=633331">welcome</a>.<br> </p> <h2>Feedback</h2> <p>We appreciate any kind of feedback, feel free to post any questions or comments about XInclude.NET and Mvp.Xml project in general in the <a href="https://lists.sourceforge.net/mailman/listinfo/mvp-xml-help">mvp-xml-help</a> mailing list <a href="http://sourceforge.net/mailarchive/forum.php?forum_id=">(archive)</a>. </p> <hr style="width: 100%; height: 2px;"> <p> The project is hosted at <a target="_blank" href="http://prdownloads.sourceforge.net/mvp-xml/Mvp.Xml.zip?download"> SourceForge</a>. Find more at the <a href="http://sourceforge.net/projects/mvp-xml">Mvp.Xml project page at SourceForge</a>.<br> <a href="http://sourceforge.net/" title="Link to SourceForge home page"><img src="http://sourceforge.net/sflogo.php?group_id=102352&type=1" alt="SourceForge logo" border="0"></a><br> <code>$Id: index.html,v 1.1 2004/11/01 17:19:18 helgy Exp $</code><br> </p> <p> </p> </body> </html> |