我在匹配方案时遇到问题,我在xslt上使用我的模板如下,但我没有得到正确的输出。实际上,现在,这个xslt也产生了与标题文本的交叉链接,但是,它不应该用于表格和图形标题。我的意图是这应该产生交叉链接,除了表格标题和数字标题。
在我的xslt中,我有这个场景,
<xsl:template match="text()[../@class != 'tablecaption' or ../../@class != 'tablecaption' or ../@class != 'figurecaption']" exclude-result-prefixes="html">
<xsl:analyze-string select="." regex="(Chapter|Figure|Table|Appendix)\s(\d+|[A-Z])(\.)?(\d+)?|(www.[^ ]+)|(http://[^ ]+)|(Section|section)\s(\d)\.(\d+)(\.)?(\d+|\d)?(\.)?(\d)?" flags="x">
<xsl:matching-substring>
<a>
<xsl:attribute name="href">
<xsl:variable name="x1" select="regex-group(1)"/>
<xsl:variable name="x2" select="regex-group(2)"/>
<xsl:variable name="x4" select="regex-group(4)"/>
<xsl:variable name="x5" select="regex-group(5)"/>
<xsl:variable name="x6" select="regex-group(6)"/>
<xsl:variable name="x7" select="regex-group(7)"/>
根据我的目标,这个xslt不应该在这里提供交叉链接。它在这里做同样的事情
<par class="tablecaption"><inline style="list-style-type: decimal; ">Table 3.4 Examples of extremely reactive and proactive behaviour</inline></par>
这应该转变为
<p class="tablecaption">Table 3.4 Examples of extremely reactive and proactive behaviour</p>
,这没关系
在这里(下面),根据我的目标,这个xslt也不应该提供下面的交叉链接。但是,截至目前,它正在提供与下面的交叉链接,但是,它不应该。
<par class="tablecaption">Table 3.3 Examples of extremely reactive and proactive behaviour</inline></par>
这应该转换为
<p class="tablecaption">Table 3.3 Examples of extremely reactive and proactive behaviour</p>
但是,它如下变换
<p class="tablecaption"><a href="#tab1">Table 3.3</a> Examples of extremely reactive and proactive behaviour</p>
为什么会这样?任何想法请