Přidání entit znaku pro XSLT v aplikaci Dreamweaver

Naposledy aktualizováno 20. 12. 2021

Tento článek popisuje, jak určit chybějící entity znaku a nahradit tak speciální znaky pro XSLT v aplikaci Dreamweaver.

Uživatelské rozhraní v aplikaci Dreamweaver a jejích novějších verzích bylo zjednodušeno. Výsledkem je skutečnost, že některé možnosti uvedené v tomto článku nemusí být v aplikaci Dreamweaver a jejích novějších verzích k dispozici. Další informace najdete v tomto článku.

Určení chybějící znakové entity

V jazyce XSLT nejsou některé znaky povolené v určitých kontextech. Například nemůžete použít znak menší než (<) a ampersand (&) v textu mezi značkami nebo v hodnotě atributu. Modul transformace XSLT vám vrátí chybu, pokud jsou tyto znaky použité nesprávně. Pro vyřešení problému určete znakové entity, které nahradí speciální znaky.

Znaková entita je řetězec znaků, který reprezentuje jiné znaky. Znakové entity jsou buď pojmenované, nebo číslované. Pojmenovaná entita začíná ampersandem (&), po kterém následuje název nebo znaky, a končí středníkem (;). Například < reprezentuje znak levé úhlové závorky (<). Číslované entity také začínají a končí stejným způsobem, jen s tím rozdílem, že znak mřížky (#) a číslo specifikují znak.

XSLT má následujících pět předdefinovaných entit:

Znak

Kód entity

< (menší než)

<

& (ampersand)

&

> (větší než)

>

" (uvozovka)

&quot;

' (apostrof)

'

Pokud používáte jiné znakové entity v souboru XSL, musíte je definovat v sekci DTD souboru XSL. Dreamweaver poskytuje několik výchozích definic entit, které můžete vidět na začátku souboru XSL vytvořeného v aplikaci Dreamweaver. Tyto výchozí entity pokrývají široký výběr nejčastěji používaných znaků.

Když si prohlížíte soubor XSL v prohlížeči, Dreamweaver zkontroluje soubor XSL na nedefinované entity a upozorní vás, pokud najde nedefinovanou entitu.

Pokud si prohlížíte soubor XML připojený k souboru XSLT nebo pokud si prohlížíte stránku na straně serveru s transformací XSLT, server nebo prohlížeč (namísto Dreamweaver) vás upozorní na nedefinovanou entitu.Následuje příklad zprávy, kterou můžete dostat v Internet Exploreru, když požádáte o soubor XML transformovaný souborem XSL s chybějící definicí entity:Odkaz na nedefinovanou entitu 'auml'.Chyba při zpracování prostředku 'http://localhost/testthis/list.xsl'. Řádek 28, pozice 20 <p class=''test''>&auml;</p> -------------------^

Chcete-li opravit chybu na stránce, musíte do stránky ručně přidat definici entity.

Odkaz na nedefinovanou entitu 'auml'.Chyba při zpracování prostředku 'http://localhost/testthis/list.xsl'. Řádek 28, pozice 20

<p class=''test''>&auml;</p>

-------------------^

Určení definice chybějící entity

Vyhledejte chybějící znak na referenční stránce znakových entit na webu W3C na adrese www.w3.org/TR/REC-html40/sgml/entities.html.

Tato webová stránka obsahuje 252 povolených entit v HTML 4 a XHTML 1.0.

Například pokud chybí entita znaku Egrave, vyhledejte „Egrave" na webové stránce W3C.Najdete tam následující položku:

<!ENTITY Egrave CDATA "&#200;" -- latin capital letter E with grave, U+00C8 ISOlat1 -->

Poznamenejte si název entity a kód entity v záznamu.

V příkladu je Egrave název entity a &#200 je kód entity.

S těmito informacemi přepněte do zobrazení Kód a zadejte následující značku entity v horní části souboru XSL (za deklaraci Doctype a s ostatními značkami entit):

<!ENTITY entityname "entitycode;">

V příkladu byste zadali následující značku entity:<!ENTITY Egrave "&#200;">

<!ENTITY Egrave "&#200;">

Soubor uložte.

Pokud opakovaně používáte stejné znakové entity, možná budete chtít trvale přidat jejich definice do souborů XSL, které Dreamweaver vytváří ve výchozím nastavení při použití Soubor > Nový.

Přidání definic entit do souborů XSL, které Dreamweaver vytváří ve výchozím nastavení

Najděte následující konfigurační soubor ve složce aplikace Dreamweaver a otevřete jej v libovolném textovém editoru:

Configuration/DocumentTypes/MMDocumentTypeDeclarations.xml

Vyhledejte deklaraci nazvanou mm_xslt_1:

<documenttypedeclaration id="mm_xslt_1">

Zadejte novou značku entity nebo značky do seznamu značek entit takto:

<!ENTITY entityname "entitycode;">

Soubor uložte a restartujte aplikaci Dreamweaver.