0
我需要使用XSLT 1.0知道某个元素之前的字符。选择XSLT 1.0中元素之前/之后的字符
示例XML:‘”
<p>Das <hi>Konzert</hi> brachte die „<hi>Sinfonie</hi>“ von Gassmann-<hi>Kröger</hi>.</p>
我需要检查该文件中的所有元素,并期望我的XSLT返回“”,““,’与作为前面的字符,以及“”,“”“和” - “作为以下字符。
我尝试这样做:
<xsl:template match="hi">
<xsl:text>[</xsl:text>
<xsl:value-of select="substring(preceding-sibling::text(),string-length(preceding-sibling::text()))"/>
<xsl:text>|</xsl:text>
<xsl:value-of select="substring(following-sibling::text(),1,1)"/>
<xsl:text>]</xsl:text>
</xsl:template>
这对以下字符工作正常,但不是前面的字符。它总是返回“”,在这种情况下,总是看起来是“Das”的最后一个字符。我能做什么?
如果前面的兄弟节点不是文本节点,而是说另一个元素,该怎么办? – 2015-03-02 12:32:37
目前,我认为元素之间总是至少有一个空格。 – 2015-03-02 13:34:21