1

我想为 DITA 编写自定义 xsl。我有三个 Dita 地图,例如book.ditamapchapter1.ditamapchapter2.ditamap我只想获取我在这个 ditamap 中给出的标题。

我的book.ditamap样子是这样的:

<bookmap id="pdfnntd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:noNamespaceSchemaLocation="urn:oasis:names:tc:dita:xsd:bookmap.xsd">

  <booktitle>
    <booklibrary>Books about stuff</booklibrary>
    <mainbooktitle>A book about one thing</mainbooktitle>
  </booktitle>

  <chapter href="chapter1.ditamap" format="ditamap"/>
  <chapter href="chapter2.ditamap" format="ditamap"/>
</bookmap>

我的chapter1.ditamap样子是这样的:

<map id="pdfnnt" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLenter code hereocation="urn:oasis:names:tc:dita:xsd:map.xsd">

  <topichead>
    <topicmeta>
      <navtitle>Threads</navtitle>
    </topicmeta>
    <topicref href="task/lesson1.xml" type="task"></topicref>
    <topicref href="task/lesson2.xml" type="task"></topicref>
  </topichead>
 </map>

对于这些 ditamap,我想在 DITA 中编写自定义 xsl。我在您的网站上搜索过,我尝试了一个示例,但 DITA 仅采用默认 xsl。请帮我解决这个问题。

4

2 回答 2

1

我假设您正在寻找为 PDF 转换创建它。我建议获得一份 DITA for Practitioners 或 DITA for Print。您需要做的是创建一个插件来覆盖基本 XSL 并使用 XPATH 提取以获取 mainbooktitle 和 topicmeta/title(确切的 xpath 比我在这里写的更复杂)。

你还没有准确地指定你想对标题做什么,所以很难想出一个有意义的例子。

HTH。

于 2013-12-21T16:56:38.813 回答
0

DITA for Publishers 项目 (dita4publishers.sourceforge.net) 提供了一个通用的 XSLT 地图处理框架,您可以使用它来方便地处理地图,包括获取主题引用的有效导航标题。D4P 发行版包含一个示例插件 net.sourceforge.dita4publishers.graphviz/,它演示了如何在相对简单的过程的上下文中使用代码(为导航树或书后索引生成 Graphviz 图表) DITA 映射)。

请务必下载最新的 0.9.19 候选版本,而不是 0.9.18 软件包——我在获得官方版本 0.9.19 以及更新的文档等方面落后,但 0.9.19 代码有许多错误修复你会想要的。

干杯,

艾略特

于 2013-12-23T15:03:47.397 回答