XSLT: Difference between revisions

The educational technology and digital learning wiki
Jump to navigation Jump to search
Line 40: Line 40:
* See also: [http://www.w3.org/TR/xml-stylesheet Associating stylesheets with XML documents] (W3C proposed recommendation)
* See also: [http://www.w3.org/TR/xml-stylesheet Associating stylesheets with XML documents] (W3C proposed recommendation)
* See also: [http://www.w3.org/TR/xpath XML Path Language (XPath)] W3C Recommendation (9/99, used to identify nodes in a XML tree, e.g. within XSLT or Xptr)
* See also: [http://www.w3.org/TR/xpath XML Path Language (XPath)] W3C Recommendation (9/99, used to identify nodes in a XML tree, e.g. within XSLT or Xptr)
* [http://xmlfr.org/w3c/TR/xpath Langage XML Path (XPath)] (traduction fran�aise)
* [http://xmlfr.org/w3c/TR/xpath Langage XML Path (XPath)] (traduction française)
* [http://www.w3.org/TR/xpath20/ Xpath 2.0] is used both by XSLT 2.0 and XQuery. [xquery-pointers.html XQuery] is an extension of XPath 2.0 and both XSLT 2.0 and XQuery 2.0 share the same data model. (these are working drafts in nov 2004).
* [http://www.w3.org/TR/xpath20/ Xpath 2.0] is used both by XSLT 2.0 and XQuery.  
* [http://www.w3.org/TR/xquery-operators/ XQuery 1.0 and XPath 2.0 Functions and Operators]This is the specification for functions used both by XQuery 1 and XPath 2.0 (XSLT 2). This still missed a lot, e.g. trigonometric functions that are a must for any kind of visualization. See [http://www.exslt.org/ EXSLT extensions].
* [[XQuery]] is an XML Query language (built on top of XPath 2.0. Both XSLT 2.0 and XQuery 2.0 share the same data model).
* [http://www.w3.org/TR/xquery-operators/ XQuery 1.0 and XPath 2.0 Functions and Operators]. This is the specification for functions used both by XQuery 1 and XPath 2.0 (XSLT 2). This still misses a lot, e.g. trigonometric functions that are a must for any kind of visualization. See [http://www.exslt.org/ EXSLT extensions].


=== FAQ's ===
=== FAQ's ===

Revision as of 15:06, 24 November 2007

Draft

Definition

“XSLT is designed to transform XML documents into other XML documents. The original document is not changed; rather, a new document is created based on the content of an existing one” (Wikipedia, retrieved 21:32, 30 May 2007 (MEST)).

“A transformation expressed in XSLT is called a stylesheet. A stylesheet contains a set of template rules. A template rule has two parts: a pattern which is matched against nodes in the source tree and a template which can be instantiated to form part of the result tree. This allows a stylesheet to be applicable to a wide class of documents that have similar source tree structures.” (XSL Transformations (XSLT), retrieved 21:32, 30 May 2007 (MEST))

“A transformation expressed in XSLT describes rules for transforming a source tree into a result tree. The transformation is achieved by associating patterns with templates. A pattern is matched against elements in the source tree. A template is instantiated to create part of the result tree. The result tree is separate from the source tree. The structure of the result tree can be completely different from the structure of the source tree. In constructing the result tree, elements from the source tree can be filtered and reordered, and arbitrary structure can be added.”(XSL Transformations (XSLT), retrieved 21:32, 30 May 2007 (MEST))

This page just provides a few links ....

Tutorial

See XSLT Tutorial - Basics

In education

Since some authoring environments favor some sort of XML-based datastructure, XSLT stylesheets can be used to "export" that data to some some delivery format (HTML, PDF, IMS Content Packaging, etc. An example would be the eLML framework.

Links

Manuals

Specifications, standards and official propaganda

Official Frameworks

FAQ's

NewsGroups and Mailing Lists

Tutorials

Introductory Tutorials

  • XSLT by example at Objects by Design (They also have good XML->HTML tutorials)
  • Walsh XSL Tutorial Good tutorial, but slide style. Also useful as on-line XSL reference !

XSL Templates and tricks

XSLFO Tutorials

(should be moved)

  • XSL-FO (very good on-line BOOK)
  • FOP Slide Kit. Technical article from Paul Sandoz (SUN) about slides with FOP

3.1 PHP's XSLT processor

Software

XSLT/FO Processors

  • SAXON The SAXON package is a collection of tools for processing XML documents, e.g. an XSL (XSLT and XPath).
    INSTALLED at Tecfa: [password protected local documentation]. Saxon has extension features that others (Xalan) have not.
  • Gnome LibXML2 and it's associated XSLT C library. Used in PHP 5.0. There also command line tools for batch use, including xsltproc that also does XInclude. Installed @ Tecfa
  • tkxsltproc is a GUI frontend for the Gnome libxslt packages (see above). MacOSX, Win, Linux [9/2004]
  • Sablotron Sablotron is a fast, compact and portable XML toolkit implementing XSLT 1.0, DOM Level2 and XPath 1.0. Has some extensions, e.g. multiple output files. This is also the library used in PHP 4.x
  • Apache / Xalan-J is a Java-based XSLT 1.0 processor. Works with Xerces-Java (XML parser). Both are also distributed with other Apache products, like FOP. (installed @ Tecfa)
  • Apache / FOP is the world's first print formatter driven by XSL formatting objects. It is a Java application that reads a formatting object tree and then turns it into a PDF document. Installed @ Tecfa.
  • xmlroff. Sun sponsored xsl formatter for productin PDF and PS (2/2003). Early Beta, [not tested yet].

XSLT Libraries

Editors and Plugins