Xml 在XSL中引用图形
问题:我试图在HTML文本中引用图形,这是指向图形标题的内部链接 图和参考的XML代码如下所示:Xml 在XSL中引用图形,xml,xslt,Xml,Xslt,问题:我试图在HTML文本中引用图形,这是指向图形标题的内部链接 图和参考的XML代码如下所示: (...) As it can be seen in the Figure <p:iref intref="f1"/> (...) <float:figure id="f1"> <float:graphic path="f1.jpg"/> <float:caption> <p:p> Some text
(...) As it can be seen in the Figure <p:iref intref="f1"/> (...)
<float:figure id="f1">
<float:graphic path="f1.jpg"/>
<float:caption>
<p:p> Some text </p:p>
</float:caption>
HTML格式的所需结果:
(...) As it can be seen in Figure 1 (...)
-----------some Figure------------
Figure 1 - some text
(...) and like we've seen back then, in Figure 2 (...)
(...) As it can be seen in Figure 1 (...)
-----------some Figure------------
Figure 1 - some text
(...) and like we've seen back then, in Figure 1 (...)
所以看起来,虽然引用很好(在第一个输出中,如果我单击链接,它是图2中的数字2,它引用了图1),但是出现在图2
有什么建议吗 您需要从被引用的图形中,而不是从引用本身计算
preference::float:figure
元素。那么:
<xsl:template match="p:iref">
<xsl:variable name="fid" select="@intref"/>
<xsl:variable name="target" select="//float:figure[@id=$fid]"/>
<xsl:if test="$target">
<a href="#{$fid}"><xsl:value-of select="count($target/preceding::float:figure)+1"/></a>
</xsl:if>
</xsl:template>
请创建一个。在您的例子中,这意味着:一个具有代表性的XML输入示例、一个完整的XLST样式表和HTML输出,而不是它的描述。谢谢
(...) As it can be seen in Figure 1 (...)
-----------some Figure------------
Figure 1 - some text
(...) and like we've seen back then, in Figure 1 (...)
<xsl:template match="p:iref">
<xsl:variable name="fid" select="@intref"/>
<xsl:variable name="target" select="//float:figure[@id=$fid]"/>
<xsl:if test="$target">
<a href="#{$fid}"><xsl:value-of select="count($target/preceding::float:figure)+1"/></a>
</xsl:if>
</xsl:template>