XML语法——DTD基础教程

    xiaoxiao2022-07-14  182

    标题

    DTD简介DTD元素(标签)1,EMPTY元素(空元素)2,PCDATA 的元素(文本元素)3,带有子元素的元素(混合元素)4,不是a就是b元素 DTD属性

    DTD简介

    文档类型定义可定义合法的标准通用标记语言、可扩展标记语言文档构建模块。它使用一系列合法的元素来定义文档的结构。 文档类型定义可被成行地声明于标准通用标记语言、可扩展标记语言文档中,也可作为一个外部引用。(来源百度知道)

    作为一个良好的XML,需要具备的条件有: 1.1 有且只有一个根元素。 1.2 XML标签大小写正确区分。 1.3 正确使用结束标签。 1.4 正确嵌套标签。 1.5 使用了合法的标签名。 1.6 定义有效的属性。

    所以不管是DTD或者Schema都得严格根据这些条件进行编写。

    DTD元素(标签)

    在一个 DTD 中,元素通过元素声明来进行声明,声明标签的时候需要注意的是,xml的标签只能有一个根标签。且标签不能以数字开始,不建议以下划线开始,同时在标签名中不要使用冒号。标签名可以是中文,但是一定指定能够识别中文的码表。但不建议书写中文。 而且,在xml中标签是区分大小写的! 有些报错可能就是没去区分大小写造成的。 下面介绍部分元素:

    1,EMPTY元素(空元素)

    空元素表示的是里面不含有属性和子标签。 实例:在persons根元素下,声明严格空元素。

    <!DOCTYPE persons [ <!ELEMENT br EMPTY> ]> <persons> <br/> </persons>

    2,PCDATA 的元素(文本元素)

    PCDATA 的元素代表的是元素里面只能放文本。 实例:

    <!ELEMENT name (#PCDATA)> <name>张大明</name>

    3,带有子元素的元素(混合元素)

    顾名思义,说明这个元素里面含有其他元素。 实例:

    <!ELEMENT person (name,age,contact,br?)> <person> <name></name> <age></age> <contact></contact> <br/> </person>

    4,不是a就是b元素

    就如单选一样,只能选择一个。注意的是需要设置默认值。 实例:

    <!ELEMENT contact (phone|email)> <contact> <phone></phone> </contact> 或 <contact> <email></email> </contact>

    DTD属性

    在xml中,每个标签也是可以拥有属性的。

    以下是 属性类型的选项:

    类型描述CDATA值为字符数据 (character data)(en1 I en2 I…)此值是枚举列表中的一个值ID值为唯一的 idIDREF值为另外一个元素的 idIDREFS值为其他 id 的列表NMTOKEN值为合法的 XML 名称NMTOKENS值为合法的 XML 名称的列表ENTITY值是一个实体ENTITIES值是一个实体列表NOTATION此值是符号的名称xml:值是一个预定义的 XML 值

    声明属性则是<!ATTLIST 标签名 属性名 属性限制 > 例:

    <!DOCTYPE persons [ <!ATTLIST person pid ID #REQUIRED > ]>
    最新回复(0)