XML入门教程-属性声明代码示例

一个有效的xml文档,必须对元素的属性进行声明。使用attlist声明来完成,一个attlist可以为一个元素类型声明多个属性。 
required> 
上例声明image元素必须有一个src属性,该属性的值是字符数据。可用attlist声明为一个元素声明多个属性,如: 
width cdata #required height cdata #required alt cdata #implied > 
上述声明指出src、width、height属性是必须的,alt属性是可选的。 1.属性类型

CDATA类型属性值可包含任意文本字符串。DTD不能指定属性为一个整数或一个日期,Schema能提供更为强大的数据类型。 

NMTOKEN类型属性值是一个XML名称记号。XML名称记号与XML名称类似,但XML名称记号允许所有的字符作为名称的开始字符,而XML名称的第一个字母必须是字母、表意字符和下划线。因此10,.bashrc是合法的XML名称标记,但不是合法的XML名称。每个XML名称都是一个XML名称标记,然而XML名称标记不全是XML名称。如果属性包含1990,2005之类的整数,则应该指定其类型为NMTOKEN。如: 


登录后复制登录后复制登录后复制登录后复制登录后复制登录后复制

NMTOKENS类型属性包含一个或多个用空白分隔的XML名称记号。如: 

person

登录后复制

对应的声明应为: 


登录后复制登录后复制登录后复制登录后复制登录后复制登录后复制

另一方面,对01/02/2005这样的形式不能使用该声明,因为其中的正斜杠不是合法的名称字符。 

枚举声明,枚举不用关键字。直接列举所有的值,中间用竖线分隔。如: 


登录后复制登录后复制登录后复制登录后复制登录后复制登录后复制

针对上述声明,date元素的month属性可选十二个月份的中一个。 

ID类型的属性必须包含一个XML名称,而且该名称在文档中是独一无二的。ID属性可为元素分配一个唯一的标识符。 


登录后复制登录后复制登录后复制登录后复制登录后复制登录后复制

由于数字不是合法的XML名称,所以ID编号不能以数字开头,解决办法是在前面加下划线或字母。 

IDREF类型的属性指向文档中某元素的ID类型的属性。因此,它必须是一个XML名称,它的作用是当简单的包含关系不能满足要求时在元素间建立多对多关系。如: 

 deploy linux    linuxsir  

登录后复制

project元素的project_id属性和person元素的card_id属性应该是ID类型。team_member元素的person_card_id属性和assignment元素的project_project_id属性是IDREF类型。对应的声明如下: 

   

登录后复制

IDREFS类型的属性包含一个XML名称列表。名称间用空白间隔,且每个名称都是文档中某个元素的ID。当某个元素需要引用多个其他元素时使用该元素。如: 

 

登录后复制

对应的文档可写成: 

 deploy linux   Linuxsir 

登录后复制

ENTITY类型的属性包含在DTD的其它位置声明的未析实体的名称中。如movie元素可能有一个标识激活时播放mpeg或rm文件的实体属性: 


登录后复制登录后复制登录后复制登录后复制登录后复制登录后复制

如果DTD声明了一个名为play的未析实体,则此movie元素可用于在XML文档中嵌入视频文件: 


登录后复制

ENTITIES类型的属性包含在DTD的其它位置声明的多个未析实体名称,其间用空白隔开。 


登录后复制登录后复制登录后复制登录后复制登录后复制登录后复制

如果DTD声明了未析实体slide1、slide2、slide3、…,则可使用slide_show元素在XML文档中嵌入幻灯片。 


登录后复制

NOTATION类型的属性包含在文档的DTD中声明的某个记法的名称。该属性类型较少用。理论上,可以使用该属性使某些特殊元素与类型相关联,下例声明为不同的图像类型定义了4个记法,然后规定每个image元素都必须从中选择一种type属性。 

    

登录后复制

每个image元素的type属性的值可以为gif,tiff,jpeg和png四个值中的一个。该属性比枚举类型稍具优势,因为记法的实际MIME媒体类型在理论上是可用的。由于斜杠在XML名称中不是一个合法字符,所以枚举类型不能指定image/png或image/jpeg作为允许值。

2.属性缺省值 
每个ATTLIST声明除了要提供一种数据类型外,还要声明属性的缺省行为。 

#IMPLIED,属性可选。 

#REQUIRED,属性必须有。 

#FIXED,属性是常量,不能更改。 

Literal,作为一个引用字符串的实际缺省值。 

如果没有显示指明person元素的name属性,则该值为linuxsir。

登录后复制

以上就是XML入门教程-属性声明代码示例的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2419325.html

(0)
上一篇 2025年3月3日 02:42:46
下一篇 2025年2月18日 02:47:59

AD推荐 黄金广告位招租... 更多推荐

发表回复

登录后才能评论