0
如何在一個XML文件中指定空元素: DTD:XML DTD。空元素
<!ELEMENT WARNING EMPTY>
XML:
<WARNING />
или
<WARNING></WARNING>
?
兩者都被解析器接受爲正確的。
如何在一個XML文件中指定空元素: DTD:XML DTD。空元素
<!ELEMENT WARNING EMPTY>
XML:
<WARNING />
или
<WARNING></WARNING>
?
兩者都被解析器接受爲正確的。
XML規範明確指出,您給出的兩種表單應視爲等同。見https://www.w3.org/TR/xml/#sec-starttags
它推薦(與A應)的配對標籤形式<e></e>
用於聲明爲能夠有內容和元素的單標籤形式<e/>
元素宣佈爲空。在既沒有DTD也沒有Schema的應用程序中,這種區別是不可用的,我沒有這樣的印象,即任何人都不關注規範在這個問題上的建議。 (這在當時似乎是個好主意。)
[附錄,稍後]我最近有機會再次看看規範的相關部分,一位朋友提醒我注意這樣一個事實, <e/>
用於聲明爲EMPTY的元素標記爲「For interoperability」,該規範將其定義爲「爲了增加在XML之前成功與SGML軟件進行交互操作的可能性」。這似乎解釋了爲什麼很少有人遵循所描述的模式:現在很少有人需要與1998年以前開發的SGML軟件進行交互操作。
問題是什麼?事實上,這兩個元素都沒有內容,即它們是空的。這意味着' '和' '是合法的考慮你的DTD。 –
potame
@potame這不是問題。這是一個問題。如果兩個元素都合法,哪一個更喜歡? –
我自己的偏好會去' ',因爲它沒那麼冗長。但我會堅持:兩者都是一樣的。 –
potame