简单灵活自定义属性(XML入门7)

      写XML文档,所有出现的自定义标记都要在DTD中声明。元素(element)需要声明,属性(attribute)需要声明,实体(entity)需要声明。这三种标记,声明的格式基本相同都是用“<!>”这种形式。

       元素(element)声明:

               例如:<!ELEMENT from(#PCDATA)>

        属性(attribute)声明:

                例如:<!ATTLIST payment type CDATA “check”>

         实体(entity)声明:

                例如:<!ENTITY writer “张三”>

       元素的灵活声明上篇已经说明,今天详细讲属性(attribute)的声明。属性声明重点要明白属性值的类型。

         属性值(attitude value)的类型有四种:默认值(default),固定值(fixed),必须值(required),不是必须值(implied)。下面举例这四种属性的声明格式。

一、属性值为默认值举例:

           <!ATTLIST  square width  CDATA“0”>

     这个例子声明,正方形宽度默认为零。如果XML文档不写属性,文档默认属性值为零。

      在XML文档应用举例:

             <square  width=“200”/>

    二、属性值为必须填写举例:

         在XML文档应用举例:

            <square  width=“200”/>

         但是下面就是非法的。

             <square  />

          按标记required属性值的要求,在XML文档中必须加属性。

三、属性值可有可无应用举例:

                <!ATTLIST  square width  CDATA  #IMPLIED>

         在XML文档应用举例:

              <square  width=“200”/>

         但是下面不写属性也可以使用。

               <square  />

         按标记imlied属性值的要求,在XML文档中可以灵活使用属性。

四、属性值固定应用举例:

         在XML文档中使用举例:

          <company  address=“广州五山路80-1号”/>

          按这个标记要求,公司地址只能是唯一的,写别的地址是非法的。

五、属性值是枚举类型举例:

         <!ATTLISTpayment  type(cash|check)“cash”>

          在XML文档中使用举例:

              <payment  type=“check”/>

          也可以写作

               <payment  type=“cash”/>

            这枚举类型可以写多个,如一周七天等等,非常实用。

        这里还要提示大家,属性名称可以自己定义如本例“type”,在DTD中还有十一个内部定义的属性类型。抄录如下:(使用方法与CDATA的方式是一样的。)

         CDATA:值为字符数据(character data);

       (en1|en2…):值为枚举序列的一个值。只能是其中的一个值。

         ID:值为唯一的id。

         IDREF:值为另外一个元素的id。

          IDREFS: 值为其他元素id的列表。

           NMTOKEN:值为合法的 XML 名称。

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

           ENTITY:值是一个实体。

           ENTITIES:值是一个实体列表。

           NOTATION:此值是符号的名称。

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

       以上十一个标记一定要清晰明白,这是属性类型名称,不是属性值。

               北荒客

                2020.2.27

你可能感兴趣的:(简单灵活自定义属性(XML入门7))