通过XSLT编辑XML的属性。这个xml文档有10到15个这种类型的属性。
Example:
<class student="TUTORIAL" Book_type="science" num_pages="250" online_license="yes" tag="online library"/>
result
<class student="TUTORIAL" Book-type="science" num-pages="250" online-license="yes" tag="online library"/>
&#13;
答案 0 :(得分:3)
首先,您使用相同的转换转换所有
<xsl:template match="node() | @*">
<xsl:copy>
<xsl:apply-templates select="node() | @*"/>
</xsl:copy>
</xsl:template>
之后的句柄属性如下
<xsl:template match="@*[contains(name(.), '_')]">
<xsl:attribute name="{translate(name(), '_', '-')}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:template>
<强>输出强>
<class student="TUTORIAL" Book-type="science" num-pages="250" online-license="yes" tag="online library"/>
答案 1 :(得分:0)
<xsl:template match="class">
<xsl:copy>
<xsl:attribute name="Book-type">
<xsl:value-of select="@Book_type"/>
</xsl:attribute>
<xsl:attribute name="num-pages">
<xsl:value-of select="@num_pages"/>
</xsl:attribute>
<xsl:attribute name="online-license">
<xsl:value-of select="@online_license"/>
</xsl:attribute>
<xsl:apply-templates select="@* except (@Book_type|@num_pages|@online_license)"/>
</xsl:copy>
</xsl:template>
Check this code if it is useful for you.