扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:中国IT实验室 来源:中国IT实验室 2007年9月22日
关键字:
在本页阅读全文(共6页)
实体属性类型与参数实体
实体在XML中充当着宏或别名的角色。实体最根本的作用是帮助你为一大段文本创建一个别名,这样,在文件的另一个位置需要引用这段文本时,仅需要指向它的别名就可以了。它还意味着一旦需要修改,仅需要在一个地方作改动,就完成了全局的改动。
我们还提到,实体分为一般实体和参数实体两种类型,它们都可以定义为内部的也可以用关键字SYSTEM定义为外部的。实体的定义必须出现在引用之前,而且要注意正确嵌套,不能出现循环引用的情况。在Dtd中,这两种类型的实体都得到了广泛的应用。
实体属性类型
实体类型的属性值属于一般实体,如前所述,它的定义方式是: <!ENTITY 实体名 "实体内容">
或利用SYSTEM定义外部实体,方式为: <!ENTITY 实体名 SYSTEM "外部文件名">
引用方式为: &实体名;
使用关键字ENTITY,则声明一个属性是实体类型,它的取值为已定义的实体。请看下面例子:
<?xml version = "1.0"
encoding="Gb2312"
standalone = "yes"?>
<!DOCTYPE 文件[
<!ELEMENT 文件 ANY>
<!ELEMENT 电影 EMPTY>
<!ATTLIST 电影 来源 ENTITY #REQUIRED>
<!ENTITY bladeRunner SYSTEM "dvds/bR/br.mov">
]>
<文件>
<电影 来源 = "&bladeRunner;">
</文件>
参数实体参数实体专门用在Dtd中。定义方式是: <!ENTITY % 实体名 "实体内容">
或: <!ENTITY % 实体名 SYSTEM "外部文件名">
引用方式为: %实体名;使用参数实体,可以方便元素和属性的声明。例如:
<!ENTITY % TAG_NAMES "姓名 | EMAIL | 电话 | 地址">
<!ELEMENT 个人联系信息 (%TAG_NAMES; | 生日)>
<!ELEMENT 客户联系信息 (%TAG_NAMES; | 公司名)>
最后提醒大家注意,不要以为实体属性类型的定义与Dtd有关,所以它使用的就是参数实体。参数实体只能在Dtd中使用,而对于任何元素属性值的指定(除了缺省值外),都是在XML文件正文中进行的,因此实体属性值仍属于一般实体。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者