属性是 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>
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
更新日志
- 张玮伽《微风细雨DSD》发烧大碟[WAV+CUE][1.1G]
- 群星《2024好听新歌14》十倍音质 U盘音乐 [WAV分轨][966M]
- s14全球总决赛T1战队队员都有谁 LOLs14全球总决赛T1战队介绍
- 英雄联盟faker身价有10亿吗 英雄联盟faker身价介绍一览
- faker大魔王称号怎么来的 faker大魔王称号来源介绍
- PS5 Pro上的蒂法更美了!博主盛赞新机1000%值得购买
- 腾讯互娱再离职一员大将!或因供应商贪腐
- Ayaneo3游戏掌机预热:旗舰定位、造型圆润自带底键
- 动力火车.1999-背叛情歌【上华】【WAV+CUE】
- 刘力扬.2019-Neon.Lit虹【摩登天空】【FLAC分轨】
- 群星.2002-恋爱物语情歌对唱精选2CD(引进版)【滚石】【WAV+CUE】
- 群星《闽南情24K德国HD金碟》2CD[WAV+CUE]
- 周传雄《恋人创世纪》环球唱片[WAV+CUE]
- 关淑怡-《真假情话K2HD》(日本压制)【WAV+CUE】
- 王菲 -《Faye Wong》雨果LPCD45 [WAV+分轨][1G]