DTD

来源:互联网 发布:mysql已删除的表 编辑:程序博客网 时间:2024/06/06 22:53

dtd基本认识

  1. 基本概念:document type definition–文档类型定义
  2. 该文件一般和xml文件配合使用
  3. 主要是用来约束xml(不是你想写什么就写什么)
  4. 除了dtd技术之外,还有一个schema技术也用于约束xml书写规范

基本语法:<!ELEMENT 元素名 类型>

引入:!DOCTYPE 根元素 SYSTEM(当前系统) "文件名"

我们发现引入了DTD文件,好像没有作用,因为我们是需要自己写编程html文件来校验XMLDTD是否配套.


DTD细节

DTD分类

  1. 内部DTD——<!DOCTYPE 根元素[定义内容]>
  2. 外部DTD——<!DOCTYPE 根元素 SYSTEM "DTD 文件路径"
  3. 一般用外部的多

在xml中引入dtd有两种方式

  1. 引入本地的dtd——!DOCTYPE 根元素 SYSTEM
  2. 引入公共的dtd—-!DOCTYPE PUBLIC url

DTD元素语法

    <!ELEMENT  元素名称  EMPTY>----不能包含子元素和文本    <!ELEMENT  元素名称  ANY>--可以嵌套子元素,但是要在DTD定义过的,文本内容可以随意放    <!ELEMENT  元素名称  #PCDATA>--可以包含任意字符,但是不能嵌套子元素


DTD属性的语法

基本语法:<!ATTLIST 元素名 属性名 类型 特点 ...>

类型:

  1. CDATA —可以放文本
  2. ID——-表示属性的值是唯一的,不能以数字打头
  3. IDREF/IDREFS—-(IDREF)引用另外的一个id,(IDREFS)如果希望引入多个,用空格隔开
  4. Enumerated——事先定义好一些值,属性值必须在所列值的范围

ENTITY/ENTITIES

  1. 为一段内容创建一个别名,以后XML文档中就可以使用别名引用这段内容了

有两种类型:

  1. 引用实体<!ENTITY 名称 文本>—最好定义在dtd最后,在xml中引用&名称;
  2. 参数实体<!ENTITY %名称 内容—引用:%名称;

属性特点:

  1. #REQUIRED —-必须有
  2. IMPLIED —可有可无
  3. FIXED “value” —如果有,则必须是”value”值
  4. default “value”–如果不指定,则默认值

0 0