XML/JSON/YAML-Beispieldatei generieren
Der Befehl XML/JSON-Beispieldatei generieren ist in der Textansicht, der Grid-Ansicht und der Schema-Ansicht aktiv und generiert eine XML-, ein JSON-Instanz oder ein YAML-Dokument auf Basis der gerade aktiven Schema-Datei:
•Wenn es sich bei der aktiven Datei um eine DTD oder ein XML-Schema handelt, so kann eine XML-Instanzdatei anhand davon generiert werden.
•Wenn es sich bei der aktiven Datei um ein JSON-Schema handelt, so kann eine JSON-Instanzdatei oder ein YAML-Dokument anhand davon generiert werden.
Die generierte Datei wird in XMLSpy in einem neuen Fenster geöffnet, von wo aus Sie sie speichern können. Weiter unten finden Sie die Einstellungen für die Generierung (i) von XML-Dateien und (ii) JSON- und YAML-Dateien.
Generieren von XML-Beispieldateien
Wenn eine DTD oder ein XML-Schema aktiv ist, können Sie auf Basis des Schemas eine XML-Beispielinstanz generieren. Bei Auswahl des Befehls XML/JSON-Beispieldatei generieren wird das Dialogfeld "XML-Beispieldatei generieren" (Abbildung unten) angezeigt, in dem Sie die Optionen für die Generierung der Beispielinstanzdatei festlegen können.
Elemente von choice-Gruppen
Eine Choice-Gruppe ist eine Gruppe von Elementen, aus der nur eines verwendet werden darf. Wenn z.B. ein Element namens items laut Definition eine choice-Gruppe, bestehend aus den drei Elementen: cd, dvd, book hat, dann kann items korrekterweise jedes dieser drei Elemente als Child-Element haben (wobei die Maximalanzahl der zulässigen Elemente im maxOccurs Attribut des Elements definiert ist).
Im Dialogfeld "XML-Beispieldatei generieren" können Sie auswählen, ob (i) die erste Verzweigung (das erste Element) der choice-Gruppe, (ii) alle Verzweigungen oder (iii) die Verzweigung mit der geringsten Anzahl von Nachfahrenelementen generiert werden soll. Beachten Sie, dass bei Auswahl von Alle Verzweigungen ein ungültiges Dokument erzeugt werden könnte, da nur eine Verzweigung aus einer choice-Gruppe zulässig ist.
Wenn eine der Verzweigungen der choice-Gruppe sich wiederholen darf (d.h., wenn sie einen maxOccurs Wert hat, der größer als 1 ist), so wird im ersten Textfeld des Dialogfeld definiert, wie viele der sich wiederholenden Elemente bis zu einer Maximalanzahl von 99 generiert werden sollen. Wenn das maxOccurs Attribut der choice Gruppe als unbounded oder als hohe Zahl definiert ist und im Dialogfeld "XML-Beispieldatei generieren" die Option Alle Verzweigungen ausgewählt ist, so wird der maxOccurs Wert der choice-Gruppe auch durch die Anzahl der im ersten Textfeld des Dialogfelds definierten sich wiederholenden Elemente beschränkt.
Nicht obligatorische Elemente generieren
Beim Aktivieren dieser Option werden alle obligatorischen und optionalen Elemente, die im Schema definiert sind, generiert. Wenn diese Option aktiviert ist, können Sie die gewünschte Verschachtelungsebene definieren. Bei einer tieferen Verschachtelung können nicht obligatorische Elemente bis zur gewünschten Verschachtelungstiefe generiert werden.
Nicht obligatorische Attribute generieren
Beim Aktivieren dieser Option werden sowohl die obligatorischen als auch die optionalen Attribute, die im Schema definiert sind, generiert.
Erzeuge "X" Element(e), wenn als wiederholend definiert (Schema/DTD)
Bei Aktivieren dieser Option wird die im Textfeld eingegebene Anzahl von sich wiederholenden Elementen generiert. Dies wird auf alle Elemente inklusive der Elemente in choice-Gruppen angewendet.
Elemente und Attribute mit Daten befüllen
Bei Aktivieren dieser Option werden die Datentyp-Werte der jeweiligen Elemente/Attribute eingefügt. Wenn ein Element z.B. als Datentyp string definiert ist, erhält das Element einen Dummy-Wert string.
Nillable Elemente und abstrakte Typen
Der Inhalt von nillable Elemente kann als nicht obligatorisch behandelt werden und Elemente mit einem abstrakten Typ können einen nicht abstrakten Typ für ihr xsi:type Attribut verwenden.
Schemazuweisung für die generierte XML-Datei
Das für die Generierung der XML-Datei verwendete Schema kann der generierten XML-Datei mit einem relativen oder einem absoluten Pfad zugewiesen werden.
Manuell hinzugefügte Beispielwerte verwenden, falls vorhanden
Wenn der Schemakomponente Beispielwerte zugewiesen wurden, so werden diese als Wert bzw. Inhalt dieser Komponente verwendet. Für einzelne Komponenten werden Beispielwerte auf dem Register "Beispiele" über die Eingabehilfe "Facets" zugewiesen. Sie können festlegen, welcher Wert aus den verfügbaren Beispielwerten für die Generierung einer einzigen Datei ausgewählt werden soll:
•Auswahl nach dem Zufallsprinzip.
•Auswahl der einzelnen Beispielwerte der einzelnen Instanzen der Komponente der Reihe nach. Bei jeder Dateigenerierung wird wieder von vorne begonnen.
•immer der erste Wert.
Root-Element
Wenn das Schema mehr als ein globales Element enthält, werden diese aufgelistet und Sie können das für die XML-Beispieldatei benötigte Root-Element aus der Liste auswählen.
Namespaces
Klicken Sie auf die Schaltfläche Namespaces, um das Dialogfeld "Namespaces bearbeiten" (Abbildung unten) aufzurufen. In diesem Dialogfeld werden die im Schema definierten Namespaces sowie alle Standard-XML-Schema-Namespaces, die in der XML-Beispieldatei erforderlich sind, angezeigt.
Sie können Folgendes bearbeiten:
•das Namespace-Präfix, das an einen der Dokument-Namespaces gebunden ist. Die in diesem Dialogfeld definierten Namespace-Präfixe werden (in der generierten XML-Datei) verwendet, um Nodes, die sich im entsprechenden Namespace befindet, mit einem Präfix zu versehen. So sehen Sie in der Abbildung etwa, dass Nodes im Namespace http://www.xmlspy.com/schemas/textstate in der Beispieldatei mit dem Präfix ts: versehen werden.
•Sie können einen der Namespaces des Dokuments als Standard-Namespace (xmlns=) definieren, indem Sie in der Auswahlliste xmlns= den gewünschten Namespace auswählen. Nodes in dem als Standard-Namespace ausgewählten Namespace werden dadurch ohne ein Namespace-Präfix generiert.
Generieren von JSON/YAML-Beispieldateien
Wenn ein JSON-Schema aktiv ist, können Sie auf Basis des JSON-Schemas eine JSON- oder YAML-Instanzdatei generieren. Bei Auswahl dieses Befehls wird das Dialogfeld "JSON/YAML-Beispieldatei generieren" (Abbildung unten) aufgerufen. Wählen Sie das gewünschte Format der zu generierenden JSON/YAML-Datei aus und definieren Sie die Optionen.
Sie können auswählen, ob nicht obligatorische Objekteigenschaften oder nicht obligatorische Mustereigenschaften generiert werden sollen. Sie können die Länge von Arrays, die Wiederholungen von rekursiven Definitionen und die maximale Anzahl optionaler Werte auswählen. Außerdem können Sie festlegen, ob das aktive JSON-Schema der generierten JSON- oder YAML-Beispieldatei automatisch zugewiesen werden soll. Wenn das JSON-Schema zugewiesen wird, wird es zum Register JSON des Infofensters als das Validierungsschema hinzugefügt.