以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 DTD/XML Schema 』  (http://bbs.xml.org.cn/list.asp?boardid=23)
----  "DOCTYPE-ExternalID 的名称必须既是SYSTEM,又是PUBLIC"是什么意思呀?  (http://bbs.xml.org.cn/dispbbs.asp?boardid=23&rootid=&id=24296)


--  作者:bruclan
--  发布时间:11/16/2005 12:18:00 AM

--  "DOCTYPE-ExternalID 的名称必须既是SYSTEM,又是PUBLIC"是什么意思呀?
<?xml version="1.0" encoding="GB2312"?>
<!DOCTYPE booklist SYSTEM "catalog.dtd"> 这里面出的毛病,说"DOCTYPE-ExternalID 的名称必须既是SYSTEM,又是PUBLIC" 是什么意思呀?
<booklist>
  <book sales="Y">
    <code>F8915</code>
    <title>ASP网页制作彻底研究</title>
    <authorlist no="1">
      <author>
        <lastname>陈</lastname>
        <firstname>会安</firstname>
      </author>
    </authorlist>
    <price>580</price>
  </book>
  <book sales="N">
    <code>F8916</code>
    <title>ASP与IIS 4/5 网站架设彻底研究</title>
    <authorlist no="1">
      <author>
        <lastname>陈</lastname>
        <firstname>会安</firstname>
      </author>
    </authorlist>
    <price>550</price>
  </book>
</booklist>

小弟是小菜鸟,还请多多指教


--  作者:flyfoxs
--  发布时间:11/16/2005 8:18:00 AM

--  
具体是什么含义偶也不太记得,但知道有时进行验证XML时,是首先通过这个查找本地文件,如果没有才去找指明的网上文件来验证。。
--  作者:bruclan
--  发布时间:11/16/2005 3:12:00 PM

--  
可是我当时是连着网的,为什么还是不能通过检验
不太明白
--  作者:chenhm66
--  发布时间:11/17/2005 10:49:00 AM

--  
同问,也碰到这个问题,搞不明白
--  作者:bruclan
--  发布时间:11/17/2005 7:48:00 PM

--  
好像xml spy进行检验时出现错误,但是强制保存在ie里面运行就没有问题
应该是xml spy的问题吧
--  作者:bbok
--  发布时间:12/2/2005 1:20:00 PM

--  
不清楚,好象是一个 公共标准.但是 XMLSPY没有自带,所以上面说强制在 IE里面可以 运行,但是我们回会  很不方便,是吧.想那位大哥把那个 资源的东西 提供出来 我们 下下来 放在本地机里运行应该可以 解决吧  .我进WWW.W3.ORG   但是英语不好找不到在哪
呵呵
--  作者:bbok
--  发布时间:12/2/2005 1:24:00 PM

--  
哦,我说的是PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"

楼住说的那 东西,是因为 事 先没有指定,那吧  那个文件 打   开下就可以了啊


--  作者:budebuai
--  发布时间:12/6/2005 10:53:00 AM

--  
SYSTEM关键字以前常用来明确指出DTD的位置,对自己的DTD实践也是一个好的选择,因为我们更多的是在本地文件系统中保存我们的XML数据和相关DTD。
PUBLIC标示符的使用应该限制在内部系统和SGML遗留应用里。任何使用该标示符的组织必须共享一些目录,这些目录将标示符映射到了真实的资源位置。当然如果PUBLIC定位不可用,他就能提供一个反馈定位。反过来说,任何面向公众交换的XML数据必须包括一个SYSTEM定位,这个形式仍旧使用PUBLIC关键字和标示符,但要增加定位(URL引用)。
--  作者:quhaihua
--  发布时间:12/11/2005 6:13:00 PM

--  
我也遇到同样的问题,像楼主那个我们该怎么写才能够正常通过呢
--  作者:gzhpie
--  发布时间:12/13/2005 2:34:00 PM

--  
学习下  看了楼上的还是不是很明白
--  作者:quhaihua
--  发布时间:12/20/2005 7:31:00 PM

--  
没有人能帮忙解决一下吗,郁闷阿
--  作者:psxk
--  发布时间:12/22/2005 8:55:00 AM

--  
使用英文版就可以解决这个问题了
--  作者:vampire_shirley
--  发布时间:12/23/2005 4:20:00 PM

--  
还有这道理呐?我用的就是英文版阿
反正以后DTD用的也不多了,不管了,嘿嘿
--  作者:bitl
--  发布时间:12/30/2005 7:16:00 PM

--  
我同情不明白
--  作者:bitl
--  发布时间:12/30/2005 7:20:00 PM

--  
请来解决这下问题撒
--  作者:flyfoxs
--  发布时间:12/30/2005 9:06:00 PM

--  
<!DOCTYPE booklist PUBLIC "catalog.dtd">

楼主这样修改一下看看,同时查看一下,此文件的目录下面是否有文件 catalog.dtd


--  作者:cyclone575
--  发布时间:2/17/2006 10:11:00 AM

--  
我也遇到了同样的问题,郁闷!
--  作者:daizemiao2006
--  发布时间:3/1/2006 2:58:00 PM

--  
我也遇到了同样的问题,不明白是怎么回事!恳请高手给予解答!!!!
--  作者:李成
--  发布时间:3/4/2006 7:58:00 PM

--  
我也是
--  作者:平常道
--  发布时间:3/7/2006 10:38:00 AM

--  
我的也是诶
--  作者:平常道
--  发布时间:3/7/2006 2:45:00 PM

--  
我卸载了汉化版,装了英文原版,这个问题就没了
可能和汉化有点关系吧...
--  作者:qqgirl
--  发布时间:3/12/2006 6:56:00 PM

--  
试了一下,把
<!DOCTYPE .....>改成<?DOCTYPE ....?>就不会提示出错了,在IE中也能正确显示。
但是不知道为什么要这样改。。。
--  作者:zhmvb
--  发布时间:3/21/2006 10:25:00 PM

--  
把<!DOCTYPE .....>改成<?DOCTYPE ....?>这样是错误的,dtd中的默认值在xml中取不到了
--  作者:hgpimac
--  发布时间:3/23/2006 6:03:00 PM

--  
软件问题,不是我们的问题
--  作者:feirate
--  发布时间:3/24/2006 9:39:00 AM

--  
也许真的是软件的问题
--  作者:skyo
--  发布时间:3/27/2006 9:01:00 PM

--  
其实这个问题,楼上的全部都我有看过,到底是不行呢,还是软件问题呢!?
真是叫人郁闷,连我们老师都说不出个所以然来/真郁闷
--  作者:yibingzheng
--  发布时间:4/4/2006 8:46:00 AM

--  
据多数人反映,应该是软件的问题,换了英文版问题就解决了!
--  作者:sunbaojun
--  发布时间:4/5/2006 10:55:00 AM

--  
我知道 这个问题 你们用的是不是都是xml spy2006汉化版 那个是版本的事 换到别的版本最好是英文原版就可以了
--  作者:sajia
--  发布时间:4/16/2006 2:24:00 PM

--  
应该是在汉化的过程中软件出错拉!!
--  作者:CoderDream
--  发布时间:5/15/2006 12:37:00 PM

--  软件汉化问题
以下是引用sunbaojun在2006-4-5 10:55:00的发言:
我知道 这个问题 你们用的是不是都是xml spy2006汉化版 那个是版本的事 换到别的版本最好是英文原版就可以了

原版下载:
http://www.onlinedown.net/soft/45741.htm

注册机下载:
http://www16.fixdown.com/en/702bd27f5e0f7c02.asp

我的问题用英文版解决了!


--  作者:circleluck
--  发布时间:6/28/2006 5:11:00 PM

--  
我也遇到这样的问题,英文版的没问题,谁有xmlspy2006英文版的注册码呀?
--  作者:GigiKie
--  发布时间:7/4/2006 7:06:00 PM

--  
DTD噢!那就是有效XML咯!
按理说:
<!DOCTYPE root SYSTEM "DTD's URI">
楼主没错阿?
是不是楼主你没限制什么 标记/属性/子标记/文本 阿?
或者说是DTD和XML的编码不一致?

我的SPY也有这问题,但在Opera上又没问题,郁闷.推荐用Opera检查,用IE不规范的.


--  作者:BeanProbe
--  发布时间:7/11/2006 12:01:00 PM

--  
当设置javax.xml.parsers.DocumentBuilderFactory的setValidating(false)时,Document解析时不会寻找xml的dtd文档进行验证。
但是如果setValidating(true)时,Document在解析时就会寻找与xml相关的dtd进行验证。此时如果xml文档中没有<!DOCTYPE...>会报错!
如果不在程序中显式地指定dtd文档的位置,则程序到默认路径下寻找dtd。程序的默认路径是程序本身运行的目录。
而在程序中指定dtd路径的方法是使用javax.xml.parsers.DocumentBuilder类的parse(InputStream is, String systemId)方法解析。其中参数systemId指定了此xml文件的dtd文档的位置。systemId的内容格式为:
"D:\\mystudio\\JavaTest\\XmlElementProbe\\xmlf\\"
或写成(对于jdk1.5两者好像都成):
"file:/D:\\mystudio\\JavaTest\\XmlTest\\xmlfile/"

--  作者:crystal923129
--  发布时间:8/8/2006 1:10:00 PM

--  
果然是版本的问题~~
英文版就没事了,谢谢~~
--  作者:onlyloveasp
--  发布时间:10/19/2007 5:34:00 PM

--  主要是版本问题
你去下个英文版的就可以了
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
156.250ms