Freigeben über


ENTITY

Mithilfe der ENTITY-Anweisung werden Entitäten in der DTD definiert. Dies gilt sowohl für die Verwendung im XML-Dokument, das der DTD zugeordnet ist, als auch für die Verwendung in der DTD selbst. Eine ENTITY stellt einen abgekürzten Eintrag für das XML-Dokument bereit. Den abgekürzten Namen geben Sie für den Namensparameter an. ENTITYs sind für wiederholt vorkommende Informationen und große Textblöcke, die in separaten Dateien gespeichert werden könnten, von großem Nutzen. Auf den abgekürzten Namen folgt im XML-Dokument ein ; (&abbName;).

Ein Beispiel für ENTITYs in einer DTD und in einer XML-Datei ist unten aufgeführt.

longtext.txt

Der Inhalt der Datei longtext.txt:

<definition>ATTLIST(attribute list) Declares a list of XML attributes. These attributes are qualified by name, data type, implied default values, and the name of any elements that permit their use.

</definition>

dtd_chunk.dtd

sample.dtd

Bei der Analyse des DTD-Dokuments erhalten Sie die folgenden Ergebnisse. Beachten Sie, dass die Ersetzung nur im Speicher stattfindet. Der Parser ändert die Datei nicht.

sample.xml

Ergebnisse des analysierten XML-Dokuments

Bei der Analyse des XML-Dokuments erhalten Sie die folgenden Ergebnisse:

Definition list for eXtensible Markup Language attributes used in DTD files.

top file

ATTLIST(attribute list) Declares a list of XML attributes. These attributes are qualified by name, data type, implied default values, and the name of any elements that permit their use.

Conclusion of definition list for eXtensible Markup Language attributes.

Syntax

<!ENTITY [%] name [SYSTEM|PUBLIC publicID] resource [NDATA notation] >

Parameter

  • name
    Der Name der Entität. Erforderlich für alle Entitätsdefinitionen.
  • publicID
    Der öffentliche Bezeichner für die Entität. Nur erforderlich, wenn in der Deklaration das Schlüsselwort PUBLIC verwendet wird.
  • resource
    Der Wert für die Entität. Erforderlich für alle Entitätsdefinitionen. Bei internen Entitäten ist dies eine Textzeichenfolge, die analysiert und erweitert wird. Bei externen Entitäten ist es ein Uniform Resource Identifier (URI), der eine externe Entität, z. B. einen Dateinamen oder einen Dateityp identifiziert.
  • notation
    Der Name einer Notation, die an anderer Stelle in der DTD mithilfe der NOTATION-Anweisung deklariert wird. Nur erforderlich, wenn eine nicht analysierte Entität durch die Verwendung des Schlüsselworts für Nicht-XML-Daten (NDATA) deklariert wird.

Beispiele

Allgemeine Entität (analysiert, intern)

Im Folgenden wird eine interne, allgemeine Entität deklariert, auf die in XML-Dokumenten, die die DTD verwenden, als &oumlaut; und &xml; verwiesen werden kann.

<!ENTITY oumlaut "&#38;#246;">

oder ein Beispiel für eine Ersetzung von einfachem Text:

<!ENTITY xml "eXtensible Markup Language">

Der XML-Parser erweitert den unformatierten Entitätswert (&#38;#246;) so, dass dieser Bestandteil des internen XML-Dokuments wird. In der endgültigen analysierten Dokumentausgabe wird der Wert "&#38;" zum Erstellen des Zeichens "&" verwendet. Der Wert wird im XML-Dokument als "&#246;" angezeigt.

Parameterentität (analysiert, intern)

Im Folgenden wird eine interne Parameterentität deklariert, auf die an anderen Stellen in der DTD als %lists; verwiesen werden kann. Damit sind wiederholte Verweise auf die XHTML-Listenelemente <ul> und <ol> möglich.

<!ENTITY % lists "ul | ol">

Nicht analysierte externe Entität

Im Folgenden wird eine nicht analysierte externe Entität deklariert, mit der Sie Links zu Nicht-XML-Daten (in diesem Fall eine Bilddatei im GIF-Format) zum Einbinden in das XML-Dokument codieren können.

<!ENTITY file_pic SYSTEM "file.jpg" NDATA jpg>

In diesem Fall ist es bei Verwendung des Schlüsselworts NDATA erforderlich, dass eine NOTATION-Deklaration für die Notation "jpg" auch in Kombination mit dieser Deklaration verwendet wird. Weitere Informationen finden Sie unter NOTATION.

Hinweise

Für ENTITYs gibt es verschiedene Verwendungsmöglichkeiten. Wenn Sie sich nicht sicher sind, wie eine zu verwendende Entität definiert wird, können Sie anhand der folgenden Fragen die unterschiedlichen Bedingungen für die Verwendung der von Ihnen in der DTD deklarierten Entitäten möglicherweise besser verstehen:

  • Soll der Wert der Entität einfach zum Abkürzen einer längeren Textzeichenfolge verwendet werden, die sich während der Lebensdauer des Dokuments möglicherweise ändert? Verwenden Sie in diesem Fall eine allgemeine Entität.

  • Soll sie als Zeiger auf Entitäten außerhalb der DTD oder des XML-Dokuments (d. h. externe Entitäten), z. B. auf einen Dateinamen oder MIME-Typ, verwendet werden? Verwenden Sie in diesem Fall eine nicht analysierte externe Entität.

  • Soll der URI-Wert der Entität analysiert werden (d. h. als Teil der DTD oder eines XML-Dokuments, das die Entität verwendet, erweitert werden), oder soll er im nicht analysierten Zustand bleiben (d. h., der XML-Parser lässt die entsprechenden Inhalte im endgültigen analysierten Dokument aus)?

  • Soll der Inhalt der erweiterten Entität im Falle der Analyse Bestandteil des XML-Dokuments werden, das die DTD (d. h. allgemeine Entitäten) verwendet, oder Bestandteil der DTD selbst (d. h. Parameterentitäten)?

Siehe auch

Konzepte

ATTLIST (Attributliste)
ELEMENT
NOTATION