javaweb学习笔记(二)-DTD技术

来源:互联网 发布:编程谜题 pdf 编辑:程序博客网 时间:2024/05/14 06:50

  继续学习DTD技术,DTD是一门xml约束技术,用来约束xml写法和对xml进行校验,这个只需要看得懂就行了,那还是比较轻松的蛤(~ ̄▽ ̄)~ 

  1,DTD的引入:

   1.1外部引入:

    (1)本地文件引入:dtd文件在本地硬盘<!DOCTYPE 根元素名称 SYSTEM "文件所在路径">

    (2)公共位置文件引入:dtd文件存在于公共网络,<!DOCTYPE 根元素名称 PUBLIC "dtd名称" "dtd的URL">

   1.2在xml内部写约束

    在文档声明下<!DOCTYPE 根元素名称 [约束内容]>

  2,约束元素:<!ELEMENT 元素名称 元素约束>

    元素约束可以是元内容或存放类型

     存放类型:ANY:声明元素可以包含任意子元素;EMPTY:声明元素不能含任何元素

     存放内容:用小括号括起来的元素名称<!DOCTYPE "元素名称" (可以包含的元素名称)>,小括号中的内容,可以有多个子元素的名称
      “,”分割这些子元素就表明这些子元素必须按指定的顺序出现如果用

      “|”分割这些内容就表明这些子元素只能出现其中之一使用

      “+”来表明内容可以出现一次或多次
      “*”来表明内容可以出现零次或多次
      “?”来表明内容可以出现零次或一次
      #PCDATA表明该元素可以包含标签体

  3,约束属性:<!ATTLIST 属性名称 属性类型 属性约束>

    类型:   (1)CDATA:表明该属性的值是一个普通的文本值。
        (2)ENUMERATED:表明该属性的值只能取指定范围内的其中之一
        (3)ID:表明该属性值在整个文档中必须唯一,注意ID类型的属性的值必须以字母下划线开头,并且不能以数字开头,不能包含空白字符

    约束: (1)#REQUIRED 来表明当前这个属性是必须存在的属性
        (2)#IMPLIED 来表明当前这个属性是可选的属性
        (3)#FIXED "固定值" 来表明当前这个属性具有一个默认的值,可以不明确指定该属性,解析器会帮你加上,如果你硬是指定了一个其他的值,会出错。
        (4)"默认值" 来表明当前属性具有一个默认的值,如果给这个属性指定一个值就用指定的值,如果不指定呢,就使用默认值。

  4,实体:可以理解为对一段内容的引用

    引用实体:在xml中。声明:<!ENTITY 实体名称 "实体内容">;引用:&实体名称;

    引用实体:在dtd文件中。声明:<!ENTITY % 实体名称 "实体内容">;引用:%实体名称;


0 0
原创粉丝点击