属性是 XML 元素的一部分。一个元素可以有多个唯一属性。属性提供了 XML 元素的更多信息。更准确地说,它们定义了元素的属性(property)。XML 属性始终是一个_名-值_对。
语法
XML 属性语法如下:
- <element-name attribute1 attribute2 >
- ....content..
- </element-name>
其中 attribute1 和 attribute2 具有以下形式:
XML/HTML Code复制内容到剪贴板- name = "value"
value 必须使用双引号(" ")或单引号(' ')包裹。这里 attribute1 和 attribute2 都是唯一的属性标签。
属性被用来给元素添加一个唯一标签,分类标签,添加布尔值属性或者关联一些字符串数据。下面的示例演示了如何使用属性:
XML/HTML Code复制内容到剪贴板- <?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 属性分类了植物,并且给每个元素分配了不同的值。因此我们就有了两个 plants 类别,一个是 flowers,另一个是 color。这样我们都得到了两个带有不同属性的 plants 元素。
你还可以看到我们在 XML 的开头定义了这个属性。
属性类型
下表列出了属性的类型:
这是一个限制类型。语法中指出的有效性约束会在属性值规范化之后应用。下面是 TokenizedType 属性:
- ID:用来指定元素是唯一的。
- IDREF:用来引用一个ID,该ID命名了另一个元素。
- IDREFS:用来引用一个元素的所有 IDs。
- ENTITY:指示属性将表示文档中的一个外部实体。
- ENTITYS:指示属性将表示文档中的一个外部实体。
- NMTOKEN:类似限制哪些数据可以是属性一部分的CDATA。
- NMTOKENS:类似限制哪些数据可以是属性一部分的CDATA。
在它的声明中包含一个预定义的值列表。在这里,它必须分配一个值。有两种类型的枚举属性:
- NotationType:它声明元素在 XML 文档的某些地方将被引用为一个 NOTATION 声明。
- Enumeration:枚举允许我们定义一个特定值列表,属性值必须与之匹配。
元素属性规则
以下是定义属性需要遵循的规则:
同一起始标签或者空元素标签中属性名只能出现一次。
属性必须使用属性属性列表声明(Attribute-List Declaration)定义在文档类型定义(DTD)中。
属性值中不能直接或者间接引用包含外部实体。
属性值中被直接或间接提及的任何实体的替代文本都不能包含小于号(<)。
将数据存储在子元素中
一个案例中使用了日期属性:
- <note date="12/11/2002">
- <to>Tove</to>
- <from>Jani</from>
- <heading>Reminder</heading>
- <body>Don't forget me this weekend!</body>
- </note>
第二个案例中使用了日期元素:
XML/HTML Code复制内容到剪贴板- <note>
- <date>12/11/2002</date>
- <to>Tove</to>
- <from>Jani</from>
- <heading>Reminder</heading>
- <body>Don't forget me this weekend!</body>
- </note>
第三个案例中使用了扩展日期元素(这是我们常用的方法):
XML/HTML Code复制内容到剪贴板- <note>
- <date>
- <day>12</day>
- <month>11</month>
- <year>2002</year>
- </date>
- <to>Tove</to>
- <from>Jani</from>
- <heading>Reminder</heading>
- <body>Don't forget me this weekend!</body>
- </note>
XML,属性
更新日志
- 孙露《一抹伤HQ》头版限量[WAV+CUE][1G]
- 黄安.1989-一切从头(TP版)【天际唱片】【FLAC分轨】
- 群星.1994-浓情蜜意情歌精丫华纳】【WAV+CUE】
- 邓丽君.1983-淡淡幽情(2022环球MQA-UHQCD限量版)【环球】【WAV+CUE】
- 试音天碟《专业测试第一天碟》经典天碟精选[WAV分轨][1G]
- 试音典范 《情惹发烧情HQCD》人声发烧极品 [WAV+CUE][1G]
- 世界顶级汽车音响试音王《幸福在路上》[低速原抓WAV+CUE][1.1G]
- 老头杯第二届什么时候开始 英雄联盟第二届老头杯开赛时间介绍
- 老头杯第二届什么时候结束 英雄联盟第二届老头杯结束时间介绍
- 老头杯第二届规则是什么 英雄联盟老头杯第二届规则介绍
- 王崴-爵士听堂.蓝色波萨(HQCD)[WAV+CUE]
- 群星《欧美动听情歌·柔情第5季》2CD【DTS-WAV分轨】
- [极品珍藏]德意志进行曲集卡拉扬SACD[WAV+CUE]
- 前暴雪制作人呼吁反击DEI 玩家:夺回文化!
- 腾讯证实子公司Sharkmob大规模裁员:整个市场很低迷