XML 参考:XML基础(4) -- XML验证、验证器与浏览器

 XML 验证

 

拥有正确语法的 XML 被称为“形式良好”的 XML。

通过某个 DTD 进行了验证的 XML 是“合法”的 XML。

形式良好的 XML 文档

一个"形式良好"的 XML 文档拥有正确的语法。

一个"形式良好"的 XML 文档会遵守前几章介绍过的 XML 语法规则:

  • XML 文档必须有根元素
  • XML 文档必须有关闭标签
  • XML 标签对大小写敏感
  • XML 元素必须被正确的嵌套
  • XML 属性必须加引号
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

验证 XML 文档

一个合法的 XML 文档是"形式良好"的 XML 文档,同样遵守文档类型定义 (DTD) 的语法规则:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE note SYSTEM "Note.dtd">
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>  

在上例中,DOCTYPE 声明是对外部 DTD 文件的引用。下面的段落展示了这个文件的内容。

XML DTD

DTD 的作用是定义 XML 文档的结构。它使用一系列合法的元素来定义文档结构:

XML Schema

W3C 支持一种基于 XML 的 DTD 代替者,它名为 XML Schema:

<xs:element name="note">
<xs:complexType>
  
<xs:sequence>
    
<xs:element name="to"      type="xs:string"/>
    
<xs:element name="from"    type="xs:string"/>
    
<xs:element name="heading" type="xs:string"/>
    
<xs:element name="body"    type="xs:string"/>
  
</xs:sequence>
</xs:complexType>
</xs:element> 

一个通用的验证器

为了帮助您检查 XML 文件的语法,创建了这个工具,以便您对任何 XML 文件进行语法检查。

 

XML 验证器

XML 错误会终止您的程序

XML 文档中的错误会终止你的 XML 程序。

W3C 的 XML 规范声明:如果 XML 文档存在错误,那么程序就不应当继续处理这个文档。理由是,XML 软件应当轻巧,快速,具有良好的兼容性。

如果使用 HTML,创建包含大量错误的文档是有可能的(比如你忘记了结束标签)。其中一个主要的原因是 HTML 浏览器相当臃肿,兼容性也很差,并且它们有自己的方式来确定当发现错误时文档应该显示为什么样子。

使用 XML 时,这种情况不应当存在。

对您的 XML 进行语法检查 - 仅用于 IE 浏览器

为了帮助您对 XML 进行语法检查,这里创建了一个 XML 验证器。

把您的 XML 粘贴到下面的文本框中,然后点击"验证"按钮来进行语法检查。

根据 DTD 来验证 XML

只要把 DOCTYPE 声明添加到您的 XML 中,然后点击验证按钮即可:

注释:只有在 Internet Explorer 中,可以根据 DTD 来验证 XML。Firefox, Mozilla, Netscape 以及 Opera 做不到这一点。

 

 

XML 浏览器支持

几乎所有的主流浏览器均支持 XML 和 XSLT。

Mozilla Firefox

从 1.0.2 版本开始,Firefox 就已开始支持 XML 和 XSLT(包括 CSS)。

Mozilla

Mozilla 含有用于 XML 解析的 Expat,并支持显示 XML + CSS。Mozilla 同时拥有对 Namespaces 的某些支持。

Mozilla 同样可做到对 XSLT 的执行(XSLT implementation)。

Netscape

自从版本 8 开始,Netscape 开始使用 Mozilla 的引擎,因此它对 XML / XSLT 的支持与 Mozilla 是相同的。

Opera

自从版本 9 开始,Opera 已经拥有对 XML / XSLT(以及 CSS)的支持。版本 8 仅支持 XML + CSS。

Internet Explorer

自从版本 6 开始,Internet Explorer 就开始支持 XML、Namespaces、CSS、XSLT 以及 XPath。

注释:Internet Explorer 5 同样拥有对 XML 的支持,但是 XSL 部分与 W3C 的官方标准不兼容

posted @ 2009-01-23 09:30  杰克帝.NET  阅读(1265)  评论(0编辑  收藏  举报