<t>
<rendition xml:id="b">color: blue</rendition>
<rendition xml:id="r">color: red</rendition>
<tagUsage gi="p" render="b" />
<tagUsage gi="emph" render="r" />
</t>
如何在tagUsage元素中基于@gi创建一个XSL 1.0密钥进入再现元素,将rendition/@ xml:id加入tagUsage/@ render?像通过“加入”元素创建xsl键
<xsl:key name="rendition-by-tagName"
match="rendition"
use="//tagUsage[@xml:id of rendition = @render of tagUsage]/@gi" />
东西,所以,鉴于“P”键将返回蓝色rendition
;给予“emph”,钥匙将返回红色rendition
。
我认为Google Chrome使用的任何xslt处理器都存在一个错误。在oXygen中的Xalan和Saxon以及Firefox和Internet Explorer中的客户端处理中,这不起作用:current()不引用匹配的元素。育。 – JPM
@JPM,是的,我也听说过Chrome的“安全”功能,严重限制了客户端XSLT处理。由于XSLT的实现并不如人意,人们会认真考虑Saxon CE,我相信它在所有五种主流浏览器下都是正常的XSLT 2.0处理器。 –
我倾向于认为这是一个错误。我发现@use中的current()在xsltproc和Safari中也失败了。 Chrome,Safari和xsltproc,我相信,通用的xslt代码。 – JPM