xml之dtd约束
DTD:Document Type Definition 文档定类型定义。 作用:是用来约束XML的书写规范。 写法: 内部声明: 假如 DTD 被包含在您的 XML 源文件中,它应当通过下面的语法包装在一个 !DOCTYPE 声明中:<!DOCTYPE根元素 [元素声明]> 外部声明: 本地: <!DOCTYPE 根元素 SYSTEM "dtd文件名"> 外地(网上): <!DOCTYPE 根元素 PUBLIC “dtd的名称” “dtd的路径”> DTD语法: <!ELEMENT 元素名称 使用规则> 使用规则:
定义子元素及描述它们的关系:
如: <!ELEMENT MYFILE ((TITLE*,AUTHOR?,EMAIL)* | COMMENT)> 定义属性:在DTD文档中使用ATTLIST关键字来为一个元素声明属性。 语法: <!ATTLIST元素名 属性名1属性值类型设置说明 属性名2属性值类型设置说明 … > 如: <!ATTLIST商品 类别CDATA#REQUIRED 颜色CDATA#IMPLIED > 对应的XML为:<商品类别=“服装”颜色=“***”/> 属性值类型: 设置说明: CDATA:表示属性的取值为普通的文本字符串 ENUMERATED (DTD没有此关键字):表示枚举,只能从枚举列表中任选其一,如(鸡肉|牛肉|猪肉|鱼肉) ID:表示属性的取值不能重复 #REQUIRED:表示该属性必须出现 #IMPLIED:表示该属性可有可无 #FIXED:表示属性的取值为一个固定值。语法:#FIXED "固定值" 直接值:表示属性的取值为该默认值 定义实体: 为一段内容指定一个名称,使用时通过这个名称就可以引用其所代表的内容。 在DTD文档中使用ENTITY关键字来声明一个实体。 实体可分为:引用实体和参数实体,两者的语法不同 引用实体语法:<!ENTITY 实体名称 “实体内容”> 在XML中引用方式:&实体名称 参数实体语法:<!ENTITY % 实体名称 “实体内容”> 在DTD中引用方式:%实体名称 示例(网上搜的): <?xmlversion="1.0"?> <!DOCTYPEnote[ <!ELEMENTnote(to,from,heading,body)> <!ELEMENTto(#PCDATA)> <!ELEMENTfrom(#PCDATA)> <!ELEMENTheading(#PCDATA)> <!ELEMENTbody(#PCDATA)> ]> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don'tforgetmethisweekend</body> </note> !DOCTYPE note (第二行)定义此文档是 note 类型的文档。 !ELEMENT note (第三行)定义 note 元素有四个元素:"to、from、heading,、body" !ELEMENT to (第四行)定义 to 元素为 "#PCDATA" 类型 !ELEMENT from (第五行)定义 from 元素为 "#PCDATA" 类型 !ELEMENT heading (第六行)定义 heading 元素为 "#PCDATA" 类型 !ELEMENT body (第七行)定义 body 元素为 "#PCDATA" 类型 备注:用的时候具体看W3School的DTD教程,地址:http://www.w3school.com.cn/dtd/index.asp (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |