问题标签 [dita-ot]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xslt - DITA-OT 中的图像
我正在使用 DITA 和开箱即用的 DITA-OT pdf2 插件创建出版物。图像没有缩放以适应页面,而是运行巨大并被页面截断。我更喜欢保持开箱即用的插件,所以我首先创建了一个自定义文件夹并修改了 custom.xsl 文件以显示:
当这不起作用时,我尝试修改插件中的 xsl/fo/commons.xsl 文件以更改
这也不起作用。我还尝试在 commons.xsl 文件中对 scale-to-fit 属性进行硬编码:
我很确定 FO 仍在以某种方式读取高度和宽度并插入它们,但我不知道在哪里可以覆盖内容高度和宽度以适应缩放。有任何想法吗?
xslt - 运行 ANT 脚本时出现 DITA OpenToolkit 2.1.1 build.xml “BUILD FAILED”错误
DITA 输出目标
我想使用 ANT 脚本将自定义 CSS 样式表添加到我的 DITA 主题模型中(请参见以下代码):
ANT 脚本代码
我的 ANT 脚本:
问题
根据下面的终端输出,创建目录并找到并执行 build.xml 文件。然而,目录中实际上没有生成任何内容,我无法隔离问题。
终端输出
从上面的输出中可以看出,错误输出在“BUILD FAILED”行之后开始。
我的故障排除尝试
- 我发现其他人也有类似的问题:https ://groups.yahoo.com/neo/groups/dita-users/conversations/topics/38045 。然而,当我添加属性并为 Saxon 设置环境变量时,我得到了相同的输出。
- 我还测试了 Open Toolkit 中的其他 ant 脚本示例,并收到了相同的错误消息。
寻求帮助
我想我要么错误地设置了我的环境变量,要么我什至无法想象导致这个问题的原因;因此,我需要对这个问题多加注意。
因此,也许有人可以帮助我了解我应该如何设置我的 java + ant + saxon + xalan——我还没有找到关于这个过程的好的文档。另外,如何验证我拥有让它工作所需的一切。或者,我很想帮忙看看是不是别的。
仅供参考,我使用的是 DITA-OT 2.1.1。这是我在 Github 上的主题模型的链接:https ://github.com/lingeringcode/css-projects 。
任何帮助表示赞赏!:-)
更新
FTR,该dita
命令与-D
args 一起使用,如下所示:
我还重置了我的 CLASSPATH 变量,确保确实找到了 dost.jar。再次运行 ant 脚本后,我收到一条新的BUILD FAILED
错误消息(耶,进度?!),如下所示:
现在,它正在报告“失败的管道”+ 无法加载某些配置文件。有任何想法吗?
plugins - transtype=PDF时DITA-OT插件找不到JAR文件功能
我正在开发一个从 JAR 文件调用函数的 DITA-OT 插件。当我生成 XHTML 时,插件会找到该函数。当我生成 PDF 时,它不会。我已经阅读了有关创建插件和使 JAR 文件可供它们使用的 DITA-OT 文档,并且我遵循了谷歌的一些线索,但无法弄清楚为什么会发生这种情况。
这是一个演示该行为的简化示例。
这是plugin.xml:
这是 XSL 样式表 testimport.xsl:
我正在使用 DITA-OT 2.1.2。DITA-OT 未修改(我的插件除外)。没有用于格式化的自定义 XSL。对于 DITA 源,我使用的是 DITA-OT 示例目录中的文件。这是一个简单的概念主题:
我尝试使用 dita 命令和 ant 命令从命令行构建。
这是 XHTML 输出的 dita 命令:
这是用于 PDF 输出的 dita 命令:
这是用于 XHTML 输出的 ant 命令:
这是用于 PDF 输出的 ant 命令:
当 transtype 为 xhtml 时,日志中会出现“txt from function z:zmsg”消息:
当transtype为pdf2时,日志中出现“Function z:zmsg is not available”信息:
最后,这里是 Ztest 类和 zmsg() 函数的 Java 源代码:
在此示例中,转换未成功完成,但在找到和未找到函数时会显示消息。
pdf - DITA OT 打印 '#' 代替 PDF 中的汉字
我对 DITA OT 很陌生。下载了 DITA-OT1.5.4_full_easy_install_bin 并使用它。我正在尝试将简体中文 (zh-CN) 中的几个字符打印到 PDF 中。我看到这些字符在 XHTML 中正确打印,但在 PDF 中它们打印为“#”。
在命令行中,我看到了这个 - “警告:字形“?”(0x611f)在字体“Helvetica”中不可用。以下是我迄今为止尝试过的事情:
在 demo\fo\fop\conf\fop.xconf :
在 demo\fo\cfg\fo\attrs\custom.xsl :
在 demo\fo\cfg\fo\font-mapping.xml 中为 Sans、Serif 和 Monospaced 逻辑字体添加了这个块:
在 samples\concepts\garageconceptsoverview.xml 中:
这是我用来生成 PDF 的命令:任何帮助,将不胜感激。谢谢。
[编辑] 我看到在 temp 文件夹中生成的 topic.fo 文件确实包含正确的中文字符。像这样:
但我在本文档的任何地方都没有看到与字体相关的信息。
dita - 如何专门化链接元素(相关链接)
我想基于链接元素创建新元素。这对作者来说会比使用role
andotherrole
属性来指定链接角色更舒服。
不幸的是DITA-OT 2.2.1
,这条消息失败了:
这是一种有效的方法,还是我应该坚持otherrole
?
更新1:
错误发生在related-links.xsl
:
dita-ot - DITA OT 2.2.1 升级问题
我正在从 DITA-OT 的 1.2.2 版本升级到 2.2.1,并且在使用 fop 输出 PDF 时遇到了一些问题:
1 - TOC 继续以罗马数字而不是阿拉伯数字打印页码。我在哪里可以更改输出格式?
2 - 尝试为 fo:block-container 或 fo:table 设置 PDF 背景图像时,输出如下:
例如,块容器定义如下:
java - 是否可以在 DITA-OT 的 ant xslt 任务中使用特定的 ICU 库 (.jar)?
我正在开发DITA-OT plugin
提供几个.jar以供其他.jar 使用DITA-OT plug-in
。
该插件使用ICU library (http://site.icu-project.org/)icu4j-4_8.jar
并且必须支持从DITA-OT 1.7.5到最新的DITA-OT 2.2.1。
但是,我知道DITA-OT将 ICU 库捆绑在 DITA-OT/lib目录中。最新版本好像是icu4j-54.1.jar
。
我的问题是这个ICU 图书馆。当我的插件被其他插件中的 xslt 任务使用时,我明确指定icu4j-4_8.jar
为xslt/@classpathref。但是,输出结果似乎xslt 任务使用DITA-OT/lib目录中的 ICU 库,因为预处理或其他先前步骤已经使用它。
有什么方法可以强制 ant xslt 任务使用xslt/@classpathref指定的特定 ICU .jar 文件?
dita-ot - 无法加载词汇表文件
我正在尝试在 DITA OT 2.2 中使用词汇表
我正在尝试按照 http://idratherbewriting.com/acronyms_and_glossary/上的说明进行操作
我收到以下消息:
文件在那里。
我还应该寻找什么?
dita - Reuse temp directory in DITA-OT?
While using DITA OT 2.2.1, I usually have to generate documents in several different output formats. For example, I have to generate output for the same ditamap in pdf2, htmlhelp, and xhtml formats.
Question: Is it possible to reduce the generation time of the documents by "reusing" the temp directory? For example, the generation of the same document in pdf2 and xhtml could reuse the same temp directory.
Thanks in advance!
xslt - 将 xsl:apply-templates 转换为字符串值以用作 if 参数
我有这段代码,从 DITA-OT 原始发行版修改而来:
我试图只执行/打印这个迷你目录,当这是一个以章节作为子节点的部分时(见下文),但不是当它只是一个没有任何章节的部分时,在这样的书中:
所以在这种情况下,只有第一个<part>会执行/打印这个。
我认为将<xsl:apply-templates select="key('map-id', @id)[1]" mode="topicTitleNumber"/>的值作为文本传递,可以让我基本上添加一个if将测试一个不为空的值,从而执行它。但它没有奏效。
我想出了这样的东西,这是无效的: