您的位置:首页 > 其它

XML语法——DTD基础教程

2019-05-23 20:57 148 查看

标题

  • 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 值为唯一的 id
    IDREF 值为另外一个元素的 id
    IDREFS 值为其他 id 的列表
    NMTOKEN 值为合法的 XML 名称
    NMTOKENS 值为合法的 XML 名称的列表
    ENTITY 值是一个实体
    ENTITIES 值是一个实体列表
    NOTATION 此值是符号的名称
    xml: 值是一个预定义的 XML 值

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

    <!DOCTYPE persons [
    <!ATTLIST person
    pid ID #REQUIRED
    >
    ]>
    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: