由 XSLT 显示


 is shown by XSLT

我想要打印属性并为其添加一些值。

输入:

<figure id="fig_1">
 <dis>text</dis>
</figure>

我的输出:

<image ref="fig_1"
        comment="text the&#xA;                                    "/>

尝试过的代码:

<xsl:template match="dis[parent::figure]">
    <xsl:variable name="fig_name" select="parent::fig/@id"/>
    <image ref="{$fig_name}">
        <xsl:attribute name="comment">
            <xsl:value-of select="text()"/>
        </xsl:attribute>
    </tps:image>
</xsl:template>

我想删除所有 &#xA;。我该怎么做。

使用normalize-space()函数去除不必要的白色space。

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output omit-xml-declaration="yes" method="xml" version="1.0" />        
    <xsl:template match="long-desc[parent::fig]">
        <xsl:variable name="fig_name" select="parent::fig/@id"/>
        <image ref="{$fig_name}">
            <xsl:attribute name="comment">
                <xsl:value-of select="normalize-space(text())"/>
            </xsl:attribute>
        </image>
    </xsl:template>
</xsl:stylesheet>