开发学院

您的位置:首页>教程>正文

教程正文

XML 注意事项

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 文档中的一个 <xml> 标签。id 属性定义数据岛的标识符,而 src 属性指向 XML 文件:

    <html>
    <body><xml id="cdcat" src="cd-catalog.xml"></xml><table border="1" datasrc="#cdcat">
    <tr>
    <td><span datafld="ARTIST"></span></td>
    <td><span datafld="TITLE"></span></td>
    </tr>
    </table>
    
    </body>
    </html>

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

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


    Internet Explorer - 行为

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

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

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

    实例

    例子 1 - Mouseover Highlight

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

    <html>
    <head>
    <style type="text/css">
    h1 { behavior: url(behave.htc) }
    </style>
    </head>
    
    <body>
    <h1>Mouse over me!!!</h1>
    </body>
    </html>

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

    <attach for="element" event="onmouseover" handler="hig-lite" />
    <attach for="element" event="onmouseout" handler="low-lite" />
    
    <script type="text/javascript">
    function hig-lite()
    {
    element.style.color='red';
    }
    
    function low-lite()
    {
    element.style.color='blue';
    }
    </script>

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


    例子 2 - 打字机模拟

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

    <html>
    <head>
    <style type="text/css">
    #typing
    {
    behavior:url(typing.htc);
    font-family:'courier new';
    }
    </style>
    </head>
    
    <body>
    <span id="typing" speed="100">IE5 introduced DHTML behaviors.
    Behaviors are a way to add DHTML functionality to HTML elements
    with the ease of CSS.<br /><br />How do behaviors work?<br />
    By using XML we can link behaviors to any element in a web page
    and manipulate that element.</p>
    </span>
    </body>
    </html>

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

    <attach for="window" event="onload" handler="beginTyping" />
    <method name="type" />
    
    <script type="text/javascript">
    var i,text1,text2,textLength,t;
    
    function beginTyping()
    {
    i=0;
    text1=element.innerText;
    textLength=text1.length;
    element.innerText="";
    text2="";
    t=window.setInterval(element.id+".type()",speed);
    }
    
    function type()
    {
    text2=text2+text1.substring(i,i+1);
    element.innerText=text2;
    i=i+1;
    if (i==textLength)
      {
      clearInterval(t);
      }
    }
    </script>