2013年3月8日金曜日

[DocBook]HTML ヘッダに CSS 追加

XSLT Proessor に渡す XSL ファイルを自分で作成した XSL ファイルを経由するようにする。
その XSL ファイル内に css を指定する

myDocbook.xsl
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:import href="/usr/share/sgml/docbook/xsl-stylesheets/xhtml/docbook.xsl"/>
  <xsl:output method="html" encoding="UTF-8" indent="yes"/>
  <xsl:param name="admon.graphics" select="1"/>
  <xsl:param name="section.autolabel" select="1"/>
  <xsl:param name="html.stylesheet">doc.css</xsl:param>
  <xsl:param name="default.encoding" select="'UTF-8'"/>
</xsl:stylesheet>
XSLT Process 実行
$ java -jar /usr/share/java/saxon.jar -s:hello.xml -xsl:myDocbook.xsl -o:helloWithCss.html
Warning: at xsl:stylesheet on line 2 column 80 of sample.xsl:
  Running an XSLT 1.0 stylesheet with an XSLT 2.0 processor
/usr/share/sgml/docbook/xsl-stylesheets/xhtml/docbook.xsl を直接指定した場合の出力結果
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Hello, world</title>
    <meta name="generator" content="DocBook XSL Stylesheets V1.75.2"/>
  </head>
(以下略)
myDocbook.xsl を指定した場合の出力結果
<html xmlns="http://www.w3.org/1999/xhtml">
   <head>
      <title>Hello, world</title>
      <link rel="stylesheet" href="doc.css" type="text/css"></link>
      <meta name="generator" content="DocBook XSL Stylesheets V1.75.2"></meta>
   </head>
(以下略)

0 件のコメント:

コメントを投稿