【发布时间】:2014-09-16 05:18:30
【问题描述】:
输入xml:
<article>
<sb:title>
<sb:maintitle>
An
<mml:math>
R
<superscript>
4
</superscript>
</mml:math>
spacetime with a Cauchy surface which is not
<mml:math>
R
<superscript>
3
</superscript>
</mml:math>
</sb:maintitle>
</sb:title>
</article>
预期输出 xml:
<article>
<sb:title>
<sb:maintitle>
An
<mml:math>
<mml:msup>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
spacetime with a Cauchy surface which is not
<mml:math>
<mml:msup>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</sb:maintitle>
</sb:title>
</article>
到目前为止,我正在使用这个 xslt:
<article>
<xsl:apply-templates select="child::article/sb:title/sb:maintitle/mml:math"/>
</article>
<xsl:template match="child::article/sb:title/sb:maintitle/mml:math">
<mml:math>
<mml:msup>
<mml:mrow><xsl:value-of select="?"/></mml:mrow>
<mml:mrow><xsl:value-of select="normalize-space(superscript)"/></mml:mrow>
</mml:msup>
</mml:math>
</xsl:template>
我使用上标获得第二个 mml:mrow 值。但我不知道如何获得第一个 mml:row 值?
不要更改应用模板;我必须在我的 xsl(mml:mrow) 中写什么而不是“?”。
谁能帮帮我?
【问题讨论】:
-
如果您改进问题的格式以删除代码中的空行并确保所有内容的缩进更加一致,这将有很大帮助。非常感谢。