以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 DTD/XML Schema 』  (http://bbs.xml.org.cn/list.asp?boardid=23)
----  外部DTD写错了吗?[求助]  (http://bbs.xml.org.cn/dispbbs.asp?boardid=23&rootid=&id=10749)


--  作者:AlongleeNet
--  发布时间:10/4/2004 7:21:00 AM

--  外部DTD写错了吗?[求助]
我完全照书打的啊,怎么会报错呢?
Xml Explorer 中提示:Cannot have a DTD declaration outside of a DTD
----sysdtd.xml-----------------
<?xml version="1.0" encoding="GB2312" standalone="no"?>
<!DOCTYPE company SYSTEM "sys.dtd">
<!-- 引用外部文件格式定义-->
<company>
 <name>alonglee.net</name>
 <tel>024-88888888</tel>
 <fax>024-89898989</fax>
 <address>沈阳市市政府</address>
</company>

----sys.dtd-------------------------
<?xml version="1.0"?>
<!ELEMENT company (name,tel,fax,address) >
<!-- Cannot have a DTD declaration outside of a DTD-->
<!-- <!ELEMENT company ANY>-->
<!ELEMENT name (#PCDATA)>
<!ELEMENT tel (#PCDATA)>
<!ELEMENT fax (#PCDATA)>
<!ELEMENT address (#PCDATA)>

我那儿打错了?


--  作者:hellolifeoutday110
--  发布时间:7/25/2005 2:46:00 PM

--  
<?xml version="1.0" encoding="GB2312"?>
<!DOCTYPE company[
<!ELEMENT company (name,tel,fax,address) >
<!ENTITY % pd "(#PCDATA)">
<!ELEMENT name %pd;>
<!ELEMENT tel %pd;>
<!ELEMENT fax %pd;>
<!ELEMENT address %pd;>
]>

--  作者:urmyfriend
--  发布时间:7/29/2005 10:21:00 AM

--  
你上面的并没错,另外楼上一家的和你的实质是一样的,楼上是另一种表现形式——调用了参数型实体,代码还是与楼主等价的。
我试过楼主的代码,一切正常。
楼主是否未把sys.dtd放在和调用它的.xml同一路径下?
<!DOCTYPE company SYSTEM "sys.dtd">
一句的意思是“在本xml中调用的dtd文件为外部的文件"sys.dtd"需要同一目录下的,否则请用一个相对路径来确定它,如"..\mydtdfiles\sys.dtd"
--  作者:urmyfriend
--  发布时间:7/29/2005 10:25:00 AM

--  
补充一句,有的书是有很多错误的或说得很不清楚的让人产生误解的,我这里看的一本书就是这种类型:《XML实用培训教程》张健飞 编 2003年12月第一版
--  作者:wanlian
--  发布时间:8/4/2005 10:53:00 PM

--  [分享]
《XML宝典》,不要被它的800页吓死,它是一(译)本值得一读的好书,读了不少问题就清晰了,楼上的问题自然不在话下啦
--  作者:clyde3000
--  发布时间:9/1/2005 5:07:00 PM

--  
还是路径问题 把<!DOCTYPE company SYSTEM "sys.dtd">这里"sys.dtd"的绝对路径写清楚 就可以了!

--  作者:poxie
--  发布时间:9/8/2005 9:02:00 AM

--  
#PCDATA 不是限定了 其只内容(子元素)只能用文本? 是不是这样的错误?
小弟刚学了2天的XML  请高手指点下
--  作者:happydiudiu
--  发布时间:9/17/2005 8:02:00 PM

--  
dtd中用的是相对路径还是绝对路径,哪位高手帮忙解释一下
--  作者:zhongmuyan
--  发布时间:9/17/2005 9:14:00 PM

--  我也有此类经历,去掉第一行XML执行语句就行了。你试试吧。
我也有此类经历,去掉第一行XML执行语句就行了。你试试吧。
如果行的通就是一般方法了。
DTD文件和XML文件不一样的,两个的文件名和图标也不同。
--  作者:jerimyy
--  发布时间:9/24/2005 9:22:00 PM

--  
以下是引用poxie在2005-9-8 9:02:00的发言:
#PCDATA 不是限定了 其只内容(子元素)只能用文本? 是不是这样的错误?
小弟刚学了2天的XML  请高手指点下


(#PCDATA)限定了只能包含字符。并且不能够再包含子元素。
xml的DTD中<!DOCTYPE 根元素名称 SYSTEM “dtd文件的名称">
这里明显用的是相对的路径。
绝对路径也可以,但是不提倡使用~~
--  作者:star-river25
--  发布时间:11/26/2005 12:32:00 PM

--  
我也遇到这类问题,使用强制保存,在IE中也能浏览
--  作者:gzhpie
--  发布时间:12/13/2005 2:58:00 PM

--  
还能这么玩
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
7,157.227ms