本章介紹了 XML 屬性。屬性是 XML 元素的一部分。一個元素可以有多個唯一屬性。屬性提供了 XML 元素的更多信息。更準確地說,它們定義了元素的屬性(property)。XML 屬性始終是一個_名-值_對。
XML 屬性語法如下:
<element-name attribute1 attribute2 >
....content..
</element-name>
其中 attribute1 和 attribute2 具有以下形式:
name = "value"
value 必須使用雙引號(" ")或單引號(' ')包裹。這里 attribute1 和 attribute2 都是唯一的屬性標簽。
屬性被用來給元素添加一個唯一標簽,分類標簽,添加布爾值屬性或者關(guān)聯(lián)一些字符串數(shù)據(jù)。下面的示例演示了如何使用屬性:
<?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>
屬性被用來區(qū)分同名元素。當我們不希望為每種情況都創(chuàng)建一個新元素時。我們可以使用屬性添加更多的細節(jié)以區(qū)分兩個或多個類似的元素。
在上面的例子中,我們通過包含 category 屬性分類了植物,并且給每個元素分配了不同的值。因此我們就有了兩個 plants 類別,一個是 flowers,另一個是 color。這樣我們都得到了兩個帶有不同屬性的 plants 元素。
你還可以看到我們在 XML 的開頭定義了這個屬性。
下表列出了屬性的類型:
屬性類型 | 描述 |
---|---|
StringType | 接受字符串值作為值。CDATA 是一個 StringType。CDATA 也是字符數(shù)據(jù)。這也意味著任何非標記字符都是合法的屬性。 |
TokenizedType |
這是一個限制類型。語法中指出的有效性約束會在屬性值規(guī)范化之后應(yīng)用。下面是 TokenizedType 屬性:
|
EnumeratedType |
在它的聲明中包含一個預(yù)定義的值列表。在這里,它必須分配一個值。有兩種類型的枚舉屬性:
|
以下是定義屬性需要遵循的規(guī)則: