XML 注意事项

本节列出了您在使用 XML 时应该尽量避免使用的技术。


Internet Explorer - XML 数据岛

它是什么?XML 数据岛(XML Data Islands)是嵌入 HTML 页面中的 XML 数据。

为什么要避免使用它?XML 数据岛只在 Internet Explorer 浏览器中有效。

用什么代替它?您应当在 HTML 中使用 JavaScript 和 XML DOM 来解析并显示 XML。

如需更多有关 JavaScript 和 XML DOM 的信息,请访问 本站 的 XML DOM 教程


XML 数据岛实例

本例使用 XML 文档 "cd_catalog.xml"。把 XML 文档绑定到 HTML 文档中的一个 标签。id 属性定义数据岛的标识符,而 src 属性指向 XML 文件:

  1. <html>
  2. <body>
  3. <xml id="cdcat" src="/example/xml/cd.xml"></xml>
  4. <table border="1" datasrc="#cdcat">
  5. <tr>
  6. <td><span datafld="ARTIST"></span></td>
  7. <td><span datafld="TITLE"></span></td>
  8. </tr>
  9. </table>
  10. </body>
  11. </html>

<table> 标签的 datasrc 属性把 HTML 表格绑定到 XML 数据岛。

<span> 标签允许 datafld 属性引用要显示的 XML 元素。在这个例子中,要引用的是 "ARTIST" 和 "TITLE"。当读取 XML 时,会为每个 <CD> 元素创建相应的表格行。

如果您正在使用 Internet Explorer,可以运行以上代码。


Internet Explorer - 行为

它是什么?Internet Explorer 5 引入了行为(behaviors)。Behaviors 是通过使用 CSS 样式向 XML (或 HTML )元素添加行为的一种方法。

为什么要避免使用它?只有 Internet Explorer 支持 behavior 属性。

使用什么代替它?使用 JavaScript 和 XML DOM (或 HTML DOM)来代替它。


实例

例子 1 - Mouseover Highlight

下面的 HTML 文件中的 <style> 元素为 <h1> 元素定义了一个行为:

  1. <html>
  2. <head>
  3. <style type="text/css">
  4. h1 {
  5. behavior: url(behave.htc)
  6. }
  7. </style>
  8. </head>
  9. <body>
  10. <h1>Mouse over me!!!</h1>
  11. </body>
  12. </html>

以下是 XML 文档 "behave.htc":

  1. <attach for="element" event="onmouseover" handler="hig_lite" />
  2. <attach for="element" event="onmouseout" handler="low_lite" />
  3. <script type="text/javascript">
  4. function hig_lite() {
  5. element.style.color = 'red';
  6. }
  7. function low_lite() {
  8. element.style.color = 'blue';
  9. }
  10. </script>

这个 behavior 文件包含了一段 JavaScript,以及针对元素的事件句柄。

(请把鼠标移到例子中的文本上)(请在 IE 浏览器中测试本例)。

例子 2 - 打字机模拟

下面的 HTML 文件中的 <style> 元素为 id 为 "typing" 的元素定义了一个行为:

  1. <html>
  2. <head>
  3. <style type="text/css">
  4. #typing {
  5. behavior: url(typing.htc);
  6. font-family: 'courier new';
  7. }
  8. </style>
  9. </head>
  10. <body>
  11. <span id="typing" speed="100">
  12. IE5 introduced DHTML behaviors.
  13. Behaviors are a way to add DHTML functionality to HTML elements
  14. with the ease of CSS.<br /><br />How do behaviors work?<br />
  15. By using XML we can link behaviors to any element in a web page
  16. and manipulate that element.</p>
  17. </span>
  18. </body>
  19. </html>

以下是 XML 文档 "typing.htc":

  1. <html>
  2. <head>
  3. <style type="text/css">
  4. #typing {
  5. behavior: url(/example/xmle/xmle_typing.htc);
  6. font-family: 'courier new';
  7. }
  8. </style>
  9. </head>
  10. <body>
  11. <span id="typing" speed="100">
  12. IE5 introduced DHTML behaviors. Behaviors are a way to add DHTML functionality to HTML elements with the ease of CSS.<br><br>How does behaviors work?<br>By using XML we can link behaviors to any element in a web page and manipulate that element.<p>
  13. </span>
  14. </body>
  15. </html>