Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个 XML 文档,它引用了用于 HTML 输出的 XSL 文件。
在 XSL 文件中,我"<xsl:value-of select="fieldname" />"在我的 XML 文件中放入了引用项目的各种标签。
"<xsl:value-of select="fieldname" />"
但是对于我没有映射的项目,它们只是在 html 页面底部显示为一个长字符串?
我是否真的需要省略所有未在 XSL 文件中引用的 xml 数据项以使它们消失,或者我的 XSL 文件中是否存在解决此问题的技巧或错误?
j
这是 XSLT 处理模型的结果。
如果一个节点应该被处理并且 XSLT 代码中没有模板匹配它,XSLT 使用它的*内置模板。匹配文本节点的内置模板复制它。
解决方案:
添加这个覆盖文本节点的 XSLT 内置模板的模板:
<xsl:template match="text()"/>
这会导致代码中没有被更具体的模板匹配的任何文本节点(并且没有用xsl:copy-ofor复制xsl:value-of)被忽略(“删除”)。
xsl:copy-of
xsl:value-of