]> granicus.if.org Git - docbook-dsssl/commitdiff
emphasize that xsltproc and Saxon are the only recommended XSLT engines
authorMichael Smith <xmldoc@users.sourceforge.net>
Mon, 3 Jun 2002 19:26:58 +0000 (19:26 +0000)
committerMichael Smith <xmldoc@users.sourceforge.net>
Mon, 3 Jun 2002 19:26:58 +0000 (19:26 +0000)
xsl/docsrc/publishing.xml

index b5e24de948d0592144e2fad4d2772a17ab66b18c..bcb455ba1f455c5a96f235ec13156101cb530c92 100644 (file)
@@ -1,55 +1,55 @@
 <chapter>
-<chapterinfo>
-<releaseinfo role="meta">
-$Id$
-</releaseinfo>
-<author><surname>Stayton</surname>
-<firstname>Bob</firstname></author>
-<copyright><year>2000</year><holder>Bob Stayton</holder>
-</copyright>
-</chapterinfo>
-<title>DocBook XSL</title>
-<?dbhtml filename="publishing.html"?>
- <sect1>
-  <title>Using XSL tools to publish DocBook
-   documents</title>
-  <para>There is a growing list of tools to process DocBook
-   documents using XSL stylesheets. Each tool implements parts
-   or all of the XSL standard, which actually has several
-   components:
-   <variablelist>
-    <varlistentry>
-     <term>Extensible Stylesheet Language (XSL)</term>
-     <listitem>
-      <para>A language for expressing stylesheets written
-       in XML. It includes the formatting object language, but
-       refers to separate documents for the transformation
-       language and the path language.</para>
-  </listitem>
-  </varlistentry>
-  <varlistentry>
-   <term>XSL Transformation (XSLT)</term>
-   <listitem>
-    <para>The part of XSL for transforming XML documents
-       into other XML documents, HTML, or text. It can be used to
-       rearrange the content and generate new content.</para>
-  </listitem>
- </varlistentry>
- <varlistentry>
-  <term>XML Path Language (XPath)</term>
-  <listitem>
-   <para>A language for addressing parts of an XML
-       document. It is used to find the parts of your document to
-       apply different styles to. All XSL processors use this
-       component.</para>
- </listitem>
-</varlistentry>
-</variablelist></para>
-<para>To publish HTML from your XML documents, you just
-   need an XSLT engine. To get to print, you need an XSLT
-   engine to produce formatting objects (FO), which then must
-   be processed with an FO engine to produce
-   PostScript or PDF output.</para>
+  <chapterinfo>
+    <releaseinfo role="meta">
+      $Id$
+    </releaseinfo>
+    <author><surname>Stayton</surname>
+      <firstname>Bob</firstname></author>
+    <copyright><year>2000</year><holder>Bob Stayton</holder>
+    </copyright>
+  </chapterinfo>
+  <title>DocBook XSL</title>
+  <?dbhtml filename="publishing.html"?>
 <sect1>
+    <title>Using XSL tools to publish DocBook
+      documents</title>
+    <para>There is a growing list of tools to process DocBook
+      documents using XSL stylesheets. Each tool implements parts
+      or all of the XSL standard, which actually has several
+      components:
+      <variablelist>
+        <varlistentry>
+          <term>Extensible Stylesheet Language (XSL)</term>
+          <listitem>
+            <para>A language for expressing stylesheets written
+              in XML. It includes the formatting object language, but
+              refers to separate documents for the transformation
+              language and the path language.</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>XSL Transformation (XSLT)</term>
+          <listitem>
+            <para>The part of XSL for transforming XML documents
+              into other XML documents, HTML, or text. It can be used to
+              rearrange the content and generate new content.</para>
+          </listitem>
       </varlistentry>
       <varlistentry>
+          <term>XML Path Language (XPath)</term>
+          <listitem>
+            <para>A language for addressing parts of an XML
+              document. It is used to find the parts of your document to
+              apply different styles to. All XSL processors use this
+              component.</para>
         </listitem>
+        </varlistentry>
+      </variablelist></para>
+    <para>To publish HTML from your XML documents, you just
+      need an XSLT engine. To get to print, you need an XSLT
+      engine to produce formatting objects (FO), which then must
+      be processed with an FO engine to produce
+      PostScript or PDF output.</para>
     <sect2>
       <title>XSLT engines</title>
 
@@ -64,50 +64,73 @@ $Id$
       <sect3>
         <title>Which XSLT engine should I use?</title>
 
-      <para>Before reading anything else in this section, please take
-      a few seconds to read the following warning.</para>
+        <para>Currently, the only XSLT engines that are recommended and
+          known to work well with the DocBook XSL stylesheets are
+          Daniel Veillard's C-based implementation, <application
+            class="software" >xsltproc</application> (the command line
+          processor packaged with <ulink
+            url="http://xmlsoft.org/XSLT/" >libxslt</ulink>, the XSLT
+          C library for Gnome), and Michael Kay's Java-based
+          implementation, <application class="software" ><ulink
+              url="http://saxon.sourceforge.net/"
+              >Saxon</ulink></application>.</para>
 
-      <warning>
-        <simpara>One engine you should definitely
-        <emphasis>not</emphasis> use is James Clark's XT. XT is an
-        incomplete implementation of the XSLT 1.0 specification. One
-        of the important things that's missing from it is support for
-        XSLT "keys", which the DocBook XSLT stylesheets rely on for
-        generating indexes, among other things. So you can't use XT
-        reliably with current versions of the stylesheets.
-        </simpara>
-      </warning>
+        <warning>
+          <title>XSLT engines not recommended for use with DocBook</title>
+          <para>The following engines are not currently recommended for
+            use with the DocBook XSL stylesheets:
+            <variablelist>
+              <varlistentry>
+                <term>James Clark's XT</term>
+                <listitem>
+                  <para>XT is an incomplete implementation
+                    of the XSLT 1.0 specification. One of the important things
+                    that's missing from it is support for XSLT "keys", which
+                    the DocBook XSLT stylesheets rely on for generating
+                    indexes, among other things. So you can't use XT reliably
+                    with current versions of the stylesheets.</para>
+                </listitem>
+              </varlistentry>
+              <varlistentry>
+                <term>Xalan (both Java and C++ implementations)</term>
+                <listitem>
+                  <para>Bugs in current versions of Xalan prevent it
+                    from being used reliably with the stylesheets.</para>
+                </listitem>
+              </varlistentry>
+            </variablelist>
+          </para>
+        </warning>
 
         <para>Your choice of an XSLT engine may depend a lot on the
-         environment you'll be running the engine in. Many DocBook
-         users who need or want to use a non-Java application are using
-         Daniel Veillard's C-based implementation, xsltproc (the
-         command line processor packaged with libxslt, the XSLT C
-         library for Gnome, <ulink url="http://xmlsoft.org/XSLT/"
-           >http://xmlsoft.org/XSLT/</ulink>). It's very fast, and also a
-         good choice because Veillard monitors the DocBook mailing
-         lists to field usage and troubleshooting questions and
-         responds very quickly to bug reports. (And the libxslt site
-         features a <ulink url="http://xmlsoft.org/XSLT/docbook.html"
-           >DocBook page</ulink> that, among other things, includes a
-         shell script you can use to automatically generate <ulink
-           url="http://xmlsoft.org/catalog.html" >XML catalogs</ulink>
-         for DocBook.) But one current limitation xsltproc has is that
-         it doesn't yet support Norm Walsh's DocBook-specific XSLT
-         extension functions.</para>
+          environment you'll be running the engine in. Many DocBook
+          users who need or want a non-Java application are using
+          <application class="software" >xsltproc</application>. It's
+          very fast, and also a good choice because Veillard monitors
+          the DocBook mailing lists to field usage and troubleshooting
+          questions and responds very quickly to bug reports. (And the
+          libxslt site features a <ulink
+            url="http://xmlsoft.org/XSLT/docbook.html" >DocBook
+            page</ulink> that, among other things, includes a shell
+          script you can use to automatically generate <ulink
+            url="http://xmlsoft.org/catalog.html" >XML
+            catalogs</ulink> for DocBook.) But one current limitation
+          <application class="software" >xsltproc</application> has is
+          that it doesn't yet support Norm Walsh's DocBook-specific
+          XSLT extension functions.</para>
 
-      <para>The current Java-based XSLT engine of choice for many
-      DocBook users seems to be Michael Kay's Saxon (<ulink
-      url="http://saxon.sourceforge.net/"
-      >http://saxon.sourceforge.net/</ulink>). It supports Norm
-      Walsh's DocBook-specific XSLT extension functions, and among the
-      Java-based engines, seems to generate the fewest bug reports to
-      the DocBook mailing lists.</para>
+        <para>If you can use a Java-based implementation, choose Michael
+          Kay's <application class="software">Saxon</application>. It
+          supports Norm Walsh's DocBook-specific XSLT extension
+          functions.</para>
 
         <para>A variety of XSLT engines are available. Not all of them
           are used much in the DocBook community, but here's a list of
-          some free/open-source ones you might want to try (including
-          the two previously mentioned).
+          some free/open-source ones you might consider (though
+          <application class="software" >xsltproc</application> and
+          <application class="software" >Saxon</application> are
+          currently the only recommended XSLT engines for use with
+          DocBook).
           <itemizedlist>
             <listitem>
               <para>xsltproc, written in C, from Daniel Veillard (<ulink
@@ -119,25 +142,28 @@ $Id$
                   url="http://saxon.sourceforge.net/"
                   >http://saxon.sourceforge.net/</ulink>)</para>
             </listitem>
+<!-- commented out because current Xalan versions don't work with DocBook
             <listitem>
-              <para>Xalan, written in Java, from the Apache XML
-                Project (<ulink url="http://xml.apache.org"
-                >http://xml.apache.org</ulink>)</para>
-            </listitem>
+            <para>Xalan, available in both C++ and Java
+            implementations, from the Apache XML Project (<ulink
+            url="http://xml.apache.org"
+            >http://xml.apache.org</ulink>)</para>
+          </listitem>
+<!-->
             <listitem>
               <para>4XSLT, written in Python, from FourThought LLC
-              (<ulink url="http://www.fourthought.com"
-              >http://www.fourthought.com</ulink>)</para>
+                (<ulink url="http://www.fourthought.com"
+                  >http://www.fourthought.com</ulink>)</para>
             </listitem>
             <listitem>
               <para>Sablotron, written in C++, from Ginger Alliance
-              (<ulink url="http://www.gingerall.com"
-              >http://www.gingerall.com</ulink>)</para>
+                (<ulink url="http://www.gingerall.com"
+                  >http://www.gingerall.com</ulink>)</para>
             </listitem>
             <listitem>
               <para>XML::XSLT,written in Perl, from Geert Josten and
                 Egon Willighagen (<ulink url="http://www.cpan.org"
-                >http://www.cpan.org</ulink>)</para>
+                  >http://www.cpan.org</ulink>)</para>
             </listitem>
           </itemizedlist>
         </para>
@@ -148,36 +174,38 @@ $Id$
           specification, are still very useful:
           <itemizedlist>
             <listitem><para>PassiveTeX (TeX-based) from Sebastian
-                  Rahtz (<ulink
+                Rahtz (<ulink
                   url="http://www.hcu.ox.ac.uk/TEI/Software/passivetex/"
                   >http://www.hcu.ox.ac.uk/TEI/Software/passivetex/</ulink>)</para>
             </listitem>
             <listitem>
               <para>FOP (Java-based) from the Apache XML Project
-                  (<ulink url="http://xml.apache.org/fop/"
+                (<ulink url="http://xml.apache.org/fop/"
                   >http://xml.apache.org/fop/</ulink>)</para>
             </listitem>
           </itemizedlist>
           Of those, PassiveTeX currently seems to be the more mature,
           less buggy implementation.
         </para>
+
         <para>And there are two proprietary commercial products that
-        both seem to be fairly mature, complete implementations of the
-        FO part of the XSL specification:
+          both seem to be fairly mature, complete implementations of the
+          FO part of the XSL specification:
           <itemizedlist>
             <listitem>
-              <para>Epic Editor 4.2 (includes support for processing
-                formatting object files) from Arbortext (<ulink
-                  url="http://www.arbortext.com"></ulink>)</para>
+              <para>current versions of <ulink
+                  url="http://www.arbortext.com" >Arbortext Epic
+                  Editor</ulink> include integrated support for
+                processing formatting object files</para>
             </listitem>
             <listitem>
-              <para>XEP (written in Java) from RenderX (<ulink
-                  url="http://www.renderx.com"
-                  >http://www.renderx.com</ulink>).</para>
+              <para><ulink url="http://www.renderx.com" >RenderX
+                  XEP</ulink> (written in Java) is a standalone tool
+                for processing formatting object files</para>
             </listitem>
           </itemizedlist>
         </para>
-      
+        
       </sect3>
       <sect3>
         <title>How do I use an XSLT engine?</title>
@@ -242,6 +270,7 @@ java  org.apache.fop.apps.CommandLine <replaceable>output.fo</replaceable> <repl
 </sect2>
 
 </sect1>
+
 <sect1>
 <title>A brief introduction to XSL</title>
 <para>XSL is both a transformation language and a
@@ -1151,4 +1180,4 @@ elements that haven't got a <literal>lang</literal> setting
 of their own (or their ancestors).</para>
 </sect2>
 </sect1>
-</chapter>
+</chapter>
\ No newline at end of file