曝光臺 注意防騙
網曝天貓店富美金盛家居專營店坑蒙拐騙欺詐消費者
</WEBSITE>
上面的ATTLIST 聲明只改變WEBSITE 元素的特性。如果要在其他多個例子中用同樣的方式改變這些特性,最容易的方法就是
使用參數實體:
<!ENTITY LINK_ATTS
xlink:form CDATA #FIXED "simple"
xml:attributes CDATA #FIXED
"href HREF show SHOW actuate ACTUATE"
HREF CDATA #REQUIRED
SHOW CDATA (new | replace | embed) "new"
ACTUATE CDATA (user | auto) "user" >
<!ELEMENT WEBSITE (#PCDATA)>
<!ATTLIST WEBSITE %LINK_ATTS:>
<!ELEMENT COMPOSER (#PCDATA)>
<!ATTLIST COMPOSER %LINK_ATTS;>
<!ELEMENT FOOTNOTE (#PCDATA)>
<!ATTLIST FOOTNOTE %LINK_ATTS;>
16.7 本章小結
在本章中學習了XLink。特別是學習了如下內容:
XLink 可以做HTML 鏈接能夠做的任何事情,并還會更多,但不為當前的應用程序所支持。
XML 實用大全
第 616 頁
簡單鏈接特別類似于HTML 鏈接,但不受單個<A>標記的限制。
鏈接元素使用xlink:form 和href 來指定。
鏈接元素使用content-title 和content-role 來描述本地資源。
鏈接元素使用title 和role 來描述鏈接的遠程資源。
鏈接元素使用show 特性來告訴應用程序當激活鏈接時應如何顯示內容,如打開一個新的窗口。
鏈接元素使用behavior 特性來將詳細的、由應用程序決定的有關如果準確地切斷此鏈接的信息提供給應用程序。
鏈接元素使用actuate 特性來告訴應用程序沒有明確的用戶請求是否應切斷鏈接。
擴展鏈接可以在鏈接元素中包括多個URI。目前,由應用程序來決定如何在不同的可能性中挑選。
擴展鏈接組元素包含連接特定一組文檔的鏈接列表。
可在DTD 中使用xml:attributes 特性來對標準的XLink 特性(如href 和title)重新命名。
在下一章中,將會看到如何使用XPointer 來鏈接遠程文檔,而且如何與遠程文檔的特指元素進行鏈接。
特別提醒:我在制作這個文檔的時候,因為文檔的刊登站點提醒第17 章(Xpoint)
已經和現有的標準有很大的出入,所以我沒有再將第17 章提取下來,有要的朋
友請自己到http://www.xml.net.cn/
去察看 Chicken
XML 實用大全
第 617 頁
第18 章 命名域
XML 的用途不是單一的。雖然讀者可能看到編寫只使用一個標記符號集的文檔是相當有用的(第4 和第5 章的棒球運動就是
如此),但將不同的XML 應用程序的標記混合,并進行匹配,甚至更為有用。例如,可將BIOGRAPHY 元素包括在各個PLAYER
元素中。由于傳記基本上是由自由形態的、格式化的文本組成,所以,以結構整潔的HTML 格式編寫它就很方便,而無需從
零做起重新定義所有的用于段落、分行符、列表項、粗體元素等等的標記。
但是,問題是,當混雜和匹配不同的XML 應用程序的標記時,可能會發現同一個標記已用于兩個不同對象。TITLE 是指頁標
題還是書的標題?ADDRESS 是指公司的郵件地址還是Web 站點管理人員的電子郵件地址?命名域(namespace)可以解決這
些諸如此類的問題,它是將URI 與各標記集相關聯,并在每個元素前加上一個前綴,以表示它屬于哪個標記集。于是,就可
以有BOOK:TITLE 和HTML:TITLE 兩個元素或POSTAL:ADDRESS 和HTML:ADDRESS 元素,而不只一類TITLE 或ADDRESS。本章將
說明如何使用命名域。
本章的主要內容如下:
• 何為命名域?
• 命名域語法
• DTD 中的命名域
18.1 何為命名域
XML 能夠使開發者為工程創建自己的標記語言。這些語言可以和工作于世界各地的類似工程的工作者們共享。使用這種方式
工作的典型實例之一就是XSL。XSL 本身就是用于XML 樣式文檔的一個XML 應用程序。XSL 變換語言必須輸出任意的、結構
整潔的XML,或許還包括XSL 本身。因此,需要有明確的手段來區分何為XSL 轉換指令的XML 元素、何為輸出的XML 元素,
即便它們有相同的名稱也得要區分開!
命名域就是這種解決方案。命名域允許文檔中的每個元素和特性放在不同的命名域中。組成XSL 轉換指令的XML 元素放在
http://www.w3.org/XSL/Transform/1.0 命名域中。成為輸出部分的XML 元素仍放在某個其他方便的命名域(如
http://www.w3. org/TR/REC-html40 或http://www.w3.org/XSL/Format/1.0)中。只要命名域不同,那么命名域的精確性
就不顯得很重要。
如果熟悉C++和其他程序語言命名域,那么在深入閱讀本章之前,需要將以前的概念放置一邊。XML 命名域與編程
中使用的命名域類似,但不完全相同。特別是,XML 命名域沒有必要組成一個集合(沒有重名的集合)。
清單15-2 是從源符號集轉換到XSL 格式化對象的變換,最早出現在第15 章的“XSL 格式化對象”中。它顯示了XSL 樣式單,
可從輸入XML 轉換成XSL 格式化對象。格式化引擎使用命名域來區分作為XSL 指令的元素和用于輸出的文字數據。
http://www.w3.org/XSL/Transform/1.0 命名域中的任何元素都表示一個轉換指令。http://www.w3.org/XSL/Format/1.0
命名域中的任何元素包括輸出部分。
<?xml version="1.0"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/XSL/Transform/1.0"
xmlns:fo="http://www.w3.org/XSL/Format/1.0"
XML 實用大全
第 618 頁
result-ns="fo" indent-result="yes">
<xsl:template match="/">
<fo:root xmlns:fo="http://www.w3.org/XSL/Format/1.0">
<fo:layout-master-set>
<fo:simple-page-master page-master-name="only">
<fo:region-body/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence>
<fo:sequence-specification>
中國航空網 www.k6050.com
航空翻譯 www.aviation.cn
本文鏈接地址:
XML實用大全(174)