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) 中声明。

  • 属性值不能包含对外部实体的直接或间接实体引用。

  • 直接或间接在属性值中引用的任何实体的替换文本不能包含小于号 (<)

广告