XSL <node>和<node> </node> diff </node>

时间:2011-05-31 10:22:04

标签: xslt xpath

是否可以将<node/><node></node>与xsl区分开来?

2 个答案:

答案 0 :(得分:0)

不,也不符合任何符合要求的XML处理器。

(除非你有一些词汇信息可以用来推断出使用了哪种形式的标记 - 也许SAX定位器。)

答案 1 :(得分:0)

XSLT适用于解析的XML数据模型(XML树)。 XML数据模型在自闭元素和具有单独的开始和结束标记的空元素之间没有区别。它们都只是根本没有子节点的元素(文本,元素,注释等)。因此,在XSLT处理器将其转移到给定XML结构的阶段,所有这些词汇变化都已丢失。

我想到的只有解决方案是使用具有一些扩展名的解析器来将词法数据添加到已解析的树中。这可以基于通过添加表示不同词汇事件的新元素来修改树。然后,您的XSLT代码可以识别解析器添加的节点并进行相应的处理。

但最后,如果你不是因为它对你感兴趣而不是这么想,而是你真的需要在你的XSLT文档中区分<node/><node></node>,那么可能有些问题。你的工具链/过程模型。