dtd语法

1.如何在xml中引入dtd
    (1)外部引入
      可以将dtd的约束内容写在外置的dtd文件中,这个文件后缀必须为.dtd而文件保存时必须用utf-8编码保存.
      再在xml文件中使用
        <!DOCTYPE 根元素名称  SYSTEM 文件的位置>
        如果写的是SYSTEM表明当前引入的dtd在当前文件系统中,后面制定的文件位置是当前硬盘中的位置
        <!DOCTYPE 文档根结点 PUBLIC "DTD名称" "DTD文件的URL">
        如果写的是PUBLIC表明当前引入的dtd在网络公共位置中,后面要指明dtd的名字和dtd所在网络位置URL地址
    (2)内部引入
      直接在xml中书写dtd
      <!DOCTYPE 根元素名称[
        dtd约束....
      ]>


  2.dtd语法
      (1)元素
          <!ELEMENT 元素名称 元素约束>
            元素约束:
                存放类型:ANY/EMPTY
元素约束:子元素的列表,将可以包含的子元素用小括号括起来
子元素之间可以使用逗号进行分割,表明子元素必须按照顺序出现
子元素之间可以使用竖线进行分割,表面子元素出现其中之一
#PCDATA 表明包含标签体


+ 表示一次或多次
* 0次或多次
? 0次或一次


也可以使用小括号进行组的操作




      (2)属性
<!ATTLIST 元素名 
属性名 属性类型 属性约束
属性名2 属性类型  属性约束
......
>


属性类型:
CDATA:表示属性的值是一个普通字符串
ENUMERATED : 属性的值是一个枚举列表中的值
ID: 表明属性的值必须在整个文档中都是唯一的,如果有重复的id则校验不通过,ID 属性的值只能由字母,下划线开始,不能使用数字,不能出现空白字符


属性约束:
#REQUIRED  --- 表明当前属性是一个必须存在的属性,如果这样的属性不存在则在校验时会报错
#IMPLIED --- 表明当前属性是一个可选的属性,可以有也可以没有
#FIXED '固定值' --- 表明当前属性具有一个固定值,这样的属性不需要进行赋值,自动就会取这个固定值为值.如果这样的属性指定了一个不是固定值的值则校验报错
'默认值'  ---  表明当前属性具有一个默认值,如果给了其他的值就用其他值,如果没有给值则取这个默认值




(3)ENTITY(实体)
<!ENTITY >,就是对一大段内容的引用,可以简化代码的复用


引用实体:在xml中引用的实体叫做引用实体
<!ENTITY 实体名称 “实体内容” >
&实体名称;


参数实体:在dtd中引用的实体叫做参数实体
<!ENTITY % 实体名称 "实体内容">
%实体名称;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值