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) |
" |
' (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''>ä</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''>ä</p>
-------------------^
Určení definice chybějící entity
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 "È" -- latin capital letter E with grave, U+00C8 ISOlat1 -->
V příkladu je Egrave název entity a È je kód entity.
<!ENTITY entityname "entitycode;">
V příkladu byste zadali následující značku entity:<!ENTITY Egrave "È">
<!ENTITY Egrave "È">
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í
Configuration/DocumentTypes/MMDocumentTypeDeclarations.xml
<documenttypedeclaration id="mm_xslt_1">
<!ENTITY entityname "entitycode;">
Tvorba nádherných webů v aplikaci Dreamweaver
Vytvářejte, kódujte a spravujte dynamické weby pomocí výkonného všestranného nástroje.