我正在尝试开发一个 XSLT 样式表,它将通过保持 View 将一个 xml 转换为另一个:
- 默认情况下,样式表不应为每个元素显示任何内容(甚至文本也不应显示)。
- 如果某个元素有明确的模板匹配,则复制该元素、它的属性及其所有子元素(及其属性)。
换句话说,恒等式仅转换明确指定的元素。
最佳答案
好吧,对于大多数人来说什么都不做,肯定是这样的:
<xsl:template match="/*">
<xsl:copy>
<xsl:apply-templates select="*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="*">
<xsl:apply-templates select="*"/>
</xsl:template>
然后为您做想要的添加匹配项:
<xsl:template match="Foo | Bar">
<xsl:copy-of select="."/>
</xsl:template>
但是,这似乎是一个非常不寻常的要求。通常,您只需使用通过 xml 知识导航到已知内容的匹配项。
关于xml - 仅变换指定的元素,丢弃其余元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/815587/