星期六, 1月 06, 2007

詞辨:element、tag

如果查閱W3C對於XML檔案結構的說明 ,會清楚看到XML文件是由多個element所組成,而每一個element可以是以下兩種形式:
  • empty-element-tag:也就是像是<img src="http://www.w3c.org/head.hpg" />這種沒有content的element。
  • start-tag content end-tag:也就是以一對起始標籤/結束標籤所界定範圍所組成,像是<a href="http://www.w3c.org/">W3C</a>這樣。
因此,element與tag並不相同,不過綜觀市面上的一些書籍,有些已經把element與tag混為一談,譬如當我讀到Professional ASP.NET 2.0的第13章時,就看到以下這段話:
The third line, , is the root element or document entity of the XML document. An XML
document can have only one root element. The last line in the document is the matching end element
.
很顯然的,依據W3C的說法,這一段話裡頭的"root element"應該改成"start tag of root element";而"end element"應該改成"end tag"才是正確。不過這本書這樣寫是情有可原的,因為如果回頭查閱微軟.NET的說明文件,會看到XmlReader對於整個XML結構樹的每一個節點,有以下的種類(原文件請看這裡):
  • Element:項目。 XML 範例:
  • EndElement:結尾項目標記。XML 範例:
可見微軟的文件中就是把tag當成是element,因此許多書也這樣寫就再自然不過了。

沒有留言: