[Java] Java Core 74: XML (Teil 2)



Fügen Sie hier eine Bildbeschreibung ein

7 Schema-Einschränkungen (gerade verständlich)

Wie DTD-Einschränkungen wird auch das Schema verwendet, um XML-Dateien einzuschränken. Wenn Schemaeinschränkungen geschrieben werden, folgen sie den grammatikalischen Regeln von XML. Das Schreiben des Schemas ist dasselbe wie das Schreiben der Dokumentstruktur der XML-Datei.

Hinweis: Beim Schreiben einer Schemadatei lautet die Dateierweiterung xsd.

1 Schemaeinschränkungen schreiben

1. Erstellen Sie zunächst eine XML-Datei. Schreiben Sie dann die Schemaeinschränkungen, die der Spezifikation gemäß der XML-Datei entsprechen.

Erstellen Sie die Datei „books.xml“:

Fügen Sie hier eine Bildbeschreibung ein

Der Code sieht so aus:

<?xml version="1.0" encoding="UTF-8"?>
<books>
	<book>
		<name>面试宝典</name>
		<author>锁哥</author>
		<price>78.8</price>
	</book>
	<book>
		<name>java从入门到精通</name>
		<author>黑旋风</author>
		<price>88.8</price>
	</book>
</books>

2. Als nächstes müssen wir eine Schemadatei erstellen:

Schritt:

Schritt 1: Rufen Sie zunächst das Dateierstellungsfenster auf, wählen Sie das Projekt aus, klicken Sie mit der rechten Maustaste auf Neu–>Datei und rufen Sie dann die folgende Seite auf:

Fügen Sie hier eine Bildbeschreibung ein

Schritt 2: Geben Sie den Namen der erstellten Datei und das Suffix xsd der Schemadatei ein;

Fügen Sie hier eine Bildbeschreibung ein

Schritt 3: Da die Schema-Einschränkungsdatei selbst XML ist, erklären Sie, dass der Header der XML-Datei auf die Schema-Einschränkungsdatei anwendbar ist.

Fügen Sie hier eine Bildbeschreibung ein

Schritt 4: Kopieren Sie den folgenden Inhalt in die oben erstellte Datei „books.xsd“. Dann können wir Schemaeinschränkungen schreiben.

<schema xmlns="http://www.w3.org/2001/XMLSchema" 
		   targetNamespace="http://www.example.org/books"
		   elementFormDefault="qualified">
</schema>

veranschaulichen:

1) Die Struktur der Schemaeinschränkung entspricht der Schreibspezifikation der XML-Datei. <?

2) xmlns="http://www.w3.org/2001/XMLSchema" gibt an, dass diese Schemadatei den angegebenen Einschränkungen der w3-Organisation unterliegt;

3) targetNamespace = „http://www.example.org/books“ wird als Namespace bezeichnet, der der Funktion eines Pakets in Java entspricht und unterschiedliche Beschriftungen in unterschiedlichen Einschränkungen unterscheidet. Wenn die durch die aktuelle Schemadatei eingeschränkte XML-Datei erforderlich ist, muss die aktuelle Schemadatei unter dem aktuellen Namen importiert werden.

4) elementFormDefault="qualified", wenn der Wert qualifiziert ist, werden alle Tags im aktuellen Schema standardmäßig im Namespace platziert. Wenn der Wert nicht qualifiziert ist, sind außer dem Root-Tag im Schema, das sich im Namespace befindet, also im Paket http://www.example.org/books , keine anderen Tags in diesem Paket enthalten. In der Entwicklung schreiben wir alle den Standardwert qualifiziert.

Nachdem das obige Verständnis abgeschlossen ist, lesen wir eine vollständige Schema-Einschränkung:

<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" 
		targetNamespace="http://www.example.org/books"
		elementFormDefault="qualified">
		<!-- 在此处书写schema约束语法 -->
		<element name="books">
			<complexType><!-- 声明books是复杂标签 -->
				<sequence><!-- 通过sequence标签指定子标签的顺序 -->
					<element name="book" maxOccurs="unbounded">
						<complexType>
							<sequence>
								<element name="name" type="string"></element>
								<element name="author" type="string"></element>
								<element name="price" type="double"></element>
							</sequence>
							<attribute name="address"></attribute>
						</complexType>
					</element>
				</sequence>
			</complexType>
		</element>
</schema>

veranschaulichen:

1. Die in XML erscheinenden Tags müssen mit dieser Syntax definiert werden. Das heißt, Sie müssen zunächst wissen, wie viele Tags in der XML benötigt werden und wie viele Element-Tags in die Schemadatei geschrieben werden.

Daher muss das erste Bücher-Tag, das in XML erscheint, mit deklariert werden.

Das Namensattribut im Element-Tag ist der Name des Tags, der in XML geschrieben werden kann.

2. Um das Schreiben von Schema-Einschränkungen zu erleichtern, teilen wir die Tags in XML einfach in zwei Kategorien ein:

​ a) Einfaches Etikett: Nur Textdaten im Etikett;

b) Komplexe Tags: Das Tag enthält Unter-Tags oder Attribute sowie Textdaten.

​Im Element-Tag müssen Sie complexType verwenden, um zu deklarieren, dass das Namensattribut des aktuellen Element-Tags ein komplexes Tag angibt.

​Wenn es sich um ein einfaches Tag handelt, können Sie simpleType verwenden.

3. In der oben genannten Datei „books.xml“ haben wir festgestellt, dass das Tag „books“ ein komplexes Tag ist. Bei komplexen Tags ist es erforderlich, Untertags in das aktuelle Tag zu schreiben, um andere Inhalte im aktuellen komplexen Tag einzuschränken.

Daher müssen wir Tags verwenden, um zu deklarieren, dass das Bücher-Tag ein komplexes Tag ist. Und für Untertags, die in komplexen Tags erscheinen, müssen wir Tags verwenden, um die Reihenfolge anzugeben, in der Untertags erscheinen.

A) Das Subtag, das im Books-Tag erscheint, ist book. Da book auch ein Tag ist, müssen wir auch Tags verwenden, um das Buch in XML zu deklarieren.

B) Und das Buch-Tag ist auch ein komplexes Tag, daher müssen wir Tags zum Deklarieren verwenden.

C) Es gibt auch Unter-Tags im Buch-Tag, daher muss es verwendet werden, um die Reihenfolge der Unter-Tags zu deklarieren.

D) Schließlich wurde festgestellt, dass das Buch-Tag mehrfach in der Datei „books.xml“ vorkam, sodass das Attribut maxOccurs="unbounded" hinzugefügt werden musste. Zeigt an, dass das Buch-Tag mehrmals vorkommen kann. (keine Begrenzung der Anzahl)

Größer oder gleich 1 Mal

5. Schreiben Sie abschließend die Erklärung der drei Unter-Tags „Name“, „Autor“ und „Preis“, die im Buch-Tag erscheinen. Und für die Attribute, die im Buch-Tag erscheinen. wir müssen es nutzen

Eine solche zu deklarierende Syntax. Beachten Sie die Platzierung der Etiketten.

Fügen Sie der Datei „books.xml“ ein Adressattribut hinzu:

Fügen Sie hier eine Bildbeschreibung ein

Fügen Sie also ein Attribut in der Schemabeschränkung „books.xsd“ hinzu. Beachten Sie die Platzierung der Etiketten.

2 Führen Sie Schemaeinschränkungen in die XML-Datei ein

Schritte zum Einführen von Schemaeinschränkungen in die Datei „books.xml“:

Schritt 1: Platzieren Sie zunächst die Maus hinter der Stammbeschriftung „Bücher“, machen Sie ein Leerzeichen und kopieren Sie dann den folgenden Inhalt auf die Rückseite der Bücher

Code wie folgt anzeigen:

<books xmlns="default namespace"
		xsi:schemaLocation="{namespace} {location}"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

Führen Sie dann das Diagramm der Schemaeinschränkungen ein

Fügen Sie hier eine Bildbeschreibung ein

Endgültiger vollständiger Code:

<?xml version="1.0" encoding="UTF-8"?>
<books xmlns="http://www.example.org/books"
		xsi:schemaLocation="http://www.example.org/books books.xsd"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		>
	<book address="藏经阁">
		<name>面试宝典</name>
		<author>锁哥</author>
		<price>78.8</price>
	</book>
	<book>
		<name>java从入门到精通</name>
		<author>黑旋风</author>
		<price>88.8</price>
	</book>
</books>

veranschaulichen:

1) xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance", was darauf hinweist, dass die aktuelle XML-Datei eine Instanz ist, die Schemaeinschränkungen unterliegt, und dass hier keine Änderung erforderlich ist;

2) xmlns="http://www.example.org/books", der Wert von targetNamespace in der Schema-Einschränkungsdatei, bedeutet, dass der Namespace in der Datei Books.xml eingeführt wird;

3)xsi:schemaLocation=“http://www.example.org/books Books.xsd“,

​Der Wert von targetNamespace im Schema- der Schema-Einschränkungsdatei



Fügen Sie hier eine Bildbeschreibung ein

Acho que você gosta

Origin blog.csdn.net/m0_60915009/article/details/131400370
Recomendado
Clasificación