請閱讀本文,了解如何在 Dreamweaver 中指定遺失的字元實體以取代 XSLT 的特殊字元。

註解:

Dreamweaver CC (含) 以後版本的用戶介面已經簡化了。因此,您在 Dreamweaver CC 和更新版本中可能會找不到本文所描述的一些選項。如需詳細資訊,請參閱本文

指定遺失的字元實體

在 XSLT 頁面中,不允許在特定內容中使用某些字元。例如,您無法在標籤之間的文字或屬性值中,使用小於符號 (<) 及 & 符號。如果這些字元使用不當,XSLT 轉換引擎便會發生錯誤。若要解決此問題,您可以指定字元實體以取代此類特殊字元。

字元實體是一個代表其他字元的字元字串。字元實體可以命名或編號。具名實體的開頭是 & 符號,後面接著該名稱或字元,然後以分號 (;) 結尾。例如,&lt; 代表左角括號字元 (<)。已編號的實體也是使用同樣的開頭和結尾方式,除了井號 (#) 和數字是表示字元。

XSLT 有下列 5 個預先定義的實體:

字元

實體程式碼

< (小於)

&lt;

& 符號

&amp;

> (大於)

&gt;

" (引號)

&quot;

‘ (所有格符號)

&apos;

如果您在 XSL 檔案中使用其他字元實體,將需要在該 XSL 檔案的 DTD 區段定義它們。Dreamweaver 提供一些預設的實體定義,您可以在 Dreamweaver 建立的 XSL 檔案上方看見。這些預設實體包含各種最常用字元的較廣選取範圍。

當您在瀏覽器中預覽 XSL 檔案時,Dreamweaver 會檢查其未定義實體的 XSL 檔案並在找到未定義的實體時通知您。

如果您預覽附加至 XSLT 檔案的 XML 檔案,或如果您預覽具有 XSLT 轉換的伺服器端頁面,則伺服器或瀏覽器 (而不是 Dreamweaver) 會在發現未定義實體時通知您。當您要求以具有一個遺失實體定義的 XSL 檔案進行 XML 檔案轉換時,您可能會在 Internet Explorer 中得到下面的訊息範例:Reference to undefined entity 'auml'. Error processing resource 'http://localhost/testthis/list.xsl'. Line 28, Position 20 <p class=''test''>&auml;</p> -------------------^

若要修正頁面中的錯誤,您需要手動將實體定義新增至頁面中。

Reference to undefined entity 'auml'. Error processing resource 'http://localhost/testthis/list.xsl'. Line 28, Position 20 
<p class=''test''>&auml;</p> 
-------------------^

指定遺失的實體定義

  1. 請在 WC 網站的字元實體參考網頁中查詢遺失的字元,網址為:www.w3.org/TR/REC-html40/sgml/entities.html

    此網頁包含 HTML 4 和 XHTML 1.0 所允許的 252 種實體。

    舉例來說,如果字元實體 Egrave 遺失了,您可以在 W3C 網頁中搜尋到「Egrave」。您將會找到下面的實體:

    <!ENTITY Egrave CDATA "&#200;" -- latin capital letter E with grave, U+00C8 ISOlat1 -->
  2. 請將該項目內的實體名稱和實體程式碼標示附註。

    在範例中,Egrave 是實體名稱,而 &#200 是實體程式碼。

  3. 透過這些資訊,切換至「程式碼」檢視並在您的 XSL 檔案上方輸入下列的實體標籤 (接著是 Doctype 宣告和其他實體標籤):
    <!ENTITY entityname "entitycode;">

    在範例中,您要輸入下面的實體標籤:<!ENTITY Egrave "&#200;">

    <!ENTITY Egrave "&#200;">
  4. 儲存檔案。

    如果您重複使用相同的字元實體,可能會想要將其定義固定加入 XSL 檔案中,此檔案必須是當您使用「檔案>開新檔案」時,Dreamweaver 預設建立的 XSL 檔案。

新增實體定義至 Dreamweaver 預設建立的 XSL 檔案

  1. 在 Dreamweaver 應用程式資料夾中,尋找下面的設定檔案,然後使用任何文字編輯器來開啟:

    Configuration/DocumentTypes/MMDocumentTypeDeclarations.xml

  2. 尋找名為 mm_xslt_1 的宣告:
    <documenttypedeclaration id="mm_xslt_1">
  3. 輸入新實體標籤或下列實體標籤清單中的標籤,如下所示:
    <!ENTITY entityname "entitycode;">
  4. 儲存檔案並重新啟動 Dreamweaver。

此産品由 Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License 授權  Creative Commons 條款未涵蓋 Twitter™ 與 Facebook 文章。

法律說明   |   線上隱私權政策