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

Poznámka:

Uživatelské rozhraní v aplikaci Dreamweaver CC 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 CC 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 XSLT nejsou v některých kontextech povoleny některé znaky. Nemůžete například používat znak menší než (<) a ampersand (&) v textu mezi tagy nebo v hodnotě atributu. Transformační modul XSLT při nesprávném použití uvedených znaků vrátí chybu. Problém můžete vyřešit zadáním znakových entit, které nahradí tyto speciální znaky.

Znaková entita je řetězec znaků, který nahrazuje jiné znaky. Znakové entity mohou být názvové nebo číselné. Názvová entita začíná znakem ampersand (&), pak je uveden název a na konec středník (;). Například &lt; označuje znak pro levou lomenou závorku (<). Číselné entity začínají a končí stejně, ale znak je určen symbolem # a číslem.

V XSLT je předdefinováno pět entit:

Znak

Kód entity

< (menší než)

&lt;

& (ampersand)

&amp;

> (větší než)

&gt;

" (uvozovka)

&quot;

' (apostrof)

&apos;

Pokud v souboru XSL používáte jiné znakové entity, musíte je definovat v sekci DTD souboru XSL. Aplikace Dreamweaver nabízí několik výchozích definic entit, které jsou uvedeny na začátku souboru XSL vytvořeného v aplikaci Dreamweaver. Tyto výchozí entity pokrývají širokou škálu nejběžněji používaných znaků.

Při náhledu souboru XSL v prohlížeči aplikace Dreamweaver zkontroluje soubor XSL, zda neobsahuje nedefinované entity a pokud nějakou najde, upozorní vás.

Při zobrazení náhledu souboru XML připojeného k souboru XSLT nebo při zobrazení náhledu stránky s transformací XSLT na straně serveru vás na nedefinovanou entitu upozorní server nebo prohlížeč (a ne aplikace Dreamweaver). Následuje příklad hlášení, které se může zobrazit v prohlížeči Internet Explorer, pokud si vyžádáte soubor XML transformovaný souborem XSL, v němž je nedefinovaná entita:Odkaz na nedefinovanou entitu 'auml'. Chyba při zpracování prostředku 'http://localhost/testthis/list.xsl'. Řádek 28, místo 20 <p class=''test''>&auml;</p> -------------------^

Chybu na stránce opravíte tím, že do stránku ručně přidáte definici entity.

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

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

  1. 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 entit, které jsou povoleny v HTML 4 a XHTML 1.0.

    Pokud například chybí znaková entita Egrave, hledejte na webové stránce W3C „Egrave“. Najdete následující záznam:

    <!ENTITY Egrave CDATA "&#200;" -- latin capital letter E with grave, U+00C8 ISOlat1 -->
  2. Poznamenejte si název entity a její kód uvedený v záznamu.

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

  3. Po získání těchto informací přepněte do zobrazení Kód a zadejte na začátek souboru XSL (za deklaraci Doctype a k ostatním tagům entit) následující tag entity:
    <!ENTITY entityname "entitycode;">

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

    <!ENTITY Egrave "&#200;">
  4. Soubor uložte.

    Pokud stejné znakové entity používáte opakovaně, můžete se rozhodnout jejich definice přidat do souborů XSL, které aplikace Dreamweaver standardně vytvoří poté, co vyberete volbu Soubor > Nový.

Přidání definic entit do souborů XSL, které aplikace Dreamweaver vytváří standardně

  1. Vyhledejte ve složce aplikace Dreamweaver následující konfigurační soubor a otevřete ho v libovolném textovém editoru:

    Configuration/DocumentTypes/MMDocumentTypeDeclarations.xml

  2. Vyhledejte deklaraci nazvanou mm_xslt_1:
    <documenttypedeclaration id="mm_xslt_1">
  3. Zadejte tag nové entity nebo tagy nových entit do seznamu tagů entit takto:
    <!ENTITY entityname "entitycode;">
  4. Soubor uložte a restartujte aplikaci Dreamweaver.

Tato práce podléhá licenci Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.  Na příspěvky ze služeb Twitter™ a Facebook se nevztahují podmínky licence Creative Commons.

Právní upozornění   |   Zásady ochrany osobních údajů online