以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XML工具及XML开发环境 』  (http://bbs.xml.org.cn/list.asp?boardid=7)
----  Altova XMLspy2006使用问题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=7&rootid=&id=24196)


--  作者:chenhm66
--  发布时间:11/12/2005 7:47:00 PM

--  Altova XMLspy2006使用问题
使用Altova XMLspy2006时遇到如下问题:
client.dtd内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT 联系人列表 (联系人)>
<!ELEMENT 联系人 (姓名,电话)>
<!ELEMENT 姓名 (#PCDATA)>
<!ELEMENT 电话 (#PCDATA)>
client.xml文档内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE  联系人列表 SYSTEM "client.dtd">
<联系人列表>
        <联系人>张三</联系人>
        <电话>123456</电话>
</联系人列表>
把两者放到了同一个文件夹中,进行“格式良好检查“时,Altova XMLspy2006提示如下错误:
该文件不具有良好格式:DOCTYPE--ExternalID必须既是SYSTEM又是PUBLIC
希望高手指点一二,这里先谢谢啦!
--  作者:98900969r
--  发布时间:11/14/2005 1:00:00 AM

--  
是有错的,但是你提供的错误提示信息有点不知所云。试下这个,应该是对的。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE  联系人列表  SYSTEM "client.dtd">
<联系人列表>
        <联系人>
 <姓名>张三</姓名>
 <电话>123456</电话>
        </联系人>
</联系人列表>


--  作者:chenhm66
--  发布时间:11/14/2005 10:12:00 AM

--  
谢谢你的回复!
改正时候还是提示那样的错误,真是弄不懂。
client.dtd内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT 联系人列表 (联系人)>
<!ELEMENT 联系人 (姓名,电话)>
<!ELEMENT 姓名 (#PCDATA)>
<!ELEMENT 电话 (#PCDATA)>
client.xml文档内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE  联系人列表  SYSTEM "client.dtd">
<联系人列表>
        <联系人>
<姓名>张三</姓名>
<电话>123456</电话>
        </联系人>
</联系人列表>
对client.xml进行格式良好检查时,还是提示:
该文件不具有良好格式:DOCTYPE--ExternalID必须既是SYSTEM又是PUBLIC

是不是XMLspy不支持外部DTD阿?把DTD和XML文档放入一个文件中时是可以进行有效验证的。


--  作者:98900969r
--  发布时间:11/15/2005 12:04:00 AM

--  
也许你的XMLSpy安装有问题,我在我的机子上试了,是可以的。
--  作者:chenhm66
--  发布时间:11/15/2005 4:31:00 PM

--  
安装有问题?那它的安装还有什么需要特别注意的吗?
很迷茫啊

--  作者:98900969r
--  发布时间:11/18/2005 10:36:00 PM

--  
如果是找不到dtd,出的错误信息应该是"unable to load ..."。你还是可以试试把数据文件和dtd文件放在同一个目录下,确认引用文件名与dtd的文件名完全相同。如果还是不行,你把它本来的错误信息帖上来看看。
--  作者:chenhm66
--  发布时间:11/21/2005 12:54:00 PM

--  
还是出现下面的错误信息:

“该文件不具有良好格式:DOCTYPE--ExternalID必须既是SYSTEM又是PUBLIC“


--  作者:98900969r
--  发布时间:11/22/2005 1:28:00 AM

--  
按理说是不必的。既然它要求这样,你在引用的时候加上一个 PUBLIC id 试一下看, 无论如何,这仅仅是一个避免命名冲突的办法而已。例如:

<!DOCTYPE  联系人列表 PUBLIC "-//your-name--goes-here//DTD 客户信息//CS//" "client.dtd">

PUBLIC id的构造习惯:
"1-letterl-standardization-indication(+ for standard, - for non-stard)//owner's-name--goes-here//DTD a-descritopn-of-the-dtd//2-letter-language-indication//"



--  作者:大笨熊1
--  发布时间:11/30/2005 2:50:00 PM

--  
正在学习中。。。。。。有机会再讨教!
--  作者:fuxue
--  发布时间:12/2/2005 5:05:00 PM

--  
<?xml version="1.0" encoding="gb2312"?>
<!ELEMENT 联系人列表 (联系人+)>
<!ELEMENT 联系人 (姓名,电话)>
<!ELEMENT 姓名 (#PCDATA)>
<!ELEMENT 电话 (#PCDATA)>
<!--呵呵  我改改看-->

<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE  联系人列表  SYSTEM "client.dtd">
<联系人列表>
        <联系人>张三</联系人>
        <电话>123456</电话>
</联系人列表>
   <!-- 这样应该可以了把-->


--  作者:salary
--  发布时间:12/12/2005 11:45:00 PM

--  
你应该是用的汉化版吧?
我也发现过这个问题,种种痕迹表示,可能是比较暴力的汉化,导致一些字符串解析出问题,比如“SYSTEM 解析成 系统"。
英文版的就好了。
--  作者:guoxhvip
--  发布时间:8/8/2007 6:35:00 PM

--  
我也遇到这问题 不知道是不是环境问题
--  作者:xhtml_css
--  发布时间:8/18/2007 9:56:00 AM

--  
是汉化版的问题 想必楼主用的是那个坛子里推荐2006企业版汉化的吧! 我下了, 也是这个错误的. 改用英文的吧!
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
71.289ms