如何在XML到HTML的XSL转换中引用参考书目

时间:2015-01-08 16:52:46

标签: html xml xslt

问题:我想引用XML文件中的参考书目,该文件使用XSL转换为HTML页面。参考书目定义如下:

<bibliography>
        <bibitem bibid="b1">
            <title>Genome-enabled development of DNA markers of ecology, evolution and conservation. Molecular Ecology 19</title>
            <authors>
                <author>Thomson, R. C.</author>
                <author>Wang, I. J.</author>
                <author>Johnson, J. R.</author>
            </authors>
            <date>2010</date>
            <other>2184-2195</other>
        </bibitem>
        <bibitem bibid="b2">
        ...

我的问题是,如何在HTML页面中用数字表示对bibitem的引用?例如:

"...and genes are molecular units of heredity that code a protein. [1] ...

这意味着我引用了bibitem属性&#34; b1&#34;。另外,参考文献[2]意味着bibitem =&#34; b2&#34;等等。但是我怎样才能使这个&#34;类似地图&#34;使用XSL转换的关联?

1 个答案:

答案 0 :(得分:2)

假设你有一个像<cite bibref="b1" />这样的标签来插入论文中的参考文献,你可以这样做:

<xsl:template match="cite">
  <xsl:apply-templates select="key('citebib', @bibid)" mode="cite"/>
</xsl:template>

<xsl:template match="bibitem" mode="cite">
  <xsl:text>[</xsl:text>
  <xsl:number />
  <xsl:text>]</xsl:text>
</xsl:template>

在这种情况下,只需从<bibitem>父元素中的<bibliography>元素的索引位置检索该数字。

您还可以对从您声明的键中检索到的元素使用apply-templates。您还应该发布XSL中的相关元素。