From: Oleg T. <he...@us...> - 2005-11-27 20:17:31
|
Update of /cvsroot/mvp-xml/WebSite/exslt In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13653/exslt Modified Files: index.html Log Message: Index: index.html =================================================================== RCS file: /cvsroot/mvp-xml/WebSite/exslt/index.html,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- index.html 26 Nov 2005 22:03:49 -0000 1.3 +++ index.html 27 Nov 2005 20:17:20 -0000 1.4 @@ -8,8 +8,8 @@ <h1><a class="mozTocH1" name="mozTocId507464"></a><a href="../index.html">Mvp.Xml Project</a>: EXSLT.NET module </h1> -<p>EXSLT.NET library is community-developed implementation of the <a - href="http://exslt.org"> EXSLT</a> extensions to XSLT for the .NET +<p>EXSLT.NET is a community-developed implementation of the <a + href="http://exslt.org"> EXSLT</a> extensions to the XSLT 1.0 for the .NET platform. EXSLT.NET fully implements the following EXSLT modules: <a href="http://exslt.org/date/index.html">Dates and Times</a>, <a href="http://exslt.org/exsl/index.html">Common</a>, <a @@ -18,24 +18,11 @@ href="http://exslt.org/regexp/index.html"> Regular Expressions</a>, <a href="http://exslt.org/set/index.html">Sets</a> and <a href="http://exslt.org/str/index.html">Strings</a>. In addition -EXSLT.NET library provides proprietary set of useful extension +EXSLT.NET provides a proprietary set of useful extension functions. See full list of supported extension functions and elements in "<a href="#funclist">Extension Functions and Elements</a>" section. For more info about EXSLT and EXSLT.NET see <a href="#refs">References</a>. </p> -<h2>Contents</h2> -<ol> - <li> <a href="#new">What's New In This Version</a> </li> - <li> <a href="#install">Installation</a> </li> - <li> <a href="#build">Building</a> </li> - <li> <a href="#usage">Usage</a> </li> - <li> <a href="#funclist">Extension Functions and Elements</a> - </li> - <li> <a href="#multiout">Multiple Output</a> </li> - <li> <a href="#credits">License</a></li> - <li><a href="#bugs">Support</a></li> - <li> <a href="#refs">References</a></li> -</ol> <h2>1<a name="new">. What's New In This Version</a></h2> <p> Version 2.0 is the first EXSLT.NET release for the .NET 2.0 Framework. What's new @@ -43,47 +30,26 @@ <ul> <li>EXSLT.NET now works with new .NET 2.0 XSLT processor - <a href="http://www.google.com/url?sa=U&start=1&q=http://msdn2.microsoft.com/library/ms163414(en-us,vs.80).aspx&e=9797"> XslCompiledTransform</a> class</li> + <li>ExsltTransform class has been deprecated, please use <a href="http://mvp-xml.sourceforge.net/api/2.0/T_Mvp_Xml_Common_Xsl_MvpXslTransform.html"> + MvpXslTransform</a> instead</li> + <li>Support for fractional seconds in EXSLT Dates and Times functions</li> <li>Performance improvements</li> </ul> -<h2>2<a name="install">. Installation</a></h2> -<p>EXSLT.NET is designed as a component for .NET Framework and actually -doesn't require any installation. You can use <font face="Courier New">Mvp.Xml.dll</font> -assembly as is in your application by referencing it in Visual Studio -.NET.</p> -<h2>3<a name="build">. Building</a></h2> -<p>EXSLT.NET source distribution contains Visual Studio -solution, consisting of four projects: <font face="Courier New">Exslt</font>, -which is the core EXSLT.NET implementation, <font face="Courier New">ExsltTest</font> -- a collection of NUnit tests for each EXSLT.NET function along with -primitive command line utility for testing EXSLT.NET in XSLT, <font - face="Courier New">ExsltXPathTest</font> - primitive command line -utility for testing EXSLT.NET in XPath-only environment, and <font - face="Courier New">MethodRenamer</font> - auxiliary command line -utility for EXSLT.NET assembly building.</p> -<p>All the projects can be build in Visual Studio .NET. Note, that -due to implementation details we are using custom script hooked to -Visual Studio .NET post-build event. In this script, which you can find -in <font face="Courier New">Exslt</font> project properties, we -disassemble <font face="Courier New">Mvp.Xml</font> <font - face="Courier New"> .Exslt.dll</font> assembly, rename methods (e.g. -from <font face="Courier New">dateTime()</font> to <font - face="Courier New">date-time()</font>) and assemble it back.</p> -<h2>4<a name="usage">. Usage</a></h2> +<h2>2<a name="usage">. Usage</a></h2> <p>Typically you are using EXSLT.NET module in your application -via <code><font face="Courier New"> Mvp.Xml</font>.Exslt.ExsltTransform</code> -class, which encapsulates EXSLT implementation under the guise of -standard <code>XslCompiledTransform</code> class (<code>ExsltTransform</code> -class completely duplicates <code>XslCompiledTransform</code> API from -.NET 2.0 - you are familiar with). So the rules of the <code>ExsltTransform</code> -usage are simple: just use it instead of standard <code>XslTransform</code> -class:</p> -<pre class="code">using System;<br>using System.Xml.XPath;<br>using <font - face="Courier New">Mvp.Xml</font>.Exslt;<br><br>public class ExsltTest <br>{<br> public static void Main() <br> { <br> ExsltTransform xslt = new ExsltTransform(); <br> xslt.Load("foo.xsl"); <br> xslt.Transform("foo.xml", "result.html"); <br> } <br>}<br></pre> +via <code><a href="http://mvp-xml.sourceforge.net/api/2.0/T_Mvp_Xml_Common_Xsl_MvpXslTransform.html"> + <font face="Courier New"> Mvp.Xml</font>.Common.Xsl.MvpXslTransform</a></code> +class, which encapsulates EXSLT implementation:</p> +<pre class="code"> +using System;<br>using System.Xml.XPath;<br>using <font + face="Courier New">Mvp.Xml</font>.Common.Xsl;<br><br>public class ExsltTest <br>{<br> public static void Main() <br> { <br> MvpXslTransform xslt = new MvpXslTransform(); <br> xslt.Load("foo.xsl"); <br> xslt.Transform(new XmlInput("foo.xml"), new XmlOutput("result.html")); <br> } <br>}<br></pre> <p> </p> -<p>Additionally <code>ExsltTransform</code> class has two properties - -<font face="Courier New"> SupportedFunctions</font> and <font - face="Courier New">MultiOutput</font>, which allow you to control +<p>Additionally <code><a href="http://mvp-xml.sourceforge.net/api/2.0/T_Mvp_Xml_Common_Xsl_MvpXslTransform.html"> + MvpXslTransform</a></code> class has two properties - +<font face="Courier New"> <a href="http://mvp-xml.sourceforge.net/api/2.0/P_Mvp_Xml_Common_Xsl_MvpXslTransform_SupportedFunctions.html"> + SupportedFunctions</a></font> and <font + face="Courier New"><a href="http://mvp-xml.sourceforge.net/api/2.0/P_Mvp_Xml_Common_Xsl_MvpXslTransform_MultiOutput.html"> + MultiOutput</a></font>, which allow you to control which features should be supported, for instance you can define that you need all extension function modules, but not multiple output support (the default settings) by setting <font @@ -98,13 +64,12 @@ Practical Solutions with EXSLT.NET</a>" article at <a href="http://msdn.com/xml"> MSDN XML Developer Center</a>.</p> <p>It's also possible to use EXSLT.NET in XPath-only environment. For -doing that one makes use of <font face="Courier New">Mvp.Xml</font> -<code>.Exslt.ExsltContext</code> class:</p> +doing that one makes use of <a href="http://mvp-xml.sourceforge.net/api/2.0/T_Mvp_Xml_Exslt_ExsltContext.html"><font face="Courier New">Mvp.Xml</font><code>.Exslt.ExsltContext</code></a> class:</p> <pre>XPathExpression expr = nav.Compile("set:distinct(//author)");<br>expr.SetContext(new ExsltContext(doc.NameTable));<br>XPathNodeIterator authors = nav.Select(expr);<br>while (authors.MoveNext())<br> Console.WriteLine(authors.Current.Value);<br></pre> <p>See "<a href="http://http://msdn.microsoft.com/library/en-us/dnexxml/html/xml11172003.asp">EXSLT Meets XPath</a>" article for more information.</p> -<h2>5<a name="funclist">. Extension</a> Functions and Elements</h2> +<h2>3<a name="funclist">. Extension</a> Functions and Elements</h2> <p>You can find full list of extension functions EXSLT.NET supports in <font face="Courier New"> doc\Functions.xml</font> document. <a href="Functions.htm">Here is</a> HTML version.</p> @@ -119,12 +84,12 @@ href="http://exslt.org/exsl/elements/document/index.html"> exsl:document</a> element. See "<a href="#multiout">Multiple Output</a>" section for more info.</p> -<h2>6<a name="multiout">. Multiple Output</a></h2> +<h2>4<a name="multiout">. Multiple Output</a></h2> <p>EXSLT.NET partially supports <a href="http://exslt.org/exsl/elements/document/index.html"> <font face="Courier New">exsl:document</font></a> extension element. Not all <font face="Courier New">exsl:document</font> attributes and their -values are supported in this version of teh EXSLT.NET. The +values are supported in this version of the EXSLT.NET. The supported subset of attributes and values is as follows:</p> <pre><exsl:document <br> <b>href</b> = { <i>uri-reference</i> } <br> method = { "xml" | "text" } <br> encoding = { <i>string</i> } <br> omit-xml-declaration = { "yes" | "no" }<br> standalone = { "yes" | "no" } <br> doctype-public = { <i>string</i> } <br> doctype-system = { <i>string</i> } <br> indent = { "yes" | "no" } > <br> <-- Content: template --> <br></exsl:document></pre> <p><a href="http://exslt.org/exsl/elements/document/index.html"><font @@ -167,11 +132,8 @@ <p>For more info about how it's implemented see <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnexxml/html/xml06162003.asp"> "Producing Multiple Outputs from an XSL Transformation"</a> article.</p> -<h2>7<a name="credits">. License</a></h2> -<p>EXSLT.NET as part of the <a href="http://mvp-xml.sf.net/">Mvp.Xml project</a> is subject to the <a href="../license.html">GPL License</a> - <a href="http://www.opensource.org/licenses/index.php"> -OSI approved</a> free open-source license. <br> -</p> -<h2><a class="mozTocH2" name="bugs"></a>8. Support</h2> +<h2> + 5. Support</h2> <p> You can get support on using XInclude.NET module using the following options:</p> <ul> @@ -187,7 +149,7 @@ welcome</a>.</li> </ul> <h2> - 9<a name="refs">. References</a></h2> + 6<a name="refs">. References</a></h2> <ol> <li><!--StartFragment --> EXSLT community initiative - <a href="http://www.exslt.org/"> http://www.exslt.org</a>. </li> |