dtd快速入门

dtd快速入门

创建一个文件  后缀名.dtd
步骤:1、看xml中有多少个元素(标签)
     2、有几个元素,在dtd文件中写几个<!ELEMENT>
     3、判断元素是简单元素还是复杂元素(有无子元素)
     4、复杂元素<!ELEMENT 元素名称 (子元素,子元素,...)>
        简单元素<!ELEMENT 元素名称 (#PCDATA)>
     5、在xml中引入dtd文件:<!DOCTYPE 根元素名称 SYSTEM "dtd文件路径">
        根元素为xml根元素

浏览器只负责校验语法,不校验约束,校验约束需要使用工具

dtd三种引入方式:(1)引入外部的dtd文件
               <!DOCTYPE 根元素名称 SYSTEM "dtd文件路径">
              (2)引入内部的dtd文件
              <!DOCTYPE 根元素名称 [dtd代码]> 
              (3)使用外部的dtd文件(网络上的)
              <!DOCTYPE 根元素名称 PUBLIC "DTD名称" "DTD文档的URL">

使用dtd定义元素

语法格式<!ELEMENT 元素名称 元素约束>

简单元素:<!ELEMENT name (#PCDATA)>
(#PCDATA):约束是字符串类型
EMPTY:元素为空
ANY:任意
只有第一个有括号

复杂元素:<!ELEMENT 元素名称 (子元素)>
这些子元素只能出现一次
子元素+"+":一次或多次
子元素+"*":任意次数
子元素+"?":0次或一次

逗号","表示子元素出现的顺序
竖线"|"只能出现其中任意一个

使用dtd定义属性

attlist :<!ATTLIST 元素名称
            属性名称 属性类型 属性的约束
            >
属性类型:CDATA :表示属性的取值为普通的文本字符串
        ENUMERATED (DTD没有此关键字):表示枚举,如(鸡肉|牛肉|猪肉)
        ID :表示属性的取值不能重复,必须以字母或者下划线开头

属性约束:#REQUIRED :表示属性必须有
        #IMPLIED :表示属性可有可无
        #FIXED :表示一个固定值 #FIXED "AAA"
        直接值 :"内容"  不写属性使用默认值,写了属性使用设定值

使用dtd定义实体

实体语法 :<!ENTITY 实体名 实体变量>
实体使用 :&实体名称; 比如&test;
注:定义实体需要写在内部dtd里面,如果写在外部的dtd里面,有某些浏览器下内容得不到
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值