这是我的意见:
<mathml>
<m:math xmlns:m="http://www.w3.org/1998/Math/MathML">
<m:mrow>
<m:mtext>SL depreciation expense</m:mtext>
<m:mo>=</m:mo>
<m:mfrac>
<m:mrow>
<m:mtext>cost−residual value</m:mtext>
</m:mrow>
<m:mrow>
<m:mtext>useful life</m:mtext>
</m:mrow>
</m:mfrac>
</m:mrow>
</m:math>
</mathml>
这是预期的输出
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mrow>
<mtext>SL depreciation expense</mtext>
<mo>=</mo>
<mfrac>
<mrow>
<mtext>cost−residual value</mtext>
</mrow>
<mrow>
<mtext>useful life</mtext>
</mrow>
</mfrac>
</mrow>
</math>
我想复制mathml节点的所有子节点而不使用m:prefix命名空间,而不必为每个元素创建模板。 你能为此提出任何解决方案吗?
答案 0 :(得分:0)
您可以使用以下代码段复制math
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
要删除名称空间,您应该使用xsl:element
创建元素,并查看this answer,以帮助您执行此操作。
答案 1 :(得分:0)
尝试:
<xsl:template match="m:*">
<xsl:element name="{local-name()}" namespace="http://www.w3.org/1998/Math/MathML">
<xsl:apply-templates/>
</xsl:element>
</xsl:template>