Heim  >  Artikel  >  Backend-Entwicklung  >  XML-Erste-Schritte-Tutorial – Beispiel für einen Attributdeklarationscode

XML-Erste-Schritte-Tutorial – Beispiel für einen Attributdeklarationscode

黄舟
黄舟Original
2017-03-15 16:51:201763Durchsuche

Ein gültiges XML-Dokument muss das -Attribut des Elements deklarieren. Verwenden Sie zur Vervollständigung die ATTLIST-Deklaration. Eine ATTLIST kann mehrere Attribute für einen Elementtyp deklarieren.
ee56423a142649b0ea5b04fbc1a6279c Das obige Beispiel deklariert, dass das Bildelement ein src-Attribut haben muss und der Wert dieses Attributs Zeichendaten sind. Sie können die ATTLIST-Anweisung verwenden, um mehrere Attribute für ein Element zu deklarieren, wie zum Beispiel:
width CDATA #REQUIRED height CDATA #REQUIRED alt CDATA #IMPLIED > ; Die obige Anweisung weist darauf hin, dass die Attribute src, width und height erforderlich sind und das alt-Attribut optional ist. 1. Attributtyp

Der Attributwert vom Typ CDATA kann einen beliebigen Text

Zeichenfolge enthalten. DTD kann das Attribut nicht als Ganzzahl oder Datum angeben. Schema kann leistungsfähigere Datentypen bereitstellen.

Der Attributwert vom Typ NMTOKEN ist ein XML-Namenstoken. XML-Namenstoken ähneln XML-Namen, aber XML-Namenstoken ermöglichen die Verwendung aller Zeichen als Anfangszeichen eines Namens, während der erste Buchstabe eines XML-Namens ein Buchstabe, ein ideografisches Zeichen und ein Unterstrich sein muss. Also 10, .bashrc ist ein legales XML-Namens-Tag, aber kein legaler XML-Name. Jeder XML-Name ist ein XML-Namenstag, aber nicht alle XML-Namenstags sind XML-Namen. Wenn das Attribut Ganzzahlen wie 1990, 2005 enthält, sollte sein Typ als NMTOKEN angegeben werden. Beispiel: Das Attribut vom Typ

<!ELEMENT person birthday NMTOKEN #REQUIRED>
NMTOKENS enthält ein oder mehrere durch Leerzeichen getrennte XML-Namenstoken. Zum Beispiel:

<person dates="02-01-2005 03-01-2005 05-01-2005">person</person>
Die entsprechende Deklaration sollte lauten:

<!ATTLIST person dates NMTOKENS #REQUIRED>
Andererseits kann diese Deklaration wegen des Schrägstrichs nicht für das Formular 01.02.2005 verwendet werden Darin ist kein legales Namenszeichen enthalten.

Aufzählungsdeklaration, für Aufzählungen werden keine Schlüsselwörter verwendet. Listen Sie alle Werte direkt auf, getrennt durch vertikale Balken. Beispiel:

<!ATTLIST date month(January | February | March | April | May | June | July | August | September | October | November | December) #REQUIRED>
Als Antwort auf die obige Aussage kann das Monatsattribut des Datumselements einen der zwölf Monate auswählen.

Attribute vom Typ ID müssen einen XML-Namen enthalten, der innerhalb des Dokuments eindeutig ist. Das ID-Attribut weist dem Element eine eindeutige Kennung zu.

<!ATTLIST name card_id ID #REQUIRED>
Da Zahlen keine zulässigen XML-Namen sind, kann die ID-Nummer nicht mit einer Zahl beginnen. Die Lösung besteht darin, einen Unterstrich oder einen Buchstaben voranzustellen.

Das IDREF-Typattribut verweist auf das ID-Typattribut eines Elements im Dokument. Daher muss es sich um einen XML-Namen handeln, dessen Zweck darin besteht, eine Viele-zu-Viele-Beziehung zwischen Elementen herzustellen, wenn eine einfache Einschlussbeziehung nicht ausreicht. Beispiel:

<project project_id="p1"> <goal>deploy linux</goal> 
<team_member person_card_id="c123"> </project> 
<person card_id="c123"> <name>linuxsir</name> 
<assignment project_project_id="p1"> </person>
Das Attribut project_id des Projektelements und das Attribut card_id des Personenelements sollten vom Typ ID sein. Das Attribut „person_card_id“ des Elements „team_member“ und das Attribut „project_project_id“ des Elements „assignment“ sind vom Typ IDREF. Die entsprechende Deklaration lautet wie folgt:

<!ATTLIST person card_id ID #REQUIRED> 
<!ATTLIST project project_id ID #REQUIRED> 
<!ATTLIST team_member person_card_id IDREF #REQUIRED> 
<!ATTLIST assignment project_project_id IDREF #REQUIRED>
Attribute vom Typ IDREFS enthalten eine Liste von XML-Namen. Die Namen werden durch Leerzeichen getrennt und jeder Name ist die ID eines Elements im Dokument. Verwenden Sie dieses Element, wenn ein Element

auf mehrere andere Elemente verweisen muss. Zum Beispiel:

<!ATTLIST person card_id ID #REQUIRED assignment IDREFS #REQUIRED> 
<!ATTLIST project project_id ID #REQUIRED team IDREFS #REQUIRED>
Das entsprechende Dokument kann wie folgt geschrieben werden:

<project project_id="p1" team="c123"> 
<gold>deploy linux</gold> </project> 
<person card_id="c123" assignment="p1"> 
<name>Linuxsir</name> </person>
Attribute vom Typ ENTITY sind in den Namen nicht geparster Entitäten enthalten, die an anderen

-Positionen der DTD deklariert werden . Beispielsweise kann das Filmelement ein Entitätsattribut haben, das die MPEG- oder RM-Datei identifiziert, die bei Aktivierung abgespielt werden soll:

Wenn die DTD eine nicht geparste Entität mit dem Namen „play“ deklariert, kann dieses Filmelement in verwendet werden die XML-Dokument-Einbettungsdatei
<!ATTLIST movie src ENTITY #REQUIRED>
Video

:

Ein Attribut vom Typ ENTITIES enthält mehrere nicht geparste Entitätsnamen, die an anderer Stelle in der DTD deklariert und durch Leerzeichen getrennt sind.
<movie src="play" />

Wenn die DTD die ungeparsten Entitäten slide1, slide2, slide3,... deklariert, können Sie das slide_show-Element verwenden, um die Folie in das XML-Dokument einzubetten. Ein Attribut vom Typ
<!ATTLIST slide_show slides ENTITIES #REQUIRED>

NOTATION enthält den Namen einer Notation, die in der DTD des Dokuments deklariert ist. Dieser Attributtyp wird selten verwendet. Theoretisch können Sie dieses Attribut verwenden, um bestimmte spezielle Elemente mit Typen zu verknüpfen. Das folgende Beispiel deklariert vier Notationen für verschiedene Bildtypen und legt dann fest, dass jedes Bildelement daraus ein Typattribut auswählen muss.
<slide_show slides="slide1 slide2 slide3" />

Der Wert des Typattributs jedes Bildelements kann einer der vier Werte von gif, tiff, jpeg und png sein. Diese Eigenschaft hat einen leichten Vorteil gegenüber Aufzählungstypen, da der tatsächliche MIME-Medientyp der Notation theoretisch verfügbar ist. Da der Schrägstrich in XML-Namen kein zulässiges Zeichen ist, kann der Aufzählungstyp image/png oder image/jpeg nicht als zulässige Werte angeben.
<!NOTATION gif SYSTEM "image/gif"> 
<!NOTATION tiff SYSTEM "image/tiff"> 
<!NOTATION jpeg SYSTEM "image/jpeg"> 
<!NOTATION png SYSTEM "image/png"> 
<!ATTLIST image type NOTATION (gif | tiff | jpeg | png) #REQUIRED>

2.属性缺省值 
每个ATTLIST声明除了要提供一种数据类型外,还要声明属性的缺省行为。 

#IMPLIED,属性可选。 

#REQUIRED,属性必须有。 

#FIXED,属性是常量,不能更改。 

<!ATTLIST person name CDATA #FIXED "linuxsir"

Literal,作为一个引用字符串的实际缺省值。 

<!ATTLIST person name NMTOKEN "linuxsir"

如果没有显示指明person元素的name属性,则该值为linuxsir。

Das obige ist der detaillierte Inhalt vonXML-Erste-Schritte-Tutorial – Beispiel für einen Attributdeklarationscode. 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