一个XML的基础问题(XML文档嵌入DTD定义语句),我的IE浏览器什么都显示不出来
<?xmlversion="1.0"encoding="GB2312"standalone="yes"?><!DOCTYPEbookstore[<!ELEMENTbook...
<?xml version="1.0" encoding="GB2312" standalone="yes" ?>
<!DOCTYPE bookstore [
<!ELEMENT bookstore (book)>
<!ELEMENT book(bookname,author,price)>
<!ELEMENT bookname(#PCDATA)>
<!ELEMENT author(#PCDATA)>
<!ELEMENT price(#PCDATA)>
]>
<bookstore>
<book>
<bookname>java就业培训教程</bookname>
<author>张孝祥</author>
<price>39</price>
</book>
</bookstore>
还有如果我把DTD文件单独拿出来,用XML引用该DTD文件,可是可以,但是有个问题又出现了,不管我怎么改变DTD中book标签中的元素的顺序,却IE浏览器还是显示,这是为什么啊??? 展开
<!DOCTYPE bookstore [
<!ELEMENT bookstore (book)>
<!ELEMENT book(bookname,author,price)>
<!ELEMENT bookname(#PCDATA)>
<!ELEMENT author(#PCDATA)>
<!ELEMENT price(#PCDATA)>
]>
<bookstore>
<book>
<bookname>java就业培训教程</bookname>
<author>张孝祥</author>
<price>39</price>
</book>
</bookstore>
还有如果我把DTD文件单独拿出来,用XML引用该DTD文件,可是可以,但是有个问题又出现了,不管我怎么改变DTD中book标签中的元素的顺序,却IE浏览器还是显示,这是为什么啊??? 展开
1个回答
展开全部
你问了两个问题:
1. 为什么文件在IE里不显示?
因为语法有错。DTD element的定义里,元素名和后面的括号间必须有空格,像book(bookname,author,price),bookname(#PCDATA)等都要有空格。
你把语法错误改了以后就可以显示。
2. 为什么错的DTD单独拿出来,xml可以显示?为什么DTD不能限制xml的显示顺序?
因为IE不根据DTD去验证XML的合法性。。。所以DTD是什么样的,在IE里都对XML没影响。
1. 为什么文件在IE里不显示?
因为语法有错。DTD element的定义里,元素名和后面的括号间必须有空格,像book(bookname,author,price),bookname(#PCDATA)等都要有空格。
你把语法错误改了以后就可以显示。
2. 为什么错的DTD单独拿出来,xml可以显示?为什么DTD不能限制xml的显示顺序?
因为IE不根据DTD去验证XML的合法性。。。所以DTD是什么样的,在IE里都对XML没影响。
追问
那我用DTD干嘛,既然不能验证,用它搞鬼,还是有其它途径去验证
追答
IE不能验证并不代表别的地方不能验证。编程的时候有用。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询