以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 DTD/XML Schema 』  (http://bbs.xml.org.cn/list.asp?boardid=23)
----  [求助]请高手帮我看看,谢谢了。  (http://bbs.xml.org.cn/dispbbs.asp?boardid=23&rootid=&id=8990)


--  作者:ssss
--  发布时间:7/27/2004 1:41:00 AM

--  [求助]请高手帮我看看,谢谢了。
我写了一个XML 程序如下:
<?xml version="1.0" encoding="GB2312" standalone="no"?>
<!-- edited with XMLSPY v2004 rel. 2 U (http://www.xmlspy.com) by He Tao (IBM) -->
<!DOCTYPE pinfo SYSTEM "me2.dtd">
<!--我的第一个xml文档-->
<pinfo>
 <baseinfo>
  <name> X涛 </name>
  <sex> 男 </sex>
  <born> 1981年7月6日 </born>
  <age> 23岁 </age>
  <favorites> 听音乐 </favorites>
  <favorites> 玩电脑 </favorites>
  <favcolor> 蓝色、白色 </favcolor>
  <add> 白马小区3幢1单元702室 </add>
 </baseinfo>
 <contactme>
  <common>
   <mobile>13888224329</mobile>
  </common>
  <internet>
   <email> xxxxx@126.com </email>
   <email> xxxxx@163.com </email>
   <email> xxxxx@163.com </email>
   <msn> xxxxx@msn.com </msn>
   <myQQ> 00000000 </myQQ>
   <psite> hetao98.nease.net </psite>
  </internet>
 </contactme>
  <image src="picture" width="640" height="480"/>
 <text> &text0;</text></pinfo>

dtd文件代码如下:

<?xml version="1.0" encoding="GB2312"?>
<!-- edited with XMLSPY v2004 rel. 2 U (http://www.xmlspy.com) by He Tao (IBM) -->
<!-- 文件名 me2.dtd -->
<!-- dtd 文件表达式符号表
A? 零个或一个A,即A是可选的;
A+ 一个或多个A
A* 零个或多个A
A,B A在前,B在后
A|B A或者B,只取其一
() 圆括号中的内容被看作是一个组成单元 -->
<!ENTITY text0 SYSTEM "text.dat">
<!ELEMENT pinfo (baseinfo+, contactme+, image?, text)>
<!ELEMENT baseinfo (name, sex, born, age, favorites+, favcolor, add+)>
<!ELEMENT contactme (common, internet)>
<!ELEMENT common (tel | mobile)>
<!ELEMENT internet (email+, msn, myQQ, psite?)>
<!ENTITY picture SYSTEM "ks.gif">
<!ELEMENT image EMPTY>
<!ATTLIST image
 src ENTITY #REQUIRED
 width CDATA #REQUIRED
 height CDATA #REQUIRED
 ate CDATA #IMPLIED
>
<!ELEMENT name (#PCDATA)>
<!ELEMENT sex (#PCDATA)>
<!ELEMENT born (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT favorites (#PCDATA)>
<!ELEMENT favcolor (#PCDATA)>
<!ELEMENT add (#PCDATA)>
<!ELEMENT tel (#PCDATA)>
<!ELEMENT mobile (#PCDATA)>
<!ELEMENT email (#PCDATA)>
<!ELEMENT msn (#PCDATA)>
<!ELEMENT myQQ (#PCDATA)>
<!ELEMENT psite (#PCDATA)>
<!ELEMENT text (#PCDATA)>

注意:ks.gif、text.dat 文件都在同一目录下了,上面的代码在xmlspy企业版中“行式良好”,并且是“有效的” 但在IE6+msxml4.0中有出错!(红色的代码加入后会出错,但在xmlspy中无错),错误表现为实体资源处理错误,发现无效字符。我实在没办法了,请各位高手指教!本人非常感谢!


--  作者:hugh
--  发布时间:8/12/2004 10:23:00 PM

--  
我认为你必须先声明实体类型的表示法,以及src实体本身如下:
<!NOTATION GIF SYSTEM "IExplore.exe">
<!ENTITY picture SYSTEM "ks.gif" NDATA GIF>
注意,上面的声明应该放在内部DTD子集中,而不是放在外部DTD子集中

你试一试,我不敢保证能解决问题


--  作者:ty44092003
--  发布时间:9/2/2004 1:37:00 PM

--  
没错,text.dat文件类型也要声明,
不过我搞不明白<!NOTATION GIF SYSTEM "IExplore.exe">
这个IEXplorer.exe 还可以是什么
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
7,964.844ms