嘟嘟

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  26 Posts :: 0 Stories :: 6 Comments :: 0 Trackbacks

定义entites 和 notation
<!ENTITY entity_name "entity_content">

  <!ELEMENT contact (#PCDATA)>
  <!ENTITY irv "Trving Archibite (415) 555-3278">

  <contact>&irv;</contrct>

Internal parameter                  <!--变量用于dtd文件内-->
 <!ENTITY % pc "(#PCDATA)">     
 <!ELEMENT size %pc;>         

Internal general                      <!--变量用于xml文件内-->
 <!ENTITY wm "wire man">

External parameter                 <!--变量用于dtd文件内-->
 <!ENTITY % purp SYSTEM "purp.dtd">   
       
External general                      <!--变量用于xml文件内-->
 <!ENTITY wm SYSTEM "wm.txt">

External general例子
//xml file:
- <order>
    &shirts;
    <mugs>90</mugs>
  </order>
//dtd file:
  <!ELEMENT order (shirt_list?, mugs?)>
  <!ELEMENT shirt_list (shirt*)>
  <!ELEMENT shirt (size, color)>
  <!ATTLIST shirt product_code ID #REQUIRED>

  <!ELEMENT size (#PCDATA)>
  <!ELEMENT color (#PCDATA)>
  <!ELEMENT mugs (#PCDATA)>

  <!ENTITY shirts SYSTEM "entity3-7.txt">

//entity3-7.txt file:
  <shirt_list>
  <shirt product_code="sh_2398">
     <size>XXL</size>
         <color>purple</color>
  </shirt>
  <shirt product_code="sh_2402">
  <size>XXL</size>
          <color>purple</color>
  </shirt>
  </shirt_list>

External parameter例子
 <!ELEMENT order (shirt_list?, mugs?, image*)>
 <!ELEMENT shirt_list (shirt*)>
 <!ELEMENT shirt (size, color)>
 <!ATTLIST shirt product_code ID #REQUIRED>

 <!ELEMENT size (#PCDATA)>
 <!ELEMENT color (#PCDATA)>
 <!ELEMENT mugs (#PCDATA)>

 <!ENTITY % img SYSTEM "example3-8_2.dtd">

 %img;

NOTATION类型

NOTATION类型允许属性值为一个Dtd中声明的符号,这个类型对于使用非XML格式的数据非常有用。

现实世界中存在着很多无法或不易用XML格式组织的数据,例如图象、声音、影象等等。对于这些数据,XML应用程序常常并不提供直接的应用支持。通过为它们设定 NOTATION类型的属性,可以向应用程序指定一个外部的处理程序。例如,当你想要为一个给定的文件类型指定一个演示设备时,可以用NOTATION类型的属性作为触发。

要使用NOTATION类型作为属性的类型,首先要在Dtd中为可选用的记号作出定义。定义的方式有两种,一种是使用MIME类型,形式是:
<!NOTATION 记号名 SYSTEM "MIME类型">

再有一种是使用一个URL路径,指定一个处理程序的路径。
<!NOTATION 记号名 SYSTEM "URL路径名">

在下面这个例子中,为"电影"元素指定了两种可选设备:一种是movPlayer.exe,用来播映.mov文件,另一种则用来绘制GIF图象。

<?xml version = "1.0"
            encoding="Gb2312"
            standalone = "yes"?>
            <!DOCTYPE 文件[
            <!ELEMENT 文件 ANY>
            <!ELEMENT 电影 EMPTY>
            <!ATTLIST 电影 演示设备 NOTATION ( mp | gif ) #REQUIRED>
            <!NOTATION mp SYSTEM "movPlayer.exe">
            <!NOTATION gif SYSTEM "Image/gif">
            ]>
            <文件>
            <电影 演示设备 = "mp"/>
            </文件>
            

 

posted on 2007-06-11 16:03 fyp1210 阅读(276) 评论(0)  编辑  收藏 所属分类: XML

只有注册用户登录后才能发表评论。


网站导航: