有没有更简单的方法来复制图像元素

时间:2014-03-18 22:09:39

标签: xml xslt

我正在使用XSLT将图像元素从一个XML文件复制到一个新文件中。我使用以下模板来复制图像元素,但我认为有一种更简单的方法可以做到这一点。

...

<xsl:apply-templates select="art_id"/>

...

<xsl:template match="art_id"><xsl:text>
</xsl:text><image><art_id>
<xsl:attribute name="href"><xsl:value-of select="@href"/></xsl:attribute>
</art_id></image>
</xsl:template>

&#34; new&#34; XML图像元素是原始图像的精确副本。

2 个答案:

答案 0 :(得分:1)

不确定是否有更简单的方法,但如果使用属性值模板,则可以执行此操作:

<xsl:template match="art_id">
    <xsl:text>
</xsl:text>
    <image>
        <art_id href="{@href}"/>
    </image>
</xsl:template>

答案 1 :(得分:0)

由于您谈到制作“精确副本”,xsl:copy-of将是一种选择。

<xsl:template match="art_id">
  <xsl:text>
</xsl:text>
  <image>
    <xsl:copy-of select="."/>
  </image>
</xsl:template>