xslt - xsl:text 元素中的空格
问题描述
我有以下样式表:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="text" encoding="UTF-8"/>
<xsl:template match="/">
<xsl:text>1</xsl:text>
<xsl:text>
</xsl:text>
<xsl:text>2</xsl:text>
</xsl:template>
</xsl:stylesheet>
当使用 Saxon 9.8 运行它时,我得到以下结果:
1
2
当使用 MSXML 6.0 运行它时,空格被剥离,我得到:
1 2
什么是正确的行为?这里的空格应该被剥离吗?
解决方案
正确的行为就像您从撒克逊人看到的那样。
这里有一些历史,我不记得完整的细节,但是 MSXML 有一个讨厌的习惯,即在解析器本身中去除空白文本节点。如果 XML 解析器去除了空白文本节点,那么它们永远不会到达 XSLT 处理器,因此这是否符合所有 XSLT 规则没有区别。
我很确定 MSXML 中有控制这种行为的选项,因此请准确检查您是如何调用 MSXML 解析器的,并在必要时更改选项。
推荐阅读
- ajax - 我想每 15 秒后使用 ajax 调用来刷新页面?
- javascript - 单击卡片内的特定元素
- git - 有没有一种工具可以用来检测大文件夹中哪些文件发生了变化?
- kotlin - 如何根据项目过滤kotlin中的数据
- flutter - 我们如何在颤动中创建带有线条(附图)的数字UI代码
- javascript - how to acces variables from another function?
- amazon-web-services - AWS Cloudformation - PFSense 实例与私有和公有子网连接
- javascript - 这是为什么要编辑数据吗?
- amazon-web-services - AWS athena 深度扫描 JSON 数据
- c# - 如何使用 Xamarin.Forms.DependencyService 注入具有构造函数注入的 ViewModel