You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ch01s02.html 4.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <html><head>
  2. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  3. <title>A brief introduction to XSL</title><link rel="stylesheet" href="reference.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V2"><link rel="home" href="index.html" title="DocBook XSL Stylesheet Documentation"><link rel="up" href="publishing.html" title="Chapter 1. DocBook XSL"><link rel="previous" href="publishing.html" title="Chapter 1. DocBook XSL"><link rel="next" href="ch01s03.html" title="XSL processing model"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">A brief introduction to XSL</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="publishing.html">Prev</a>&nbsp;</td><th width="60%" align="center">Chapter 1. DocBook XSL</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch01s03.html">Next</a></td></tr></table><hr></div><div class="sect1"><a name="d0e168"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="d0e168"></a>A brief introduction to XSL</h2></div></div><p>XSL is both a transformation language and a
  4. formatting language. The XSLT transformation part lets you
  5. scan through a document's structure and rearrange its
  6. content any way you like. You can write out the content
  7. using a different set of XML tags, and generate text as
  8. needed. For example, you can scan through a document to
  9. locate all headings and then insert a generated table of
  10. contents at the beginning of the document, at the same time
  11. writing out the content marked up as HTML. XSL is also a
  12. rich formatting language, letting you apply typesetting
  13. controls to all components of your output. With a good
  14. formatting backend, it is capable of producing high quality
  15. printed pages.</p><p>An XSL stylesheet is written using XML syntax, and is
  16. itself a well-formed XML document. That makes the basic
  17. syntax familiar, and enables an XML processor to check for
  18. basic syntax errors. The stylesheet instructions use
  19. special element names, which typically begin with
  20. <tt>xsl:</tt> to distinguish them from any XML
  21. tags you want to appear in the output. The XSL namespace is
  22. identified at the top of the stylesheet file. As with other
  23. XML, any XSL elements that are not empty will require a
  24. closing tag. And some XSL elements have specific attributes
  25. that control their behavior. It helps to keep a good XSL
  26. reference book handy.</p><p>Here is an example of a simple XSL stylesheet applied
  27. to a simple XML file to generate HTML output.</p><div class="example"><p><a name="d0e180"></a><b>Example 1.1. Simple XML file</b></p><pre class="programlisting">&lt;?xml version="1.0"?&gt;
  28. &lt;document&gt;
  29. &lt;title&gt;Using a mouse&lt;/title&gt;
  30. &lt;para&gt;It's easy to use a mouse. Just roll it
  31. around and click the buttons.&lt;/para&gt;
  32. &lt;/document&gt;</pre></div><div class="example"><p><a name="d0e185"></a><b>Example 1.2. Simple XSL stylesheet</b></p><pre class="programlisting">&lt;?xml version='1.0'?&gt;
  33. &lt;xsl:stylesheet
  34. xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'&gt;
  35. &lt;xsl:output method="html"/&gt;
  36. &lt;xsl:template match="document"&gt;
  37. &lt;HTML&gt;&lt;HEAD&gt;&lt;TITLE&gt;
  38. &lt;xsl:value-of select="./title"/&gt;
  39. &lt;/TITLE&gt;
  40. &lt;/HEAD&gt;
  41. &lt;BODY&gt;
  42. &lt;xsl:apply-templates/&gt;
  43. &lt;/BODY&gt;
  44. &lt;/HTML&gt;
  45. &lt;/xsl:template&gt;
  46. &lt;xsl:template match="title"&gt;
  47. &lt;H1&gt;&lt;xsl:apply-templates/&gt;&lt;/H1&gt;
  48. &lt;/xsl:template&gt;
  49. &lt;xsl:template match="para"&gt;
  50. &lt;P&gt;&lt;xsl:apply-templates/&gt;&lt;/P&gt;
  51. &lt;/xsl:template&gt;
  52. &lt;/xsl:stylesheet&gt;
  53. </pre></div><div class="example"><p><a name="d0e190"></a><b>Example 1.3. HTML output</b></p><pre class="programlisting">&lt;HTML&gt;
  54. &lt;HEAD&gt;
  55. &lt;TITLE&gt;Using a mouse&lt;/TITLE&gt;
  56. &lt;/HEAD&gt;
  57. &lt;BODY&gt;
  58. &lt;H1&gt;Using a mouse&lt;/H1&gt;
  59. &lt;P&gt;It's easy to use a mouse. Just roll it
  60. around and click the buttons.&lt;/P&gt;
  61. &lt;/BODY&gt;
  62. &lt;/HTML&gt;
  63. </pre></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="publishing.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch01s03.html">Next</a></td></tr><tr><td width="40%" align="left">Chapter 1. DocBook XSL&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="publishing.html">Up</a></td><td width="40%" align="right">&nbsp;XSL processing model</td></tr></table></div></body></html>