みなさんこんにちは! 最近DITAの使用を開始しました。 一般に、会社で唯一のテクニカルライターとして、私はこの技術の先駆者です。
私はDITAで書いています。 Adobe FrameMakerとoXygenをエディターとして試しました。 出力形式としてPDFを使用します。 一般に、基本的なテンプレートは非常に満足のいくものです。 ただし、たとえばGOSTの要件の下で、それを変更したいという要望があります。 この点で、彼はPDFでDITAを公開する技術の研究を始めました。 この記事と今後の記事で、研究を同僚と共有することにしました。 だから...
転記
PDFでのDITAの公開は、2つの段階で実行されます(図を参照)。
- XSLTテンプレートに従って、DITAをXSL-FOドキュメントに変換します。
- XSL-FOドキュメントに基づいてPDFファイルを生成します。
本から取った図面:Dave Pawson、XSL-FO。 印刷版XMLの見栄えの良さ、2002年。

最初の段階では、元のドキュメント(テキスト、写真、表など)のコンテンツ(ストリーム、フロー)は、将来のPDFドキュメントのブロックで配布されます。 実際、XSLTは、DITAで使用されるXMLマークアップからXSL-FOで使用されるXMLマークアップに変換されています。
XSL-FO(eXtensible Stylesheet Language Formatting Objects)は、PDF、PostScript、またはRTF形式の印刷文書を受け取るように設計されたプリプレスレイアウト用のマークアップ言語です。
XSL-FOは、ページのレイアウト(マージン、フッターなど)から段落、テキスト、表などのスタイルまで、将来のドキュメントを完全に記述します。 1つのドキュメントにさまざまな種類のページを記述することができます(カバー、カバーページ、要約、ドキュメントの主要部分、エンドカバーシート、裏表紙など)。
第2段階では、生成されたドキュメントレイアウト(XSL-FOドキュメント)が印刷可能なドキュメントに変換されます。 これは通常PDFです。
エディターでDITA-OTを探す場所
XSLTテンプレートの開発はかなり複雑なタスクです。 これには、XSL-FOマークアップ、XSLT、およびXPath言語の機能を知っている必要があります。 DITA-OTには、すでに組み込みのDITA PDF発行テンプレートがあります。
DITA-OT / plugins / org.dita.pdf2ディレクトリにあります。
使用するXMLエディターに応じて、DITA-OTディレクトリは次のように配置されます。
- o%%Oxygen install dir%/ frameworks / dita 'oXygenエディター用。
- Adobe FrameMakerエディターの場合は「 %AdobeFrameMaker install dir%/ fminit / ditafm 」。
- Sernaエディター用の「 %Serna install dir%/ plugins / dita 」。
一般に、DITA-OTをサポートするエディターのインストールディレクトリで、フォルダー「
DITA-OT / plugins / org.dita.pdf2 」を探す必要があります。
org.dita.pdfテンプレートもあります。 これは、OASIS DITAチームによって開発された基本バージョンです。 一部のPDF機能はサポートしていません。
org.dita.pdf2-テンプレートのより完全なバージョン、OASIS DITAはそれを使用することを推奨します。
DITA-OTの設定フォルダーは何ですか?
テンプレートディレクトリには2つのフォルダがあります。
- cfg -2つのサブフォルダーが含まれます。
- common-ローカライズ設定( index 、 propertiesおよびvarsフォルダー )およびドキュメントに自動的に配置されるグラフィックフラグメント( アートワークフォルダー)が含まれます
- fo - attrsフォルダーにドキュメントレイアウトファイル( layout-masters.xsl )とスタイル設定(ページサイズ、マージン、フォント、配置など)が含まれています。
- xsl - foフォルダー内のDITAをXSL-FOに変換するためのXSLTテンプレートのセットが含まれています。

まず、
/ cfg / fo / attrsフォルダーに注目します。 その中で、XSLT変換に触れることなく、基本設定に満足できない場合、ドキュメントの一部のパラメーターを設定できます(たとえば、フォントサイズを変更します)。
basic-settings.xslファイルには、ページの基本設定が含まれています。 たとえば、その寸法:
<xsl:variable name="page-width">215.9mm</xsl:variable> <xsl:variable name="page-height">279.4mm</xsl:variable>
または、メインテキストのフォントサイズ:
<xsl:variable name="default-font-size">10pt</xsl:variable>
common-attr.xslファイルには、いくつかの一般的なスタイル設定が含まれています。
たとえば、見出しスタイル。 6つのレベルに登録されています。 最初のレベルでは、次の属性セットが使用されます。
<xsl:attribute-set name="topic.title" use-attribute-sets="common.title"> <xsl:attribute name="border-bottom">3pt solid black</xsl:attribute> <xsl:attribute name="space-before">0pt</xsl:attribute> <xsl:attribute name="space-after">16.8pt</xsl:attribute> <xsl:attribute name="font-size">18pt</xsl:attribute> <xsl:attribute name="font-weight">bold</xsl:attribute> <xsl:attribute name="padding-top">16.8pt</xsl:attribute> <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> </xsl:attribute-set>
次の属性セットは、写真のキャプションに使用されます。
<xsl:attribute-set name="fig.title" use-attribute-sets="base-font common.title"> <xsl:attribute name="font-weight">bold</xsl:attribute> <xsl:attribute name="space-before">5pt</xsl:attribute> <xsl:attribute name="space-after">10pt</xsl:attribute> <xsl:attribute name="keep-with-previous.within-page">always</xsl:attribute> </xsl:attribute-set>
Custom.xslファイル
属性とその値の構成を変更できます。 これを行うには、同じフォルダーにある
custom.xslファイルを使用することをお勧めします。 必要な
属性セット (
attribute-set )をこのファイルにコピーするだけで、そこに変更を加えることができます。 ソースファイルに直接変更を加えることを禁止する人はいませんが、1つのファイルに保存する方が便利です。
ドキュメントを作成するとき、
custom.xslファイルに含まれるパラメーターが優先されます。
custom.xslファイルで属性が欠落している場合、他のファイルで指定された値が使用されます。 つまり、ヘッダーのフォントサイズのみを変更する場合は、セットのすべての属性をコピーする必要はありません。 1つの属性
-font-sizeでセットを指定できます。
一般に、属性の名前は、カスケードスタイルシートの属性とあまり変わりません。 したがって、この分野で基本的なアイデアを持っている人にとって、必要な属性を見つけることは難しくありません。
属性を持つファイルはドキュメント要素で区切られます。 それらのいくつか:
- basic-settings.xslおよびcommon-attr.xslについてはすでに説明しました。
- front-matter-attr.xsl-文書の表紙の属性(タイトルページ);
- glossary-attr.xsl —用語集の属性 。
- index-attr.xsl-インデックスの属性。
- layout-masters-attr.xsl-文書テンプレートのレイアウトの属性。
- links-attr.xsl-リンク属性。
- lists-attr.xsl-属性のリスト。
- static-content-attr.xsl-いわゆる静的コンテンツの属性(ページ番号など)。
- tables-attr.xsl-テーブル属性。
- task-elements-attr.xsl-タスクタイプのトピックの属性。
- toc-attr.xsl-目次の属性。
属性を持つ各ファイルの説明は、別の記事の主題です。
例
結論として、いくつかの例を示します。 例は、
custom.xslファイルで指定する必要があるものを具体的に示して
います。
A4ページ形式を設定するには:
<xsl:variable name="page-width">210.0mm</xsl:variable> <xsl:variable name="page-height">297.0mm</xsl:variable>
レベル4の見出しのフォントサイズを設定するには:
<xsl:attribute-set name="topic.topic.topic.topic.title" use-attribute-sets="base-font common.title"> <xsl:attribute name="font-size">12pt</xsl:attribute> </xsl:attribute-set>
目次で収集された見出しのレベルの数を4に設定します。パラメーターは、必要な値(実験的に確立された)よりも大きい1を示します。
<xsl:param name="tocMaximumLevel" select="5"/>
ページの余白を設定するには:
内部フィールド(バインディング時)
<xsl:variable name="page-margin-inside">15mm</xsl:variable>
外部フィールド
<xsl:variable name="page-margin-outside">15mm</xsl:variable>
トップフィールド
<xsl:variable name="page-margin-top">20mm</xsl:variable>
ボトムフィールド
<xsl:variable name="page-margin-bottom">10mm</xsl:variable>
段落内のテキストの幅を設定するには:
<xsl:attribute-set name="p" use-attribute-sets="common.block"> <xsl:attribute name="text-align">justify</xsl:attribute> </xsl:attribute-set>
イラストのキャプションを中央に配置するには:
<xsl:attribute-set name="fig.title" use-attribute-sets="base-font common.title"> <xsl:attribute name="text-align">center</xsl:attribute> </xsl:attribute-set>