DTD

DTD技术


 1.DTD:是一门XML约束技术,用来约束XML写法。



 2.如何在XML中引入一个DTD?


   *外部引入
:dtd约束文件存在在一个外部文件中,我们在XML中引入该约束。
        (1)本地文件引入:该dtd文件存在在本地硬盘中
        <!DOCTYPE 根元素的名称 SYSTEM "文件所在的路径">
        (2)公共位置文件引入:dtd约束文件存在在一个公共网络上,我们在XML引入该约束
        <!DOCTYPE 根元素的名称 PUBLIC "dtd名称" "dtd所在的URL">


   *在XML内部写dtd约束: 在文档声明下<!DOCTYPE 根元素名称 [dtd约束的内容]>



 3.利用dtd约束XML中的元素
        <!ELEMENT 元素名称 元素约束>


  *元素约束:


       (1)存放类型
            ANY:当前声明的元素可以包含任意子元素
            EMPTY:当前声明的元素不能包含任何元素


       (2)存放内容:利用小括号括起来的元素的名称,用来表示该元素中可以存放哪些内容
            <!ELEMENT "元素名" (可以包含的元素的名称)>
            小括号中的内容,可以有多个子元素的名称
            如果用“,”分割这些子元素就表明这些子元素必须按指定的顺序出现
            如果用“|”分割这些内容就表明这些子元素只能出现其中之一
            使用“+”来表明内容可以出现一次或多次
            使用“*”来表明内容可以出现零次或多次
            使用“?”来表明内容可以出现零次或一次
            #PCDATA表明该元素可以包含标签体
            可以利用()进行组操作:
            <!ELEMENT MYFILE ((TITLE*, AUTHOR?, EMAIL)* | COMMENT)>



 4.利用dtd约束XML中的属性
     <!ATTLIST 元素名
         属性名 属性类型 属性约束
          ...>


    *属性类型
   (1)CDATA:表明该属性的值是一个普通的文本值。
   (2)ENUMERATED:表明该属性的值只能取指定范围内的其中之一
   (3)ID:表明该属性值在整个文档中必须唯一,注意ID类型的属性的值必须以字母下划线开头,并且不能以数字开头,不能包含空白字符
   
    *属性约束
   (1)#REQUIRED 来表明当前这个属性是必须存在的属性
   (2)#IMPLIED 来表明当前这个属性是可选的属性
   (3)#FIXED "固定值" 来表明当前这个属性具有一个默认的值,可以不明确指定该属性,解析器会帮你加上,如果你硬是指定了一个其他的值,会出错。
   (4)"默认值" 来表明当前属性具有一个默认的值,如果给这个属性指定一个值就用指定的值,如果不指定呢,就使用默认值。
   
5.实体:可以理解为对一段内容的引用,如果有一段内容到处在被使用,可以将其设计为一个实体


  (1) 引用实体:用在XML中的实体。
                   声明实体:<!ENTITY 实体名称 "实体内容">
                   引用引用实体:&实体名称;
    
   (2)参数实体:用在DTD文件中的实体。
                   声明实体:<!ENTITY % 实体名称 "实体内容">
                   引用参数实体: %实体名称;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值