Josh的学习园地

本站首页    管理页面    写新日志    退出

首页(66) RSS(1) XML初学进阶(47) 


其实我是愿意学习的...
 
 ♀最新日志                                  ♀最新回复                                  
教你认识动态链接库DLL文件
cookie
网络小馅饼 Cookie
开始学习C#
考生了解公务员面试要把握“五个一”
语义Web的基础理论和关键技术研究
today
2006年的学习计划
语义Web和语义网格概述
专业学习
回复:RSS入门 : RSS初步接触
回复:XML(38)合并
回复:语义Web和语义网格概述
回复:全球电子商务的发展趋势及对我们的启
回复:语义Web的基础理论和关键技术研究
«April 2026»
1234
567891011
12131415161718
19202122232425
2627282930
 
 

[XML初学进阶]XML(26)
网上资源

3.1.1.3 外部DTD    一个DTD既可以是内部的,包含在一个“形式良好的”XML文件中(standalone=“yes”),采用前面一节中的形式;也可以是外部的,作为一个外部文件被引用(standalone=“no”)。 外部DTD的好处是:它可以方便高效地被多个XML文件所共享。你只要写一个DTD文件,就可以被多个XML文件所引用。事实上,当许多组织需要统一它们的数据交换格式时,它们就是通过外部DTD来完成的。这样做不仅简化了输入工作,还保证当你需要对DTD做出改动时,不用一一去改每个引用了它的XML文件,只要改一个公用的DTD文件就足够了。不过需要注意,如果DTD的改动不是“向后兼容”的,这时原先写的那些XML文件可能就会出问题了! 为了引用一个外部DTD,必须修改XML声明和DOCTYPE声明。 XML声明中必须说明这个文件不是自成一体的,即standalone属性的属性值不再是yes了。 <?xml version = "1.0"       encoding="GB2312"       standalone = "no"?> 在DOCTYPE声明中,应该加入SYSTEM属性: <!DOCTYPE 根元素名SYSTEM "外部DTD文件的URL"> 例如: <!DOCTYPE 联系人列表SYSTEM "http://www.mydomain.com/dtds/fclml.dtd"> 上面的URL是一个绝对路径,除此以外,它还可以是一个相对路径,如: <!DOCTYPE 联系人列表SYSTEM "fclml.dtd"> 它说明这个DTD文件和引用它的XML文件在同一个目录下。或者,这个DTD文件还可能在XML文件的父目录的子目录DTD下,表示为: <!DOCTYPE 联系人列表SYSTEM "../dtds/fclml.dtd"> 使用这种方法,你可以方便地把DTD文件从你的XML文件中分离出来,粘贴到另一个文件fclml.dtd中。这样,你就得到一个DTD文件和一个有效的XML文件。 仍然回到前面那个包含客户联系方式信息的XML文件,如果使用外部DTD,其形式应该变为下面这个样子。 DTD文件fclml.dtd: <?xml version="1.0" encoding="GB2312"?><!ELEMENT 联系人列表 (联系人)*><!ELEMENT 联系人 (姓名,ID,公司,EMAIL,电话,地址)><!ELEMENT 地址 (街道,城市,省份)><!ELEMENT 姓名 (#PCDATA)><!ELEMENT ID (#PCDATA)><!ELEMENT 公司 (#PCDATA)><!ELEMENT EMAIL (#PCDATA)><!ELEMENT 电话 (#PCDATA)><!ELEMENT 街道 (#PCDATA)><!ELEMENT 城市 (#PCDATA)><!ELEMENT 省份 (#PCDATA)> XML文件client.xml: <?xml version = "1.0" encoding="GB2312" standalone = "no"?><!DOCTYPE 联系人列表    SYSTEM "fclml.dtd"><?xml-stylesheet type="text/xsl" href="mystyle.xsl"?><联系人列表><联系人><姓名>张三</姓名><ID>001</ID><公司>A公司</公司><EMAIL>zhang@aaa.com</EMAIL><电话>(010)62345678</电话><地址><街道>五街1234号</街道><城市>北京市</城市><省份>北京</省份><ZIP>100001</ZIP></地址></联系人><联系人><姓名>李四</姓名><ID>002</ID><公司>B公司</公司><EMAIL>li@bbb.org</EMAIL><电话>(021)87654321</电话><地址><街道>南京路9876号</街道><城市>上海</城市><省份>上海</省份><ZIP>200002</ZIP></地址></联系人></联系人列表> 在这一节里,我们将为每个XML文件定义的DTD推广到一个系统内可共享的DTD。在下一节里,我们还可以将这个推广进一步推而广之,扩大到行业内甚至公众使用的公用DTD。
xiaoqiao_xml 发表于 2005/12/27 14:12:25

阅读全文(990) | 回复(0) | 编辑 | 精华



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)
 
♀链接


♀留言板
签写新留言

HOHO
用户名称:
登陆密码:
密码保存:




站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 2.861 second(s), page refreshed 144827779 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号