XSLT的xsl:strip-space和xsl:preserve-space有什么用

畫卷琴夢
发布: 2025-12-14 20:11:04
原创
292人浏览过
xsl:strip-space和xsl:preserve-space用于控制XSLT中纯空白文本节点的保留或删除:前者删除指定元素内纯空白节点,后者强制保留;推荐先全局strip-space再针对性preserve-space。

xslt的xsl:strip-space和xsl:preserve-space有什么用

xsl:strip-spacexsl:preserve-space 是 XSLT 中控制空白字符(空格、制表符、换行符)如何被处理的两个核心指令。它们不改变 XML 内容本身,而是告诉 XSLT 处理器:对哪些元素里的“纯空白文本节点”,该删还是该留。

解决的是什么问题

XML 源文件中常有为可读性添加的缩进和换行,比如:

<book>
  <title>XML入门</title>
  <author>张三</author>
</book>
登录后复制

这些换行和空格在解析时会生成“纯空白文本节点”。默认情况下,XSLT 会保留全部——但多数 HTML 输出或结构化数据转换并不需要它们,反而会导致多余空行、错位或 XPath 匹配失败。

strip-space:主动清理无意义空白

它声明哪些元素内的纯空白节点应被直接丢弃。适用于数据型内容,如数值、ID、日期等:

Musho
Musho

AI网页设计Figma插件

Musho 76
查看详情 Musho
  • 写法示例: <strip-space elements="price country year"></strip-space>
  • 只影响“纯空白”节点(即整段内容全是空白),不影响 <title> Hello </title> 中的前后空格
  • 能减少结果树节点数量,轻微提升性能和输出整洁度

preserve-space:有选择地保留格式

它覆盖 strip-space 的规则,强制保留指定元素中的纯空白。适用于需原样呈现的场景:

  • 写法示例: <preserve-space elements="code pre poem"></preserve-space>
  • 常见于代码块、诗歌、配置片段等依赖缩进/换行的内容
  • 当一个元素同时被 strip-space 和 preserve-space 声明时,preserve-space 优先生效

实际使用建议

别依赖默认行为——看似省事,实则容易引发“幽灵空白”或意外截断。推荐做法是:

  • 顶层先用 <strip-space elements="*"></strip-space> 清除所有默认空白(白名单策略起点)
  • 再用 <preserve-space elements="code pre textarea"></preserve-space> 精准放行需要格式的元素
  • 避免混用通配符和具体名(如 elements="* title"),不同处理器解析可能不一致

基本上就这些。不复杂但容易忽略,一加一减之间,输出就干净了。

以上就是XSLT的xsl:strip-space和xsl:preserve-space有什么用的详细内容,更多请关注php中文网其它相关文章!

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号