XML 注意事項
在您使用XML 的時候為了確保使用的正確性,您需要注意哪些操作是允許的,哪些操作是不被XML 支援的。請仔細閱讀本節內容以了解更多內容!試試一下»這裡列出了您在使用XML 時應該盡量避免使用的技術。
Internet Explorer - XML 資料島
它是什麼? XML 資料島是嵌入到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 檔案:
實例
本實例只適用於IE 瀏覽器
<html><body><xml id="cdcat" src="cd_catalog.xml"></xml><table 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 5 引入了行為。行為是透過使用CSS 樣式向XML (或HTML )元素添加行為的一種方法。
為什麼要避免使用它?只有Internet Explorer 支援behavior 屬性。
使用什麼代替它?使用JavaScript 和XML DOM(或HTML DOM)來取代它。
下面的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"(該檔案包含了一段JavaScript 和針對元素的事件句柄):
<attach for="element" event="onmouseover" handler="hig_lite" /><attach for="element" event="onmouseout" handler="low_lite" /><script>function hig_lite(){element.style. color='red';}function low_lite(){element.style.color='blue';}</script>試試一下»實例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 elementswith the ease of CSS.<br /><br />How do behaviors work?<br />By using XML we can link behaviors to any element in a web pageand manipulate that element.</p>v </span></body ></html>
下面顯示的是XML 文件"typing.htc":
<attach for="window" event="onload" handler="beginTyping" /><method name="type" /><script>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>試試一下»提示:如果有需要,可以閱讀本站的「HTML <style> 標籤」一節的內容。