良構
XML 文件是符合 XML 規範良構規則的文字檔案。據說這種符合要求的檔案格式正確 (不要與有效檔案混淆 )。與其他語言(如 HTML)相比,XML 非常嚴格,格式良好。格式不正確的文字檔案不被視為 XML,根本不能使用應用程式。
以下是一些適用於 XML 文件的規則:
-
XML 使用了很多自我描述的語法。prolog 定義 XML 版本和字元編碼:
<?xml version="1.0" encoding="UTF-8"?>
-
必須只有一個頂級元素。
但是,頂級也允許使用註釋,處理指令以及初始 XML 宣告。文字和屬性不是。
<?xml version="1.0"?> <!-- some comments --> <?app a processing instruction?> <root/> <!-- some more comments -->
-
元素可以巢狀,但必須正確巢狀:
<name> <first-name>John</first-name> <last-name>Doe</last-name> </name>
嵌入元素的開始和結束標記必須位於其容器元素的開始和結束標記內。元素的重疊是非法的。特別是,這不是格式良好的 XML:
<foo><bar></foo></bar>
-
屬性可能只出現在開始元素標籤或空元素標籤中,而不是在關閉元素標籤中。如果屬性語法出現在元素之間,則它沒有意義並被解析為文字。
<person first-name="John" last-name="Doe"/>
這不是很好的形式:
<person></person first-name="John"/>
-
註釋,處理指令,文字和其他元素可以出現在元素內的任何位置(即,在其開始和結束標記之間),但不能出現在標記內。
<element> This is some <b>bold</b> text. <!-- the b tag has no particular meaning in XML --> </element>
這個例子形式不正確:
<element <-- comment --> />
-
<
字元可能不會出現在文字或屬性值中。 -
"
字元可能不會出現在"
引用的屬性值中。'
字元可能不會出現在'
引用的屬性值中。 -
字元序列
--
可能不會出現在評論中。 -
文字
<
和&
字元必須由各自的實體<
和&
轉義。