加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

XML DTD详解

发布时间:2020-12-16 05:58:25 所属栏目:百科 来源:网络整理
导读:1.DTD 简介 文档类型定义(DTD)可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构。DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用。 元素的定义 DTD中的修饰符号: 这部分符号可以联系正则表达式的符号来记忆。 属性的定义

1.DTD 简介

文档类型定义(DTD)可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构。DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用。

元素的定义

DTD中的修饰符号:

  这部分符号可以联系正则表达式的符号来记忆。

属性的定义

属性类型——CDATA

  比如:

<!ATTLIST title name CDATA #REQUIRED>

  定义了一个属性,是属于title元素的,属性名叫name,类型是字符串(包括数字和中文),并且是一个必须要有的属性。

属性类型——NMTOKEN/NMTOKENS

  左边图中因为加了空格而出错。

属性类型——ID

  类型为ID的属性取值必须是唯一的。

  从这个例子还可以看到同一个元素可以一次定义多个属性,多个属性之间用空格分隔即可。

属性类型——IDREF/IDREFS

                                        (“儿子”后面漏掉了一个斜线)

属性类型——Enumerated

  实现定义好一些值,属性的值必须在所列出的值的范围内。

属性的特点

#REQUIRED

  元素的所有实例都必须有该属性的值(NOT NULL)。

  语法:

ATTLIST 元素名 属性名 属性类型 #REQUIRED   DTD示例:

ATTLIST person number CDATA #REQUIRED   XML示例:

<person number="6788"/>

#IMPLIED

  元素的实例中可以忽略该属性(NULL)。

ATTLIST 元素名 属性名 属性类型 #IMPLIEDATTLIST contact fax CDATA #IMPLIEDcontact fax="888-228833"   没有这个属性也是对的。

#FIXED value

  元素实例中该属性的值必须为指定的固定值。

ATTLIST 元素名 属性名 属性类型 #FIXED "value"ATTLIST sender company CDATA #FIXED "Microsoft"sender company="Microsoft"Default value

  为属性提供一个默认的值。

ATTLIST 元素名 属性名 属性类型 "value"ATTLIST hello paymenttype CDATA "check"hello paymenttype="check"定义实体

一般

ENTITY 实体名 "实体值"ENTITY writer "Donald Duck"> ENTITY copyright "Copyright W3Schools"author>&writer;&copyright;</外部实体:

ENTITY 实体名 SYSTEM "URI/URL"ENTITY writer SYSTEM "http://www.baidu.com/index.php?tn=coralqq"ENTITY copyright SYSTEM "http://www.baidu.com/index.php?tn=coralqq"   与上面的区别就是加上了SYSTEM关键字。

  这样就不是使用网址的字符串来代替,而是用网址的文档本身内容。

实体类型

  前面所讲的都是普通实体,分为内部实体和外部实体。

  所谓参数实体,该实体实际上不是在具体实例化文档中使用,而是在DTD文档内部被使用。

  我们可以定义一个实体,然后在DTD内部来引用它。

  如下:

ENTITY %地址 "街道,城市,邮编,国家"ELEMENT 联系人 (人名,电话,%地址;)>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读