实际上我需要将xml文件转换为DITA,并为某些实例删除属性。即使我用过" 排除结果前缀="#all" "在XSL中,
我的输入xml文件是:
<LearningStandardItem xml:lang="en" RefID="CA9EE2E34F384E95A5FA26769C5864B8">
<RefURI>http://corestandards.org/Math/Content/K/CC/A/1/</RefURI>
</LearningStandardItem>
我使用的XSL:
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" exclude-result-prefixes="#all" >
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="LearningStandardItem">
<bodydiv outputclass="LearningStandardItem">
<xsl:apply-templates select="@*|node()"/>
</bodydiv>
</xsl:template>
</xsl:stylesheet>
我得到的输出:
<bodydiv outputclass="LearningStandardItem"
**xml:lang="en"**
id="CA9EE2E34F384E95A5FA26769C5864B8">
<p outputclass="RefURI">http://corestandards.org/Math/Content/K/CC/A/1/</p>
</bodydiv>
但我需要删除xml:lang =&#34; en&#34;在输出中如下所示:
<bodydiv outputclass="LearningStandardItem"
id="CA9EE2E34F384E95A5FA26769C5864B8">
<p outputclass="RefURI">http://corestandards.org/Math/Content/K/CC/A/1/</p>
</bodydiv>
请提供有关此问题的建议。提前谢谢。
答案 0 :(得分:3)
添加空模板<xsl:template match="LearningStandardItem/@xml:lang"/>
,使其不会被复制。