曝光台 注意防骗
网曝天猫店富美金盛家居专营店坑蒙拐骗欺诈消费者
或者可以简单地告诉Web 服务器,让它提供必要的内容类型标题。通常使用<META>标记要简单一些:
Content-Type:text/html;charset=UTF-8
采用这种方法的问题是许多浏览器不一定能显示UTF-8 字符集。对于其他提供所用的特殊字符的字符集也一样。
HTML 4.0 支持XML 中的字符实体引用。这就是说可以使用&#后跟Unicode 中字符的十进制或者十六进制代码来代替一个字
符。例如:
• ™ 为商标号(™)
• © 为版权号(©)
• ∞ 为无穷大号∞
• π 为小写的希腊字母pi,π
HTML 3.2 只正式支持界于0 和255(ISO Latin-1)之间的数字字符引用,而Navigator 4.0 和以后的版本以及Internet
Explorer 能识别更多的Unicode 字符。
如果确实需要一个结构完整的向后与HTML 兼容的XML,可以把这些字符作为内联图片。例如:
• <img src="tm.gif" width="12" height="12" alt="TM"></img>, </img>商标号(tm);
• <img src="copyright.gif" width="12" height="12" lt="Copyright"> a,为版权号(c);
• <img src="infinity.gif" width="12" height="12" alt="infinity"></img>,无穷大号∞;
• <img src="pi.gif" width="12" height="12" alt="pi"></img>,小写的希腊字母pi,π。
事实上,我不赞成使用这种方法。结构完整性在HTML 中并不太重要,它只是强制读者增加了下载和显示出来的时间。
6.4.1.9 XML 声明
HTML 文档不需要XML 声明,但有也无妨。Web 浏览器只忽略它们不承认的标记。从这一点看,下面这一行就是另外一个标记:
<?xml version="1.0" standalone="yes"?>
因为不懂XML 的浏览器解释不了<?xml?>标记,它们会简单地忽略它。懂得XML 的浏览器会把它当作一个提示,表明该文档
是结构完整的XML 文档,并按此处理它。
XML 实用大全
第 155 页
遗憾的是,不完全懂得XML 的浏览器分析这些句法非常困难。特别是Internet Explorer 4.0 for the Mac(不是指Netscape
Navigator 或者其他版本的IE)把它当作下载一个文件的信号,而不作显示。因此,不得不从Web 页面中将XML 声名删除。
6.4.1.10 遵循规则
按照本章描述的规则编写结构完整的XML 文档不是特别困难,但是XML 浏览器对于不标准的句法不像HTML 浏览器那样宽容,
因此要细心编写。
如果违反了任何结构完整性约束,XML 分析器和浏览器将报告一个句法错误。因此编写XML 的过程与用某种编程语言编写代
码的过程有些相似,首先编写,然后编译,如果编译失败再根据报告的错误修改。
通常在能够看到完成的文档之前要经过几次从编辑到编译的过程。而且编写XML 文档比编写C 和Java 源代码要容易得多,
只要很少的练习就会达到只出现相当少的错误,编写XML 的速度几乎与你输入的速度一样快。
6.4.2 HTML 整理工具
有几种工具能够帮助我们整理页面。最引人注目的是来自XML.COM 的RUWF(Are You Well Formed?)和由W3C 的Dave Raggett
编写的HTML Tidy。
6.4.2.1 RUWF
任何能够检验XML 文档结构完整性的工具同样能够检验结构完整的HTML 文档。其中最容易使用的工具是来自XML.COM 的RUWF
结构完整性检验程序。图6-2 显示了该检验程序。只要键入想检验的页面的URL,RUWF 就会返回在页面上发现的几十个错误。
图6-2 RUWF 结构完整性检验器
XML 实用大全
第 156 页
下面是RUWF 在白宫主页上找到的第一批错误。这些错误大部分是不标准的XML,但是它们是合法的HTML。但至少有一处错
误(“第55 行,30 列:</FONT>周围没有相应的起始标记”)对HTML 和XML 都是一个错误。
Line 28,column 7:Encountered </HEAD>expected </META>
...assumed </META>...assumed </META>...assumed </META>
...assumed </META>
Line 36,column 12,character ‘0 ’:after AttrName=in start-tag
Line 37,column 12,character ‘0 ’:after AttrName=in start-tag
Line 38,column 12,character ‘0 ’:after AttrName=in start-tag
Line 40,column 12,character ‘0 ’:after AttrName=in start-tag
Line 41,column 10,character ‘A ’:after AttrName=in start-tag
Line 42,column 12,character ‘0 ’:after AttrName=in start-tag
Line 43,column 14:Encountered </CENTER>expected </br>
...assumed </br>...assumed </br>
Line 51,column 11,character ‘+’:after AttrName=in start-tag
Line 52,column 51,character ‘0 ’:after AttrName=in start-tag
Line 54,column 57:after &
Line 55,column 30:Encountered </FONT>with no start-tag.
Line 57,column 10,character ‘A ’:after AttrName=in start-tag
Line 59,column 15,character ‘+’:after AttrName=in start-tag
6.4.2.2 HTML Tidy
一旦确定了问题就会想到要修改它们,许多常见的问题��例如,给属性值加引号��是能够自动被修改的。做这
种修改最便利的工具是Dave Raggett 的命令行程序HTML Tidy。Tidy 是用ANSI C 写成的一个字符-模式程序,能够在许多
操作平台如Windows、Unix、BeOS 和Mac 系统上执行。
Tidy 在本书所附的CD-ROM 的utilities/tidy 目录中,包含用于Windows NT 和BeOS 的二进制代码和用于所有操
作平台的可移植代码。可以从站点http://www.w3.org/People/Raggett/tidy/中下载最新版本的Tidy。
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:
XML实用大全(49)