曝光臺 注意防騙
網曝天貓店富美金盛家居專營店坑蒙拐騙欺詐消費者
<CLASS xlink:form="document" href="week5/index.xml"/>
<CLASS xlink:form="document" href="week6/index.xml"/>
<CLASS xlink:form="document" href="week7/index.xml"/>
<CLASS xlink:form="document" href="week8/index.xml"/>
<CLASS xlink:form="document" href="week9/index.xml"/>
<CLASS xlink:form="document" href="week10/index.xml"/>
<CLASS xlink:form="document" href="weekll/index.xml"/>
XML 實用大全
第 611 頁
<CLASS xlink:form="document" href="weekl2/index.xml"/>
<CLASS xlink:form="document" href="weekl3/index.xml"/>
</COURSE>
這樣就將COURSE 元素定義成擴展鏈接組,此組由13 個擴展鏈接文檔元素(即CLASS 元素)組成。
16.5.2 steps 特性
應用程序使用鏈接組可以做的事情之一是,預加載鏈接組中的所有文檔。這些文檔可以包含它們各自的鏈接組。例如,上面
的每個CLASS 元素都引用一個特定星期的站點目錄,如圖16-3 所示。然后這些文檔就可以加載。例如,文件week6/index.xml
就包含這種鏈接組:
<CLASS xlink:form=”group”>
<SLIDE xlink:form=”document” href=”O1.xml”/>
<SLIDE xlink:form=”document” href=”02.html”/>
<SLIDE xlink:form=”document” href=”06.html”/>
<SLIDE xlink:form=”document” href=”12.html”/>
<SLIDE xlink:form=”document” href=”13.html”/>
<SLIDE xlink:form=”document” href=”16.html”/>
<SLIDE xlink:form=”document” href=”17.html”/>
<SLIDE xlink:form=”document” href=”19.html”/>
<SLIDE xlink:form=”document” href=”21.html”/>
<SLIDE xlink:form=”document” href=”22.html”/>
<SLIDE xlink:form=”document” href=”24.html”/>
</CLASS >
XML 實用大全
第 612 頁
圖16-3 顯示周講稿注解的目錄頁面
現在假定有一個文檔反過來引用原文檔。這有可能觸發無限的回歸,即重復加載同一個文檔,直到應用程序將內存耗盡為止。
為了防止這種情況的發生,組元素可以包含steps 特性,用它來指定遞歸跟隨鏈接組的層數。例如,要指定預加載不能達到
當前文檔三層以上,可以這樣來編寫:
<group xlink:form=”group” steps=”3”>
坦率地說,我不敢確定steps 特性有多重要。要使應用程序注意何時它已經到達某個文檔,但根本不再次處理此文
檔并非困難。我認為,更好的方法是,由XML 處理器而不是網頁作者來防止遞歸。
steps 特性可以用來限制預發生加載的數量。例如,在課時注解實例中,盡管有可能他或她想打印或復制所有的課程注解,
不可能任何人一次要閱讀整個內容。在任何情況下,將steps 特性設置為1,就可以將橫穿的深度限制為指定的頁面而不是
課程中的幾百頁。
就像常常要做的那樣,這些元素及其特性必須在它們的任何合法文檔的DTD 中聲明。實際上,xlink:form 是固定的,所以
不需要包括在元素的實例中。例如:
<!ELEMENT CLASS (document*)>
<!ATTLIST CLASS
xlink:form CDATA #FIXED “group”
steps CDATA #IMPLIED
>
<!ELEMENT SLIDE EMPTY>
<!ATTLIST SLIDE
XML 實用大全
第 613 頁
xlink:form CDATA #FIXED “document”
href CDATA #REQUIRED
>
XML 實用大全
第 614 頁
16.6 重命名XLink 特性
XLink 有十個特性,這在前節中已經討論過。現列于下面:
xlink:form
href
steps
title
role
content-title
content-role
show
actuate
behavior
可以想像,這些特性之一或多個已用作特定XML 應用程序中的特性名。title 特性似乎特別要加以考慮。只有一個特性不能
用于其他用途,這就是xlink:form。
XLink 規范預料到這個問題,所以可以利用xml:attributes 特性將XLink 特性重新命名為更便于使用的名稱。在DTD 的
<!ATTLIST>中將此特性聲明為一個固定的屬性,類型為CDATA,而值為以空格分開的標準名和新名對的列表。
這種問題可以使用命名域(在第18 章中討論)來解決。如果在未來的XLL 草案中將此結構整個地刪除,并用簡單
的命名域作前綴(如xlink:)時,我并不感到驚訝。
例如,本章展示的鏈接元素有點滑稽,因為標準名都是小寫字母,而本書的約定都是用大寫字母。按照下面的方法,使用聲
明語句,就很容易將XLink 特性變成大寫字母:
<!ELEMENT WEBSITE (#PCDATA)>
<!ATTLIST WEBSITE
xlink:form CDATA #FIXED "simple"
xml:attributes CDATA #FIXED
"href HREF show SHOW actuate ACTUATE"
HREF CDATA #REQUIRED
XML 實用大全
第 615 頁
SHOW CDATA (new | replace | embed) "new"
ACTUATE CDATA (user | auto) user
>
現在就可以更諧調地重新編寫WEBSITE 例子:
<WEBSITF HREF="http://www.microsoft.com/" SHOW="new">
Check this out, but don t leave our site completely!
中國航空網 www.k6050.com
航空翻譯 www.aviation.cn
本文鏈接地址:
XML實用大全(173)