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

       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))