答案 0 :(得分:1)
因为您正在使用身份转换,所以您可以通过单独应用模板来定义输出元素的顺序。例如:
<xsl:template match="product">
<xsl:param name="file"/>
<xsl:copy>
<xsl:apply-templates select="@*"/>
<xsl:if test="not(id)">
<id><xsl:value-of select="@id"/></id>
</xsl:if>
<xsl:apply-templates select="name"/>
<xsl:apply-templates select="description"/>
<xsl:apply-templates select="price"/>
<xsl:apply-templates select="image"/>
<xsl:apply-templates select="url"/>
<xsl:apply-templates select="category"/>
<catid><xsl:value-of select="category/@id"/></catid>
<shopid><xsl:value-of select="$file"/></shopid>
</xsl:copy>
</xsl:template>