93 | | == 参考文献 == |
| 93 | == 標準のXSLスタイルシートを利用してカスタムスタイルシートを作成する == |
| 94 | |
| 95 | Vine-manualでは、以下のXSLスタイルシートを custom.xslとして利用しています。 |
| 96 | |
| 97 | {{{ |
| 98 | #!text/xsl |
| 99 | <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'> |
| 100 | |
| 101 | <xsl:import href="/usr/share/sgml/docbook/xsl-stylesheets/xhtml/chunk.xsl"/> |
| 102 | <xsl:param name="html.stylesheet">vine.css</xsl:param> |
| 103 | |
| 104 | <xsl:param name="toc.section.depth">1</xsl:param> |
| 105 | <xsl:param name="section.autolabel">1</xsl:param> |
| 106 | <xsl:param name="section.label.includes.component.label">1</xsl:param> |
| 107 | <xsl:param name="use.id.as.filename">1</xsl:param> |
| 108 | <xsl:param name="admon.graphics">1</xsl:param> |
| 109 | <xsl:param name="callout.graphics">1</xsl:param> |
| 110 | <xsl:param name="callout.unicode">0</xsl:param> |
| 111 | <xsl:param name="root.filename" /> |
| 112 | |
| 113 | <xsl:template match="question" mode="label.markup"> |
| 114 | <xsl:text>Q</xsl:text> |
| 115 | <xsl:number level="multiple" count="qandaentry" format="1"/> |
| 116 | </xsl:template> |
| 117 | <xsl:template match="answer" mode="label.markup"> |
| 118 | <xsl:text>A</xsl:text> |
| 119 | <xsl:number level="multiple" count="qandaentry" format="1"/> |
| 120 | </xsl:template> |
| 121 | </xsl:stylesheet> |
| 122 | }}} |
| 123 | |
| 124 | XSLスタイルシートは、ゼロから作成することも可能ですが、標準のスタイルシートはよくできていますのでそれを利用した方がいいでしょう。 |
| 125 | |
| 126 | この例では、標準のスタイルシートを編集せずに3行目の '''xsl:import''' で /usr/share/sgml/docbook/xsl-stylesheets/xhtml/chunk.xsl をインポートしています。 |
| 127 | |
| 128 | また、'''xsl:param'''を利用してスタイルシートパラメータをいくつか指定しています。例えば、'''use.id.as.filename''' を '''1''' に設定すると id属性を利用して出力ファイル名を決定する事ができます。 |
| 129 | |
| 130 | custom.xslの後半では、xsl:template を利用して Q&A セットの出力方法をカスタマイズしています。これは、[#Bibliography]で紹介する[http://www.sagehill.net/docbookxsl/index.html DocBook XSL: The Complete Guide]の[http://www.sagehill.net/docbookxsl/QandASetsHTML.html Chapter 28. Q and A sets]から拝借しました。 |
| 131 | |
| 132 | == 参考文献 == #Bibliography |