DTD技术
Posted 盛夏光年2017
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DTD技术相关的知识,希望对你有一定的参考价值。
DTD技术
文档类型定义----Document Type Definition
用来描述XML文档的结构,一个DTD文档包含:
1、元素的定义规则
2、元素之间的关系规则
3、属性的定义规则
使用DTD可以:
每个XML文件可以携带一个自身格式的描述
不同组织的人可以使用一个通用DTD用来交换数据
应用程序可以使用一个标准DTD校验从外部接受的XML数据是否有效
DTD文档的声明以及引用:
内部DTD
<!DOCTYPE 根元素 [定义内容]>
外部DTD文档
<!DOCTYPE 根元素 SYSTEM "DTD文件路径">
内外部DTD文档结合
<!DOCTYPE根元素 SYSTEM "DTD文件路径 [定义内容]>
---------------------------
元素的定义:
<!ELEMENT NAME CONTENT>
<!关键字 元素名称 元素类型>
元素类型:
EMPTY ---不能包含子元素和文本,但可以有属性(空元素)
#PCDATA---可以包含任何字符数据,但是不能在其中包含任何子元素
纯元素类型---只包含子元素,并且这些子元素外没有文本
ANY----------可以包含任何在DTD中定义的元素内容
<!ELEMENT 元素名称 EMPTY>
<!ELEMENT 元素名称 (#PCDATA)>
<!ELEMENT 元素名称 (人+,家电*)>
<!ELEMENT 元素名称 ANY> ----将根元素设置为ANY,元素出现的次数和顺序不受限制
通常一般用在子元素里面
() 给元素分组
| 在列出的对象中选择一个
, 对象按照指定顺序出现
* 0-多次
? 0-1次
+ 1-多次
<!DOCTYPE CCTV-6 [
<!ELEMENT CCTV-6(电影+)>
<!ELEMENT 电影(名称,主演+,类型?,片长)>
<!ELEMENT 名称 (#PCDATA)>
<!ELEMENT 主演 (#PCDATA)>
<!ELEMENT 类型 (#PCDATA)>
<!ELEMENT 片长 (#PCDATA)>
]>
定义属性的语法:
<!ATTLIST 元素名称 属性名称 属性类型 属性特点...>
属性类型——----------------------------------------------
CDATA --- <!ATTLIST 元素名称 CDATA #REQUIRED>
表示属性值可以是任何字符(包括数字和中文)
<木偶 姓名="Pi Luocao"/>
<木偶 姓名="匹诺曹"/>
ID----------<!ATTLIST 公司职员
编号 ID #REQUIRED
姓名 CDATA #REQUIRED>
该属性的取值是唯一的
IDREF/IDREFS----<!ELEMENT 家庭 (人+)>
<!ELEMENT 人 EMPTY>
<ATTLIST 人
relID ID #REQUIRED
parentID IDREFS #IMPLIED
name CDATA #REQUIRED
>
IDREF属性的值只向文档中其他地方声明的ID类型的值
IDREFS,同IDREF,但是可以具有由空格分开的多个引用
Enumerated------<!ATTLIST person
婚姻状态 (未婚|结婚|离婚) #IMPLIED>
<!ATTLIST person 性别(男|女) #REQUIRED>
预定义一些值,属性的值必须在所在的值范围内
属性特点——
#REQUIRED
#IMPLIED
#FIXED value
Default value
以上是关于DTD技术的主要内容,如果未能解决你的问题,请参考以下文章