<html>
<head>
<title>Parameter-Entity-Deklarationen</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div id="Beschreibung">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
<tr>
<td valign="top" class="NAME">Parameter-Entity-Deklarationen</td>
<td valign="top" class="COMPATIBILITY">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"></td>
</tr>
<tr>
<td valign="top" colspan="2" class="description">
<span class="PROGRAMLISTING"><pre><strong class="userinput">&lt;!ENTITY</strong><var class="replaceable"> %</var> <var class="replaceable">name</var> <strong class="userinput">"</strong><var class="replaceable">Replacement text</var><strong class="userinput">."&gt;</strong>
<strong class="userinput">&lt;!ENTITY</strong><var class="replaceable"> %</var> <var class="replaceable">name</var> <strong class="userinput">SYSTEM "</strong><var class="replaceable">system-literal</var><strong class="userinput">"&gt;</strong>
<strong class="userinput">&lt;!ENTITY</strong><var class="replaceable"> %</var> <var class="replaceable">name</var> <strong class="userinput">PUBLIC "</strong><var class="replaceable">pubid-literal</var><strong class="userinput">" "</strong><var class="replaceable">system-literal</var><strong class="userinput">"&gt;</strong></pre></span>
<p>Parameter-Entities werden innerhalb der DTD eines Dokuments deklariert. Sie m&uuml;ssen erst deklariert werden, bevor sie verwendet werden. Die Deklaration umfasst zwei zentrale Informationseinheiten:</p>

<ul><li>
<p>Den Namen der Entity. Dieser wird verwendet, wenn auf die Entity verwiesen wird.</p>
</li><li>
<p>Den Ersetzungstext, der entweder direkt angegeben oder indirekt durch einen Link auf eine externe Entity spezifiziert wird.</p>
</li></ul>

<p>Sie sollten sich dar&uuml;ber bewusst sein, dass ein XML-Parser eine Vorverarbeitung des Ersetzungstexts vornimmt, bevor er in einer Entity-Referenz verwendet wird. Vor allem ist zu beachten, dass Parameter-Entity-Referenzen im Ersetzungstext rekursiv entfaltet werden, bevor die Endversion des Ersetzungstexts gespeichert wird. Auch Zeichenreferenzen werden unmittelbar durch das angegebene Zeichen ersetzt. Dieser Ersetzungsvorgang kann zu unerwarteten Nebeneffekten f&uuml;hren, insbesondere wenn Parameter-Entities konstruiert werden, die weitere Parameter-Entities deklarieren. Wie die Entity-Ersetzung in einen XML-Parser implementiert ist und Beispiele f&uuml;r m&ouml;gliche unerwartete Nebeneffekte finden Sie in Anhang D der XML-1.0-Spezifikation. Die Spezifikation ist verf&uuml;gbar auf der Website des World Wide Web Consortium (<systemitem role="url">http://www.w3.org/TR/REC-xml#sec-entexpand</systemitem>, dritte Auflage) bzw. die deutschen &Uuml;bersetzung auf der Website der Edition W3C (<systemitem role="url">http://edition-w3c.de/TR/2000/REC-xml-20001006/#sec-entexpand</systemitem>, 2. Auflage).</p>
</td></tr>
</table>
</div>
</body>
</html>
