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

黄舟
Freigeben: 2017-03-15 16:47:54
Original
1435 Leute haben es durchsucht

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;可引用该字符串
Nach dem Login kopieren

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文档
Nach dem Login kopieren

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"?> 也是一个合法的文本声明
Nach dem Login kopieren

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>
Nach dem Login kopieren

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;
Nach dem Login kopieren

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. 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)> ]]>
Nach dem Login kopieren
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)> ]]>
Nach dem Login kopieren
und dann die Parameterentitätsreferenz verwenden, ohne Schlüsselwörter zu verwenden:

<!ENTITY % note_allowed "INCLUDE" >
Nach dem Login kopieren
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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage