为什么XPath运算符区分大小写?

时间:2011-03-31 10:14:46

标签: xpath

我确信这是有原因的,但是:为什么XPath运算符区分大小写?

这不是解决XPath问题(我们已经解决了这个问题) - 我只想知道为什么我要打扰它!

3 个答案:

答案 0 :(得分:8)

我认为大多数现代语言都区分大小写。显然,XPath遵循XML是有道理的。 XML区分大小写的一个原因是,当您超出英语字母时,大小写折叠可能是一项非常复杂的业务:例如,ß的大写字母是SS,但SS的小写字母是ss。那么Straße和Strasse的元素名称是一样的吗?

答案 1 :(得分:2)

XPath区分大小写,因为XML区分大小写

因此,

/AAA

与:

不同
/aaa

对于运算符,在XPath 1.0中,大多数运算符完全由非字母字符组成。

最后oranddiv运算符以及由字母组成的Xpath 2.0运算符 - 例如unionintersectexcept。这些区分大小写的原因与大多数现代编程语言(不包括VB和SQL)相同。

答案 2 :(得分:1)

XML是区分大小写的(即'foo','FOO','Foo'在XML中都是不同的名称),这样任何用于选择XML文档中的节点的语言都需要区分这种情况,至少对于那些按名称处理节点选择的语言部分。

如果您真的在询问运算符,例如逻辑运算符andor,那么我认为只是与XML的一致性区分大小写,并且XPath的某些部分必然是必然的区分大小写。但这是我的猜测,我不知道有关XPath设计过程的细节。 http://www.w3.org/TR/xpath/列出了编辑者的电子邮件地址,甚至可能有W3C电子邮件列表的公共档案,记录了您可以搜索的设计过程。