我试图在我的封面上包含以下dita主题文件的内容,但到目前为止我还没有。
我需要在封面上包含的文件位于本地系统上,并由bookmap引用。
我正在使用DITA-OT 1.4.2和RenderX Xep。
我需要使用这个,因为我有几本书要翻译成PDF,封面页也会根据书改变。
这是我的封面内容:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
<topic xmlns:ditaarch="http://dita.oasis-open.org/architecture/2005/"
outputclass="frontmatter" id="topic010"
ditaarch:DITAArchVersion="1.0"
domains="(topic ui-d) (topic hi-d) (topic pr-d) (topic sw-d) (topic ut-d)"
class="- topic/topic ">
<title class="- topic/title ">Front Matters</title>
<body class="- topic/body ">
<image width="500"
id="image_forewordheader"
placement="inline"
alt="heading"
href="heading.png"
class="- topic/image "/>
<p outputclass="subject" class="- topic/p "> Subject test heading </p>
<image height="10"
width="500"
id="img010"
alt="image010"
href="image010.png"
placement="inline"
class="- topic/image "/>
<p class="- topic/p ">Some content goes here. This is a test front matter content.
</p>
<p class="- topic/p "> </p>
<p class="- topic/p "> </p>
<p class="- topic/p ">
<image href="image011.png"
alt="image011"
id="image011"
placement="inline"
class="- topic/image "/>
</p>
</body>
</topic>
我正在使用front-matter_1.0.xsl文件生成包含以下模板的封面页。
<xsl:template name="createFrontMatter_1.0">
<fo:page-sequence master-reference="front-matter" xsl:use-attribute-sets="__force__page__count">
<xsl:call-template name="insertFrontMatterStaticContents"/>
<fo:flow flow-name="xsl-region-body">
<fo:block xsl:use-attribute-sets="__frontmatter">
<!-- set the title -->
<fo:block xsl:use-attribute-sets="__frontmatter__title">
<xsl:choose>
<xsl:when test="$map/*[contains(@class,' topic/title ')][1]">
<xsl:apply-templates select="$map/*[contains(@class,' topic/title ')][1]"/>
</xsl:when>
<xsl:when test="$map//*[contains(@class,' bookmap/mainbooktitle ')][1]">
<xsl:apply-templates select="$map//*[contains(@class,' bookmap/mainbooktitle ')][1]"/>
</xsl:when>
<xsl:when test="//*[contains(@class, ' map/map ')]/@title">
<xsl:value-of select="//*[contains(@class, ' map/map ')]/@title"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="/descendant::*[contains(@class, ' topic/topic ')][1]/*[contains(@class, ' topic/title ')]"/>
</xsl:otherwise>
</xsl:choose>
</fo:block>
<!-- set the subtitle -->
<xsl:apply-templates select="$map//*[contains(@class,' bookmap/booktitlealt ')]"/>
<fo:block xsl:use-attribute-sets="__frontmatter__owner">
<xsl:apply-templates select="$map//*[contains(@class,' bookmap/bookmeta ')]"/>
</fo:block>
<xsl:text>Preface </xsl:text>
</fo:block>
<!-- <xsl:call-template name="createPreface"/>-->
<!—Use topic content front matter topic as cover page -->
<fo:block xsl:use-attribute-sets="__frontmatter__owner">
<fo:block>
<xsl:apply-templates select="//*[contains(@outputclass,'frontmatter')]"/>
</fo:block>
</fo:block>
</fo:flow>
答案 0 :(得分:0)
未提供主题作为封面。
最近的DITA版本(DITA 1.2 / DITA-OT1.8.5)++有一些策略指向另一个方向:
将DITA 1.2键定义与DITAVAL过滤结合使用,以放置&#34;出版物特定的&#34;动态内容到封面。 e.g。
将产品特定的密钥放在bookmap元素中,例如<title><ph keyref="productName"/><title>
将封面图片作为图片keyref放置在标题标记中,如<title><image keyref="product/imageID"/><title>
针对每种发布类型对org.dita.pdf2
插件(DITA-OT 1.8.5或更高版本)进行专门化,并将单个背景图像放在front-matter.xsl
中。
<fo:block-container absolute-position="absolute"
top="-2cm" left="-2cm" width="21cm" height="29.7cm" background-repeat="no-repeat"
background-image="Customization/OpenTopic/common/artwork/ManualCoverPageA4_V2-01.png">
<fo:block/>
</fo:block-container>