XML - 屬性



本章描述了**XML 屬性**。屬性是 XML 元素的一部分。一個元素可以有多個唯一的屬性。屬性提供了關於 XML 元素的更多資訊。更準確地說,它們定義了元素的屬性。XML 屬性始終是名稱-值對。

語法

XML 屬性具有以下語法:

<element-name attribute1 attribute2 >
....content..
< /element-name>

其中attribute1attribute2具有以下形式:

name = "value"

value必須用雙引號(" ")或單引號(' ')括起來。這裡,attribute1attribute2是唯一的屬性標籤。

屬性用於向元素新增唯一標籤,將標籤放入類別,添加布爾標誌,或以其他方式將其與某些資料字串關聯。以下示例演示了屬性的使用:

<?xml version = "1.0" encoding = "UTF-8"?>
<!DOCTYPE garden [
   <!ELEMENT garden (plants)*>
   <!ELEMENT plants (#PCDATA)>
   <!ATTLIST plants category CDATA #REQUIRED>
]>

<garden>
   <plants category = "flowers" />
   <plants category = "shrubs">
   </plants>
</garden>

當您不想為每種情況建立一個新元素時,屬性用於區分相同名稱的元素。因此,使用屬性可以更詳細地區分兩個或多個類似的元素。

在上面的例子中,我們透過包含屬性category併為每個元素分配不同的值來對植物進行分類。因此,我們有兩個類別的植物,一個是,另一個是灌木。因此,我們有兩個具有不同屬性的植物元素。

您還可以觀察到,我們在 XML 的開頭聲明瞭此屬性。

屬性型別

下表列出了屬性型別:

屬性型別 描述
StringType 它接受任何文字字串作為值。CDATA 是 StringType。CDATA 是字元資料。這意味著任何非標記字元的字串都是屬性的合法部分。
TokenizedType

這是一個更受約束的型別。在屬性值被規範化後,將應用語法中注意到的有效性約束。TokenizedType 屬性如下所示:

  • ID - 用於將元素指定為唯一。

  • IDREF - 用於引用已為另一個元素命名的 ID。

  • IDREFS - 用於引用元素的所有 ID。

  • ENTITY - 指示屬性將表示文件中的外部實體。

  • ENTITIES - 指示屬性將表示文件中的外部實體。

  • NMTOKEN - 類似於 CDATA,但對屬性中可以包含哪些資料有限制。

  • NMTOKENS - 類似於 CDATA,但對屬性中可以包含哪些資料有限制。

EnumeratedType

在其宣告中有一個預定義值的列表。從中,它必須分配一個值。有兩種列舉屬性型別:

  • NotationType - 宣告元素將被引用到 XML 文件其他地方宣告的 NOTATION。

  • Enumeration - 列舉允許您定義屬性值必須匹配的特定值列表。

元素屬性規則

以下是屬性需要遵循的規則:

  • 屬性名稱在同一個開始標籤或空元素標籤中不能出現多次。

  • 屬性必須使用屬性列表宣告在文件型別定義 (DTD) 中宣告。

  • 屬性值不能包含對外部實體的直接或間接實體引用。

  • 直接或間接在屬性值中引用的任何實體的替換文字不能包含小於號 (<)

廣告