Heim  >  Artikel  >  Backend-Entwicklung  >  XML-Einführungs-Tutorial – detaillierte Einführung in Entitäten

XML-Einführungs-Tutorial – detaillierte Einführung in Entitäten

黄舟
黄舟Original
2017-03-15 16:47:541370Durchsuche

Da die Daten nicht im XML-Format vorliegen, verwenden Sie die NDATA-Deklaration, um den Datentyp anzugeben. avi ist ein in NOTATION definierter MIME-Medientyp. Das Einbetten ungeparster Entitäten in XML ist kompliziert und nicht standardisiert. Versuchen Sie daher, es nicht zu verwenden. Entity

definiert eine Entität mithilfe der ENTITY-Deklaration. Beispiel:

<!ENTITY linux "linux is a very good system"> 用&linux;可引用该字符串

kann eine externe Entität definieren und auf ein externes XML-Dokument verweisen.

<!ENTITY linux SYSTEM "/home/linux/test.xml"> 使用&linux;可引用/home/linux/test.xml文档

Externe Entitäten haben keine XML-Deklaration, können aber Textdeklarationen haben ähnlich. Der Hauptunterschied besteht darin, dass Textdeklarationen eine Codierungsdeklaration haben müssen, Versionsinformationen sind jedoch optional.

<?xml version="1.0" encoding="gb2312"?> 是一个合法的文本声明 <?xml encoding="gb2312"?> 也是一个合法的文本声明

Nicht alle Daten sind XML. Wie JPEG-Fotos, MPEG-Filme usw. XML empfiehlt die Verwendung externer, nicht geparster Entitäten als Mechanismus zum Einbetten dieses Inhalts in Dokumente. DTDGibt einen Namen und einen URI für Entitäten an, die Nicht-XML-Daten enthalten.

<!ENTITY movie SYSTEM "/home/linux/test.avi" NDATA avi>

Da die Daten nicht im XML-Format vorliegen, verwenden Sie die NDATA-Deklaration, um den Datentyp anzugeben. avi ist ein in NOTATION definierter MIME-Medientyp. Das Einbetten ungeparster Entitäten in XML ist kompliziert und nicht standardisiert. Versuchen Sie daher, es nicht zu verwenden.

Parameterentität kann eine Reihe gemeinsamer Entitäten definieren, und Entitäten können über diese Parameterentität im Dokument referenziert werden. Die Definition von Parameterentitäten ähnelt der Definition allgemeiner Entitäten, mit der Ausnahme, dass in der Mitte ein zusätzliches % steht und bei der Referenzierung auch der %-Code & verwendet wird.

<!ENTITY % person "name,address,postcode"> 引用方法 %person; 这样会用name,address,postcode代替参数实体%person;

Normalerweise ist die DTD von DocBook mehr als 11.000 Zeilen lang. Wenn sie in einer einzigen Datei gespeichert wird, ist sie sehr schwierig zu verwalten und zu warten. Wir können externe DTD-Teilmengen verwenden, um eine große DTD entsprechend den Funktionen in verschiedene Funktionsblöcke zu unterteilen und diese in verschiedenen Dateien zu speichern. Führen Sie es dann über die Deklaration der externen Parameterentität in die aktuelle DTD ein, z. B.:

Definieren Sie die Parameterentität so, dass sie auf die externe Datei „names.dtd“ verweist. c53b935899dcee319965cf9c59eb35b4 die externe DTD-Teilmenge %names;

Verwenden Sie das Schlüsselwort IGNORE, um die -Anweisung zu kommentieren, z. !-- comment--> Das Schlüsselwort

<![IGNORE[ <!ELEMENT note (#PCDATA)> ]]>
INCLUDE

gibt an, dass die angegebene Anweisung tatsächlich in der DTD verwendet wird, wie zum Beispiel:

Diese Aussage allein betrachtet hat keine Auswirkung darauf, ob oder nicht INCLUDE wird verwendet, aber wenn INCLUDE und IGNORE kombiniert werden, kann eine DTD-Funktionsauswahl erreicht werden. Wir können eine Parameterentität definieren:

<![INCLUDE[ <!ELEMENT note (#PCDATA)> ]]>
und dann die Parameterentitätsreferenz verwenden, ohne Schlüsselwörter zu verwenden:

<!ENTITY % note_allowed "INCLUDE" >
Wie oben ist die Elementdeklaration gültig, aber wir können sie auch neu definieren die Parameterentität %note_allowed auf IGNORE setzen, sodass die Elementdeklaration ungültig ist.

Das obige ist der detaillierte Inhalt vonXML-Einführungs-Tutorial – detaillierte Einführung in Entitäten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn