Tekenentiteiten toevoegen voor XSLT in Dreamweaver

Laatst bijgewerkt op 20 dec. 2021

Lees dit artikel voor informatie over het opgeven van ontbrekende tekenentiteiten om speciale tekens voor XSLT te vervangen in Dreamweaver.

De gebruikersinterface van nieuwere versies van Dreamweaver is vereenvoudigd. Daarom zijn sommige opties die in dit artikel worden beschreven, niet beschikbaar in nieuwere versies van Dreamweaver. Meer informatie vindt u in dit artikel.

Ontbrekende tekeneenheid opgeven

In XSLT zijn bepaalde tekens niet toegestaan in bepaalde contexten. Je kunt bijvoorbeeld het kleiner dan-teken (<) en het ampersand-teken (&) niet gebruiken in de tekst tussen tags of in een attribuutwaarde. De XSLT-transformatie-engine geeft een fout als deze tekens onjuist worden gebruikt. Om het probleem op te lossen, kun je tekenentiteiten opgeven om de speciale tekens te vervangen.

Een tekenentiteit is een tekenreeks die andere tekens vertegenwoordigt. Tekenentiteiten zijn ofwel benoemd of genummerd. Een benoemde entiteit begint met een ampersand (&) gevolgd door de naam of tekens, en eindigt met een puntkomma (;). Bijvoorbeeld, < vertegenwoordigt het kleiner-dan-teken (<).Genummerde entiteiten beginnen en eindigen ook op dezelfde manier, behalve dat een hekje (#) en een nummer het teken specificeren.

XSLT heeft de volgende vijf voorgedefinieerde entiteiten:

Teken

Eenheidcode

< (kleiner dan)

<

& (en-teken)

&

> (groter dan)

>

" (dubbel aanhalingsteken)

&quot;

‘ (apostrof)

'

Als je andere tekenentiteiten in een XSL-bestand gebruikt, moet je ze definiëren in de DTD-sectie van het XSL-bestand. Dreamweaver biedt verschillende standaard entiteitsdefinities die je kunt zien bovenaan een XSL-bestand dat is gemaakt in Dreamweaver. Deze standaardentiteiten dekken een brede selectie van de meest gebruikte tekens.

Wanneer je een voorvertoning van je XSL-bestand in een browser bekijkt, controleert Dreamweaver het XSL-bestand op ongedefinieerde entiteiten en waarschuwt je als een ongedefinieerde entiteit wordt gevonden.

Als je een voorvertoning bekijkt van een XML-bestand dat is gekoppeld aan een XSLT-bestand of als je een voorvertoning bekijkt van een server-side pagina met een XSLT-transformatie, waarschuwt de server of browser (in plaats van Dreamweaver) je voor een ongedefinieerde entiteit. Het volgende is een voorbeeld van een bericht dat je kunt krijgen in Internet Explorer wanneer je een XML-bestand opvraagt dat is getransformeerd door een XSL-bestand met een ontbrekende entiteitsdefinitie:Verwijzing naar ongedefinieerde entiteit 'auml'. Fout opgetreden tijdens de verwerking van bron 'http://localhost/testthis/list.xsl'. Regel 28, Positie 20 <p class=''test''>&auml;</p> -------------------^

Om de fout in je pagina te corrigeren, moet je de entiteitsdefinitie handmatig aan je pagina toevoegen.

Verwijzing naar ongedefinieerde entiteit 'auml'. Fout opgetreden tijdens de verwerking van bron 'http://localhost/testthis/list.xsl'. Regel 28, Positie 20

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

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

Ontbrekende tekeneenheid opgeven

Look up het ontbrekende teken in de tekenentiteitsreferentiepagina op de W3C-website op www.w3.org/TR/REC-html40/sgml/entities.html.

Deze webpagina bevat de 252 toegestane entiteiten in HTML 4 en XHTML 1.0.

Als bijvoorbeeld de tekenentiteit Egrave ontbreekt, zoek dan naar "Egrave" op de W3C-webpagina. Je vindt de volgende vermelding:

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

Noteer de entiteitsnaam en entiteitscode in de vermelding.

In het voorbeeld is Egrave de entiteitsnaam, en &#200 is de entiteitscode.

Schakel met deze informatie over naar de Codeweergave en voer de volgende entiteitstag boven in je XSL-bestand in (na de Doctype-declaratie en bij de andere entiteitstags):

<!ENTITY entityname "entitycode;">

In het voorbeeld zou je de volgende entiteitstag invoeren: <!ENTITY Egrave "&#200;">

<!ENTITY Egrave "&#200;">

Sla uw bestand op.

Als je herhaaldelijk dezelfde karakterentiteiten gebruikt, kun je hun definities permanent toevoegen aan de XSL-bestanden die Dreamweaver standaard aanmaakt wanneer je Bestand > Nieuw gebruikt.

Voeg entiteitsdefinities toe aan de XSL-bestanden die Dreamweaver standaard maakt

Zoek het volgende configuratiebestand in de Dreamweaver-applicatiemap en open het in een teksteditor:

Configuration/DocumentTypes/MMDocumentTypeDeclarations.xml

Zoek de declaratie met de naam mm_xslt_1:

<documenttypedeclaration id="mm_xslt_1">

Voer de nieuwe entiteitstag of tags in de lijst met entiteitstags in, als volgt:

<!ENTITY entityname "entitycode;">

Sla het bestand op en start Dreamweaver opnieuw.