如何解决XSL <node />和<node> </ node> diff
| 是否可以用xsl区分<node/>
和<node></node>
?
解决方法
XSLT在解析的XML数据模型(XML树)上工作。 XML数据模型在自动闭合元素和带有单独的开始和结束标记的空元素之间没有区别。它们都是完全没有子节点的元素(文本,元素,注释等)。因此,在XSLT处理器将其交付给定的XML结构的阶段中,所有这些词汇上的变化都已经丢失了。
我想到的唯一解决方案是使用具有某些扩展名的解析器,以将词法数据添加到解析的树中。这可以基于通过添加代表不同词法事件的新元素来修改树的基础。然后,您的XSLT代码可以识别解析器添加的那些节点并进行相应的处理。
但是最后,如果您不是仅仅因为您感兴趣而问这个问题,而是您确实需要在XSLT文档中区分
<node/>
和<node></node>
,那么您的工具链/流程模型可能出了点问题。
, 不可以,也不能与任何兼容的XML处理器一起使用。
(除非您具有一些词法信息,否则可以用来推断使用了哪种形式的标记-可能是SAX定位器。)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。