美文网首页
简单灵活自定义元素(XML入门5)

简单灵活自定义元素(XML入门5)

作者: 北荒客 | 来源:发表于2020-02-26 02:14 被阅读0次

           DTD规则非常灵活,定义指令和文件内容,可以在XML文档外部单独存储DTD文件,达到共享目的,也可以直接放在XML文档内独享。

           自定义XML标记常用的有三种,定义元素(element),定义属性(attribute)以及定义实体(entity)。下面我们分别说明。先声明,这些定义可以出现在DTD文件内,也可以放在XML文件内。而且语句相同,完全一样。就是说:你完全可以把DTD文件内容全部拷贝黏贴在XML文档内,然后省略DTD文档。减去XML文档的依赖负担。

           首先记住,DTD定义的内容不论单独文件内,还是在XML文档开始处,都必须现在以声明指令之中。即:开始指令:“<!DOCTYPE 根元素名 [”和结束指令:“]”。这一点,上一篇文内已经说明。今天在强调一遍。

    一、定义元素(element)

       定义格式:<!ELEMENT 根元素名(子元素1,子元素2)>

       开始指令:<!ELEMENT根元素名(子元素1,子元素2)

       结束指令:>

       使用方法举例: 

        灵活运用定义元素指令,下面举例说明常见各种情况。

    1、定义元素,可以是空之标记

          例如:<!ELEMENT br EMPTY>

           在XML文档使用,可以为:<br/>

    2、定义元素,可以没有任何内容的标记

          例如:<!ELEMENT note ANY>

          在XML文档使用,可以为:<note></note>

    3、定义元素,可以定义只能在note标记内出现一次的子元素

            <!ELEMENT note(address)>

           在XML文档使用举例:

             <note>

             <address>现在住址:黄埔区大沙东路78号</address>

              </note>

    4、 定义元素,可以定义子元素,至少在note标记内出现一次。

          <!ELEMENT note(address+)>

           在XML文档使用,可以为:

           <note>

           <address>现在住址:黄埔区大沙东路78号</address>

            <address>户口地址:天河区五山路67号</address>

            </note>

    5、定义元素,可以定义子元素,在note标记可以不出现,也可以出现多次。

           <!ELEMENT note(address*)>

             在XML文档使用,可以为:这个不用举例,想出现就出现,也可不出现。

    6、定义元素,可以定义子元素,在note标记可以不出现,或出现一次。

            <!ELEMENT note(address?)>

             在XML文档使用,可以为:这个不用举例,可以不出现,或出现一次。

    7、 定义元素,定义多个子元素,在note标记中,有的子元素可以非此即彼。

            <!ELEMENT note(to,from,heading,(body|message))>

             在XML文档使用:在note内不是使用body就是使用message。

             不是使用<body></body>就是使用<message></message>

    8、 定义元素,定义多个子元素,在note标记中,可以随便使用。

             在XML文档使用:这个不用举例,可以随便使用。

    9、 定义元素的数据类型。

           <!ELEMENT from(#PCDATA)>

            这种元素标记,都是这种类型。XML文档中出现的标记都是必须定义这种类型。

    二、定义属性(attribute)

           定义属性的格式:

            定义格式:<!ATTLIST元素名属性名属性类型“属性值”>

            开始指令:<!ATTLIST元素名属性名属性类型“属性值”

             结束指令:>

             使用方法举例:

            <!ATTLIST payment type CDATA “check”>

             在XML文档中:

            <payment type=“check”/>

    三、定义实体(entity)

              定义属性的格式:

              定义格式:<!ENTITY 实体名“实体值”>

              开始指令:<!ENTITY 实体名“实体值”

              结束指令:>

              使用方法举例:

              <!ENTITY writer“张三”>

               在XML文档中:

               <author>&writer;</ author>

               关于定义属性和实体的详细说明,下篇细说。

                 北荒客

                  2020.2.26

    相关文章

      网友评论

          本文标题:简单灵活自定义元素(XML入门5)

          本文链接:https://www.haomeiwen.com/subject/gwujchtx.html