XML入门的一些常见的问题总结(三)(2)_Xml教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:XSL-FO 初学者教程:XSL-FO 文档
XSL-FO 文档是带有输出信息的XML文件。 XSL-FO 文档 XSL-FO 文档是带有输出信息的XML文件。它们含有有关输出布局以及输出内容的信息。 XSL-FO文档存储在以.fo或.fob为后缀的文件中。以.xm

它产生下列错误:

引用未定义的实体 'copy'。
行: 1, 位置:23, 错误码:0xC00CE002
Copyright ? 2000, ...
----------------------^

这是因为 XML 只有五个内置实体。关于内置实体的详细信息,请参阅如何加载有外国和特殊字符的文档?。

要使用 HTML 实体,需要用 DTD 定义它们。有关 DTD 的详细信息,请参阅 W3C XML 建议(英文)。要使用该 DTD,请将它直接包括在 DOCTYPE 标记中,如下所示:

Copyright ? 2000, Microsoft Inc, All rights reserved.

要加载它,需要关闭 IXMLDOMDocument 接口的 validateOnParse 属性。请尝试将它粘贴到“Validator 测试页”中,关闭 DTD 验证,然后单击“验证”。请注意文档将加载,并且版权字符将显示在 validator 页面的末尾的 DOM 树中。

如果已经完成了 DTD 验证,那么必须将作为参数实体的 HTML 实体包括在现有的 DTD 中,如下所示:

%HTMLENT;
%HTMLENT;

它将定义所有 HTML 实体,以便在 XML 文档中使用它们。

在元素内容中如何处理空白字符?

XML DOM 有三种访问元素文本内容的方式:

属性 行为

nodeValue 按照原始的 XML 源中指定的那样,返回 TEXT、CDATA、COMMENT 和 PI 节点上的原始文本内容(包括空白字符)。对于 ELEMENT 节点和 DOCUMENT 本身,则返回空值。

数据 与 nodeValue 相同

文本 重复连接指定子树中的多个 TEXT 和 CDATA 节点并返回组合结果。

注意: 空白字符包括新行、tab 和空格。

nodeValue 属性通常返回原始文档中的内容,与文档如何加载和当前 xml:space 范围无关。

文本属性连接指定子树中的所有文本并扩展实体。这与文档如何加载、preserveWhiteSpace 开关的当前状态和当前 xml:space 范围有关,请看如下所示:

preserveWhiteSpace = true when the document is loaded
preserveWhiteSpace=true preserveWhiteSpace=true preserveWhiteSpace=false preserveWhiteSpace=false
xml:space=preserve xml:space=default xml:space=preserve xml:space=default
保留 保留 保留 保留并截断

preserveWhiteSpace = false when the document is loaded
preserveWhiteSpace=true preserveWhiteSpace=true preserveWhiteSpace=false preserveWhiteSpace=false
xml:space=preserve xml:space=default xml:space=preserve xml:space=default
半保留 半保留并截断 半保留 半保留并截断


此处的保留表示和原始 XML 文档中完全相同的原始文本内容,截断意味着前导和尾部空格已经删除,半保留意味着保留了“重要的空白字符”并规范化了“不重要的空白字符”。重要的空白字符是文本内容内部的空白字符。不重要的空白字符是标记之间的空白字符,请看如下所示:

\n
\t Jane\n
\tSmith \n

在本示例中,红色是可以忽略的不重要的空白字符,而绿色是重要的空白字符,因为它是文本内容的一部分,因此有不可忽略的重要含义。所以在本例中,文本属性返回下列结果:

分享:Web2.0岁月:使用AJAX技术的十大理由
保守来说,AJAX在现在是热得不能再热的技术。没有人能否认,它拥有大批的支持者。在CNN上,它从二月份的一个不被看好的词语到十月份成长成一个初具雏形的技术。所以,有必要要看看为什么AJAX能

来源:模板无忧//所属分类:Xml教程/更新时间:2008-08-22
相关Xml教程