• xml文件对应的DTD学习


    DTD文件:

    1.DTD文档主要由(元素,属性,实体,PCDATA,CDATA)

    2.声明一个元素:<!ELEMENT 元素名称 (元素内容)>

    eg: <!ELEMENT persons (person)>

    特殊元素: <!ELEMENT 元素名称 EMPTY>结果类诗如下:<!ELEMENT br EMPTY>

    效果:<br />

    带有任何内容的元素: <!ELEMENT 元素名称 ANY>  EG: <!ELEMENT note ANY>

     

    3.当最后只有PCDATA元素时 (元素内容) –> (#PCDATA)

    <!ELEMENT 元素名称 (#PCDATA)>

    eg:  <!ELEMENT name (#PCDATA)>

     

    4.带有子元素的元素:

    <<

     

    <!ELEMENT 元素名称 (子元素名称,多个用“,”分割)>

    eg:  <!ELEMENT person (id,name,age) >

     

    5.在默认的情况下,声明的元素都是只出现一次的。

    在元素后面添加标志,可改元素出现的次数。

    +  :出现1次或多次,至少出现一次,

    *  :出现0次或多次,

    ?  :出现0次或1次,

     

    6.声明属性  <!ATTLIST 元素名称  属性名称  属性类型  默认值>

    其中属性类型可以有以下选择:

    CDATA
    值为字符数据 (character data)

    (en1|en2|..)
    此值是枚举列表中的一个值

    ID
    值为唯一的 id

    IDREF
    值为另外一个元素的 id

    IDREFS
    值为其他 id 的列表

    NMTOKEN
    值为合法的 XML 名称

    NMTOKENS
    值为合法的 XML 名称的列表

    ENTITY
    值是一个实体

    ENTITIES
    值是一个实体列表

    NOTATION
    此值是符号的名称

    xml:
    值是一个预定义的 XML 值

     

    默认值可以取以下值:

     

    #REQUIRED
    属性值是必需的

    #IMPLIED
    属性不是必需的

    #FIXED value
    属性值是固定的

    eg:  <!ATTLIST person  sex  CDATA  “男”>

    7.声明一个实体:<!ENTITY 实体名称  “实体的值”>

    <! ENTITY copyright “Copyright author”>

     

     

    8.一个简单的应用:

    1.不按标准写但结构类似写法:

    <persons  sex>

        <person>

             <id></id>

             <name></name>

             <age></age>

        </person>

    </persons>

    2.把上面的转为dtd格式:

    <!ELEMENT persons (person)>

    <!ELEMENT persons  sex  CDATA  “男”>

    <!ELEMENT person (id,name,age)>

    <!ELEMENT id (#PCDATA)>

    <!ELEMENT name (#PCDATA)>

    <!ELEMENT age (#PCDATA)>

  • 相关阅读:
    Spring Security简单的登陆验证授权
    汽车之家汽车品牌Logo信息抓取 DotnetSpider实战[三]
    汽车之家店铺商品详情数据抓取 DotnetSpider实战[二]
    如何解决 MySQL报错:ERROR 1045 (28000)
    linux三剑客grep|sed|awk实践
    VMware中Linux启动时***Host SMBus controller not enabled的解决方法
    selenium初探:WebDriverException解决方法探索(以Chrome浏览器|IE浏览器|Edge浏览器为例)
    Windows10 64位 Python2.7 Matplotlib安装
    关于 水平制表符 Horizontal Tab (TAB)
    leetcode每日解题思路 221 Maximal Square
  • 原文地址:https://www.cnblogs.com/haoke/p/4448735.html
Copyright © 2020-2023  润新知