你能在 Dita-ot 插件中从 XSL 访问 dita map keydef 变量吗
Posted
技术标签:
【中文标题】你能在 Dita-ot 插件中从 XSL 访问 dita map keydef 变量吗【英文标题】:Can you access dita map keydef variables from XSL in Dita-ot plugin 【发布时间】:2019-03-09 05:11:44 【问题描述】:我知道可以访问 keydef
<map>
<title>variables</title>
<keydef keys="keyName"><topicmeta><keywords><keyword>Text API</keyword></keywords></topicmeta></keydef>
</map
带有 keyref 语句
<keyword keyref="keyName"/>
是否可以从 dita-ot 管道中的 xsl 文件访问 keydef
我尝试了以下
<xsl:value-of select="//keydef[@keys eq 'keyName']/topicmeta/keywords/keyword/text()"/>
和
<xsl:value-of select="keyword[@keyref eq 'copyright']"/>
但是这些都不起作用。
问候 联系方式
【问题讨论】:
【参考方案1】:我使用了以下内容:
<xsl:value-of select="$map/*[contains(@class,' mapgroup-d/keydef ') and lower-case(@keys) = ''keyName'']/topicmeta/keywords/keyword/node()"/>
$map 被定义为
<xsl:variable name="map" select="//opentopic:map"/>
【讨论】:
那行得通.. 我必须添加第二个斜杠 $map//* 可能在 dita 2.0.1 版本中有所不同? dita-ot 3.4.1:不起作用... $map 似乎根本不包含 keydef 元素。最终,我成功打开了原始 .ditamap:document(/*/@xtrf)//keydef[@keys='keyName']/topicmeta/...
以上是关于你能在 Dita-ot 插件中从 XSL 访问 dita map keydef 变量吗的主要内容,如果未能解决你的问题,请参考以下文章
你能在不调用 org.freedesktop.DBus.Properties.Get 的情况下检索 D-Bus 属性吗?