沒有空元素自我關閉的 xml 可以格式良好嗎?
像這樣的任何東西:
<team>Chicago Bulls<playerA/>23<playerB/>43</team>
代替:
<team>Chicago Bulls<playerA>23</playerA><playerB>43</playerB></team>
它的格式會很好嗎,我可以在哪里讀到它?主要來自 w3c。
提前致謝
uj5u.com熱心網友回復:
是的,您的兩個示例都是格式良好的,但是在玩家編號之前添加一個player元素而不是將其放在player元素的內容中將是一個非常糟糕的設計決策,因為它無法利用 XML 工具和開發商會期待。
您可以閱讀有關格式良好的更多資訊,
- 2.1 格式良好的 XML 檔案
- “有效的 xml”和“格式良好的 xml”之間有什么區別嗎?
但不要期望看到您的觀點得到明確解決,因為您的問題與其說是關于結構良好,不如說是關于設計。
歷史筆記
XML 的前身 SGML 有一個省略結束標記的概念,這可能與您提出問題的動機有關。而不是在你的第一個例子中使用自閉合標簽(產生空元素,要清楚),
<team>Chicago Bulls<playerA/>23<playerB/>43</team>
所述playerA和playerB元素可以被定義為具有省略結束標記,使以下標記:
<team>Chicago Bulls<playerA>23<playerB>43</team>
您的自閉合player元素已被省略結束標簽的開放標簽所取代。這不會是格式良好的 XML。
uj5u.com熱心網友回復:
您顯示的 XML 格式良好,但沒有“非空自閉合元素”。如果我們添加一些空格,我們可以顯示節點之間的關系:
<team>
Chicago Bulls
<playerA/>
23
<playerB/>
43
</team>
因此,該team元素有 5 個子節點:
- 包含“芝加哥公牛隊”的文本節點
- 一個
playerA沒有屬性或內容的元素被呼叫 - 包含“23”的文本節點
- 一個
playerB沒有屬性或內容的元素被呼叫 - 包含“43”的文本節點
除了它們的順序之外,沒有表示這些節點之間的關系——特別是,文本“23”不與任何一個自閉合元素相關聯。
另一種表示這一點的方法是記住這<foo/>只是一種不同的寫作方式 <foo></foo>,所以我們也可以這樣寫:
<team>Chicago Bulls<playerA></playerA>23<playerB></playerB>43</team>
相比之下,系統地向第二個示例添加空格將如下所示:
<team>
Chicago Bulls
<playerA>
23
</playerA>
<playerB>
43
</playerB>
</team>
在這種情況下,teams元素只有三個直接子元素:
- 包含“芝加哥公牛隊”的文本節點
- 一個名為 的元素
playerA,其中包含一個包含“23”的文本節點 - 一個名為 的元素
playerB,其中包含一個包含“43”的文本節點
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/353690.html
上一篇:XML“識別”標簽
