2011-03-31 48 views
6

我確信這是有原因的,但是:爲什麼XPath運算符區分大小寫?爲什麼XPath運算符區分大小寫?

這不是關於解決XPath問題(我們已經在解決這個問題了) - 我只想知道爲什麼我必須打擾!

+0

好問題,+1。請參閱我的答案以獲取最短的解釋。 :) – 2011-04-03 16:28:25

回答

8

我認爲大多數現代語言都區分大小寫。很顯然,XPath遵循XML是有意義的。 XML區分大小寫的一個原因是,當您擴展到英文字母之外時,案例摺疊可能是一項相當複雜的業務:例如,大寫的β是SS,但小寫的SS是ss。 Straße和Strasse是否也有相同的元素名稱?

+1

+1優秀的答案。支持UNICODE的XML和最簡單的解析導致區分大小寫。 – 2011-03-31 13:29:57

1

那麼XML是區分大小寫的(即'foo','FOO','Foo'在XML中都是不同的名稱),這樣任何意在選擇XML文檔中的節點的語言都需要區分這種情況,至少對於處理按名稱選擇節點的語言部分而言。

如果您真的在詢問諸如邏輯運算符andor這樣的運算符,那麼我認爲它與XML區分大小寫一致性,並且XPath的某些部分必須區分大小寫。但是,這是我的猜測,我不知道有關XPath設計過程的細節。 http://www.w3.org/TR/xpath/列出了編輯人員的電子郵件地址,甚至可能會有W3C電子郵件列表的公共檔案,記錄您可以搜索的設計過程。

2

XPath區分大小寫,因爲XML區分大小寫

因此,

/AAA 

是不一樣:

/aaa 

至於運營,XPath 1.0中大多數運營商都完全由非字母字符構成。

最後,所述oranddiv運營商和XPath 2.0中運算符由字母 - 如unionintersectexcept。這些區分大小寫的原因與大多數現代編程語言(不包括VB和SQL)相同。

相關問題