【XML系列】----DTD中的元素定义

DTD的文档结构如下:

        第一行是DTD声明部分,该声明与XML文档的声明语法格式相同

        0到多个注释部分,DTD注释与XML文档的注释格式完全相同

        0到多个<!ELEMENT…>定义的每一个就是一个XML元素

        0到多个<!ATTLIST…>顶一个每一个就是一个XML元素的属性

        0到多个<!ENTITY…>顶一个每一个就是一个实体

        0到多个<!NOTATION…>顶一个每一个就是一个符号

    它们彼此之间完全独立,无需相互嵌套。

1.  定义元素

  元素类型的定义的全称是:Element Type Definition,简称ETD,它不但会定义每个文件中可能存在的元素,给出的元素名称,而且会定义元素的具体类型。

元素类型描述主要有五种:

  a)  任意类型

    可以是以下四种中任意的内容

    例如:<!ELEMENT book ANY>

  b)  字串值

    例如:”aaa”

  c)  空元素

    <br/>

  d)  包含子元素

    元素嵌套

  e)  混合元素

    案例:

        

2.  定义子元素

  a)   定义有序的子元素

    使用英文逗号,用于分隔有序的子元素

    <!ELEMENT book(name,price,state)>

  b)   互斥的子元素

    互斥的子元素表明一些列的子元素中只能出现其中之一。

    使用”|”进行分隔

  c)   子元素出现的频率

    +(一次次或多次)

    ?(0次或一次)

    *(0次或多次)

    注意:混合类型中的频率只能按如下方式添加频率

    <!ELEMENT book(#PCDATA|子元素1|子元素2)*>

    只能在最后加

  d)   组合子元素

    <!ELEMENT book(name|price|state)>

    这种元素类型呗成为组合子元素

    组合元素也可以嵌套写:

    <!ELEMENT book((name,price)|state)>

  e)   无序的子元素

    DTD并没有定义无序子元素的语法,我们只能借助元素组进行定义

    例如:

    <!ELEMENT book(name|price|state)*>

    这时在XML文档中书写标签时,在book标签下三个子元素的顺序是无序的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值