现在的位置: 首页 > 综合 > 正文

2011.09.27-xml-dtd

2013年01月07日 ⁄ 综合 ⁄ 共 1687字 ⁄ 字号 评论关闭

 

   DTD文档---总格式:

        <!DOCTYPE 根元素[

           元素、属性、实体的定义

        ]>

      元素的定义:

      <!ELEMENT 元素名字 (原始类型)>

      元素类型:

        子元素类型:

           #PCDATA:字符串

           EMPTY:空元素 注意:没括号

           ANY:表示任何字符数据或者定义的子元素类型

        #PCDATA和ANY的区别:

           ANY表示任何字符数据或者子元素类型 #PCDATA只能表示字符串

           混合类型:(#PCDATA/子类型)

              如:<!ELEMENT students (#PCDATA|student)*> *

                 就可以在根标记后 添加字符串 <students> aa

           ?:表示该元素可以出现0次或者1次

           +:表示该元素可以出现1次或者多次

           *:表示该元素可以任意次

           ,:表示顺序出现

           ():分组

           |:表示两者选其一

        没有任何符号修饰表示必须出现并且只能出现一次

 

<!--

      DTD中属性的定义:

           格式:

      <!ATTLIST 属性所在的元素 属性的名字 属性的类型 默认值类型>

           属性的类型:

                 ID:表示该元素唯一 类型为ID的属性 在文档中是唯一的

                 如果属性类型是ID 则不能以数字开头

                 CDATA:表示字符数据 (最常用)

                 枚举类型:将所有可以出现的情况列举出来 如:(男|女)

                 NMTOKEN:是CDATA一个子类 表示该属性的值只能包括:字母 数字 句号 _ 中间不能包括空格

                 默认值类型:

                      #REQUIRED 表示该属性必须出现

                      #IMPLIED  表示该属性可以出现

                      #FIXED    表示该属性的值是固定的 不能够改变

           实体:

                 内部实体:

                      <!ENTITY  实体的名字 "实体中的内容">

                      引用实体方式: &实体名称

                 外部实体:

                      <!ENTITY 实体名称 SYSTEM "资源路径">

-->

 

DTD的属性:

我最喜欢的方式

下面的三个 XML 文档包含完全相同的信息:

第一个例子中使用了 date 属性:

<note date="08/08/2008">

<to>George</to>

<from>John</from>

<heading>Reminder</heading>

<body>Don't forget the meeting!</body>

</note>

 

第二个例子中使用了 date 元素:

<note>

<date>08/08/2008</date>

<to>George</to>

<from>John</from>

<heading>Reminder</heading>

<body>Don't forget the meeting!</body>

</note>

第三个例子中使用了扩展的 date 元素(这是我的最爱):

<note>

<date>

  <day>08</day>

  <month>08</month>

  <year>2008</year>

</date>

<to>George</to>

<from>John</from>

<heading>Reminder</heading>

<body>Don't forget the meeting!</body>

</note>

抱歉!评论已关闭.