Xml 简明教程

XML - Attributes

这一章描述了 XML attributes 。属性是 XML 元素的一部分。一个元素可以具有多个唯一的属性。属性提供了有关 XML 元素的更多信息。更准确地说,它们定义了元素的属性。XML 属性始终是名称-值对。

Syntax

XML 属性具有以下语法 −

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

其中 attribute1 和 attribute2 具有以下形式 −

name = "value"

value 必须位于双引号 (“ ") 或单引号 (' ') 中。此处,attribute1 和 attribute2 是唯一的属性标签。

属性用于向元素添加唯一的标签,将标签置于一个类别中,添加布尔标志,或将它与某些数据字符串关联。以下示例演示了属性的使用 −

<?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>

属性用于区分同名元素,当您不想为每种情况都创建一个新元素时。因此,使用属性可以在区分两个或多个相似元素时添加更多细节。

在以上示例中,我们通过包括属性类别并将不同的值分配给每个元素来对植物进行分类。因此,我们有两个类别的植物,一类是花卉,另一类是灌木。因此,我们有两个带有不同属性的植物元素。

您还可以观察到我们在 XML 的开头声明了此属性。

Attribute Types

下表列出了属性类型 −

Attribute Type

Description

StringType

它将任何文字字符串作为值。CDATA 是 StringType。CDATA 是字符数据。这意味着任何非标记字符的字符串都属于属性的合法部分。

TokenizedType

这是一种更受限的类型。语法中指出的有效性约束在属性值标准化之后应用。标记类型属性的表示如下 − ID − 用于将元素指定为唯一。 IDREF − 用于引用另一个元素已命名的 ID。 IDREFS − 用于引用元素的所有 ID。 ENTITY − 表示该属性将在文档中表示一个外部实体。 ENTITIES − 这种属性将在文档中表示外部实体。 NMTOKEN − 它类似于 CDATA,它对哪些数据可以成为属性的一部分有限制。 NMTOKENS − 它类似于 CDATA,它对哪些数据可以成为属性的一部分有限制。

EnumeratedType

它在声明中有一个预定义值的列表。必须从该列表中分配一个值。有两种类型的枚举属性 − NotationType − 声明元素将被引用到 XML 文档中其他位置声明的 NOTATION。 Enumeration − 枚举允许您定义属性值必须匹配的一个特定值列表。

Element Attribute Rules

以下是针对属性需要遵循的规则 −

  1. 属性名称不得在同一开始标签或空元素标签中出现多次。

  2. 必须使用 Attribute-List Declaration 在 Document Type Definition (DTD) 中声明属性。

  3. 属性值不得包含对外部实体的直接或间接实体引用。

  4. 在属性值中直接或间接引用的任何实体的替换文本都不得包含小于号 ( &lt; )