From: Michael Smith Date: Mon, 3 Jun 2002 19:26:58 +0000 (+0000) Subject: emphasize that xsltproc and Saxon are the only recommended XSLT engines X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c2d908e26b280efa7ce09cabc72ad094d8b43588;p=docbook-dsssl emphasize that xsltproc and Saxon are the only recommended XSLT engines --- diff --git a/xsl/docsrc/publishing.xml b/xsl/docsrc/publishing.xml index b5e24de94..bcb455ba1 100644 --- a/xsl/docsrc/publishing.xml +++ b/xsl/docsrc/publishing.xml @@ -1,55 +1,55 @@ - - -$Id$ - -Stayton -Bob -2000Bob Stayton - - -DocBook XSL - - - Using XSL tools to publish DocBook - documents - 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: - - - Extensible Stylesheet Language (XSL) - - 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. - - - - XSL Transformation (XSLT) - - 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. - - - - XML Path Language (XPath) - - 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. - - - -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. + + + $Id$ + + Stayton + Bob + 2000Bob Stayton + + + DocBook XSL + + + Using XSL tools to publish DocBook + documents + 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: + + + Extensible Stylesheet Language (XSL) + + 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. + + + + XSL Transformation (XSLT) + + 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. + + + + XML Path Language (XPath) + + 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. + + + + 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. XSLT engines @@ -64,50 +64,73 @@ $Id$ Which XSLT engine should I use? - Before reading anything else in this section, please take - a few seconds to read the following warning. + 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, xsltproc (the command line + processor packaged with libxslt, the XSLT + C library for Gnome), and Michael Kay's Java-based + implementation, Saxon. - - One engine you should definitely - not 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. - - + + XSLT engines not recommended for use with DocBook + The following engines are not currently recommended for + use with the DocBook XSL stylesheets: + + + 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. + + + + Xalan (both Java and C++ implementations) + + Bugs in current versions of Xalan prevent it + from being used reliably with the stylesheets. + + + + + 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, http://xmlsoft.org/XSLT/). 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 DocBook page that, among other things, includes a - shell script you can use to automatically generate XML catalogs - for DocBook.) But one current limitation xsltproc has is that - it doesn't yet support Norm Walsh's DocBook-specific XSLT - extension functions. + environment you'll be running the engine in. Many DocBook + users who need or want a non-Java application are using + xsltproc. 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 DocBook + page that, among other things, includes a shell + script you can use to automatically generate XML + catalogs for DocBook.) But one current limitation + xsltproc has is + that it doesn't yet support Norm Walsh's DocBook-specific + XSLT extension functions. - The current Java-based XSLT engine of choice for many - DocBook users seems to be Michael Kay's Saxon (http://saxon.sourceforge.net/). 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. + If you can use a Java-based implementation, choose Michael + Kay's Saxon. It + supports Norm Walsh's DocBook-specific XSLT extension + functions. 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 + xsltproc and + Saxon are + currently the only recommended XSLT engines for use with + DocBook). xsltproc, written in C, from Daniel Veillard (http://saxon.sourceforge.net/) + 4XSLT, written in Python, from FourThought LLC - (http://www.fourthought.com) + (http://www.fourthought.com) Sablotron, written in C++, from Ginger Alliance - (http://www.gingerall.com) + (http://www.gingerall.com) XML::XSLT,written in Perl, from Geert Josten and Egon Willighagen (http://www.cpan.org) + >http://www.cpan.org) @@ -148,36 +174,38 @@ $Id$ specification, are still very useful: PassiveTeX (TeX-based) from Sebastian - Rahtz (http://www.hcu.ox.ac.uk/TEI/Software/passivetex/) FOP (Java-based) from the Apache XML Project - (http://xml.apache.org/fop/) Of those, PassiveTeX currently seems to be the more mature, less buggy implementation. + 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: - Epic Editor 4.2 (includes support for processing - formatting object files) from Arbortext () + current versions of Arbortext Epic + Editor include integrated support for + processing formatting object files - XEP (written in Java) from RenderX (http://www.renderx.com). + RenderX + XEP (written in Java) is a standalone tool + for processing formatting object files - + How do I use an XSLT engine? @@ -242,6 +270,7 @@ java org.apache.fop.apps.CommandLine output.fo + A brief introduction to XSL XSL is both a transformation language and a @@ -1151,4 +1180,4 @@ elements that haven't got a lang setting of their own (or their ancestors). - + \ No newline at end of file