Dokumentinhalt
Inhalte lassen sich in der Grid-Ansicht ganz einfach bearbeiten: Doppelklicken Sie einfach in das Inhaltsfeld und bearbeiten Sie den Inhalt nach Bedarf. Der Node-Typ kann ganz einfach durch Klick auf das Typ-Symbol des Node und Auswahl eines anderen Typs aus dem daraufhin angezeigten Menü geändert werden. in XML-Dokumenten können Entities über die Eingabehilfe "Entities" eingefügt werden. Die Grid-Ansicht bietet zusätzlich Validierungs- und Such- und Ersetzungsfunktionen.
In diesem Kapitel werden die einzigartigen Funktionen der Grid-Ansicht von XML- und JSON-Dokumenten beschrieben. Eine Beschreibung der Funktionen der Grid-Ansicht von DTD-Dokumenten finden Sie im Kapitel DTD.
Auswahl des Typs (XML)
Die Zellen in der Grid-Ansicht enthalten Nodes des XML-Dokuments. Wir haben die Typen folgendermaßen in Gruppen eingeteilt:
•Name-Wert-Typen: Element, Attribut, Processing Instruction (PI). Nodes dieses Typs haben Namen und Werte.
•Wert-Typen: Text, CDATA, Comment (Kommentar), Entity/Zeichen-Referenzen. Nodes dieses Typs haben nur Werte.
•Definitionstypen: XML-Deklaration, DOCTYPE (interne oder externe DTD). Diese Nodes definieren Eigenschaften des XML-Dokuments.
•Spezielle, XMLSpy-spezifische Container-Typen: Formel
Der Typ eines Werts wird durch ein Symbol vor dem Wert angezeigt (siehe Abbildung unten). Um einen Typ zu ändern, klicken Sie auf sein Symbol und wählen Sie den gewünschten Typ aus dem angezeigten Menü aus. Klicken Sie alternativ dazu mit der rechten Maustaste in eine Zelle und wählen Sie aus dem daraufhin angezeigten Kontextmenü einen Typ aus dem Untermenü Typ aus. In der Abbildung unten sehen Sie die Symbole und Shortcuts von Typen:
![XSXMLGridViewTypeSelection](./images/xsxmlgridviewtypeselection.png)
Beachten Sie die folgenden Punkte:
•Nodes vom Typ Element, Attribut und PI erhalten einen Namen und einen Wert, während Nodes vom Typ Text, CDATA und Comment nur einen Wert haben. So hat etwa ein Element-Node einen Namen sowie Inhalt, während ein Text-Node nur einen Wert aufweist.
•Bei einer Typkonvertierung wird versucht, den ursprünglichen Schlüssel und Wert beizubehalten. Wenn Sie z.B. ein Element in ein Attribut konvertieren, erhält das Attribut (i) denselben Namen wie das Element und (ii) einen Wert, der so weit wie möglich mit dem Inhalt des Elements übereinstimmt.
•In der Reihenfolge der Child-Nodes eines Elements werden Attribute immer zuerst aufgelistet. Eine Typkonvertierung kann infolgedessen zu einer Umordnung von Nodes führen.
•Bei gemischtem Inhalt (Zeichendaten gemischt mit Element-Children, wie z.B. ein Absatzelement, das sowohl Text als auch fette und kursive Elemente enthält) sind aufeinander folgende Text-Nodes nicht zulässig und werden daher eventuell automatisch miteinander verbunden.
•Sie können eine Option definieren, um zu ermitteln, ob eine Änderung bei Auswahl mehrerer Nodes für die Konvertierung in einen einzigen Typ durchgeführt werden soll oder nicht, oder ob Sie gewarnt werden möchten.
•Reiner Text in einer Zelle oder Zeile kann durch Auswahl der übergeordneten Zelle oder einer übergeordneten Zeile und Klick auf die Symbolleisten-Schaltfläche Als reinen Text bearbeiten bearbeitet werden. Wenn Sie Text als reinen Text bearbeiten, werden Entities und Markup-Code in dieser Zelle oder Zeile nicht zu Glyphen und Komponenten der Grid-Ansicht aufgelöst (und können dadurch bearbeitet werden).
Auswahl des Typs (JSON)
In der JSON-Grid-Ansicht wird zwischen den folgenden Typkategorien unterschieden:
•Einfache Typen: String, Zahl, Boolean, Null
•Spezielle einfache Typen: Auto (wird anhand des Werts ermittelt), Kommentar (JSONC, JSON5)
•Container-Typen: Objekt, Array
•Spezielle Container-Typen: Formel
Der Typ eines Werts wird durch ein Symbol vor dem Wert angezeigt (siehe Abbildung unten). Um einen Typ zu ändern, klicken Sie auf sein Symbol und wählen Sie den gewünschten Typ aus dem angezeigten Menü aus. In der Abbildung unten sehen Sie die Symbole und Shortcuts von Typen:
![JSONGridViewTypeSelection](./images/jsongridviewtypeselection.png)
Automatisch erkannte Typen weisen grüne Punkte unter dem Symbol auf (siehe Abbildung unten). Ein expliziter Typ ist ein Typ, den Sie zuweisen.
![JSONGridViewAutoTypeD](./images/jsongridviewautotyped.png)
Es kommt in zwei Situationen zu Aktionen im Zusammenhang mit dem Typ:
•Wenn ein JSON-Dokument geladen wird: Alle einfachen Typen werden in Auto konvertiert. Diese Typen werden automatisch anhand ihres Werts erkannt. So wird z.B. "MyString" automatisch als String-Typ erkannt, 123 als Zahl, true als Boolean und null als Null-Typ. Wenn der Typ eines String nicht eindeutig ist, muss er explizit ausgewählt werden.
•Wenn eine neue Datenstruktur oder ein neuer Wert eingegeben wird: Einfache Typen werden automatisch erkannt und der Typ wird automatisch zugewiesen. Sie können den Typ später gegebenenfalls ändern.
Anmerkung: | Über die Einstellungen der JSON-Grid-Ansicht können Sie festlegen, (i) wie mit Typänderungen verfahren werden soll, wenn mehrere Zellen ausgewählt wurden, und (ii) wie Werte von atomaren Typen behandelt werden sollen, wenn der Typ von einem Array in ein Objekt geändert wird. |
Autokomplettierung
Die Autokomplettierung ist aktiv, wenn das bearbeitete Dokument mit einem Schema verknüpft ist.
Bei der Autokomplettierung werden Ihnen an der Cursorposition Eingabeoptionen vorgeschlagen (siehe Abbildung unten). Diese auf den Definitionen im Schema basierenden Optionen werden (i) über Popups im Hauptfenster und (ii) über die Eingabehilfen vorgeschlagen. In den Pop-ups und Eingabehilfen wird jeweils eine Liste von Einträgen angezeigt, die an dieser Cursorposition gültig sind. Mit Hilfe der Pfeiltasten können Sie durch die Einträge in der Pop-up-Liste navigieren. Wählen Sie einen Eintrag aus dem Pop-up-Fenster aus oder doppelklicken Sie in der Eingabehilfe auf einen Eintrag, um diesen einzufügen.
Beachten Sie bei JSON-Dokumenten die folgenden Punkte:
•Wenn es sich beim Dokument um ein JSON-Schema handelt, basiert die Autokomplettierung auf der durch das Schlüsselwort $schema angegebenen Schemaversion. Nähere Informationen dazu finden Sie unter JSON-Schema-Version.
•Wenn es sich beim Dokument um eine JSON/JSON5-Instanz handelt, so muss der Instanz ein JSON- Schema zugewiesen sein, damit die Autokomplettierung aktiv ist.
Bei Änderung validieren
Der Bei Bearbeitung validieren-Modus ist standardmäßig deaktiviert. Wenn dieser Modus aktiv ist, werden, während Sie ein Dokument der-Grid-Ansicht bearbeiten, Wohlgeformtheits- und Validierungsüberprüfungen durchgeführt. Damit ein Dokument (nicht nur auf Wohlgeformtheit geprüft, sondern auch) validiert werden kann, muss ihm ein Schema zugewiesen sein. (i) Fehler im Text werden rot angezeigt. (ii) Die Stelle im Dokument wird durch ein rotes Ausrufezeichen markiert. Falls es zu einem Fehler einen Smart Fix-Vorschlag gibt, wird in der Zeile mit dem Fehler ein Glühbirnensymbol angezeigt. Wenn Sie den Mauszeiger über das Symbol platzieren, erscheint ein Popup-Fenster, in dem Smart Fix-Vorschläge aufgelistet werden. Wählen Sie einen Vorschlag aus, um ihn sofort anzuwenden. Nähere Informationen dazu finden Sie unter Validieren von XML-Dokumenten und Validieren von JSON-Dokumenten.
Der Bei Bearbeitung validieren-Modus kann entweder (i) über den Menübefehl XML | Bei Bearbeitung validieren, (ii) die Symbolleisten-Schaltfläche Bei Bearbeitung validieren oder (iii) die Option Bei Bearbeitung der Validierungseinstellungen des Dialogfelds "Optionen" aktiviert bzw. deaktiviert werden.
Suchen und Ersetzen
Über die Befehle Suchen (Strg+F) und Ersetzen (Strg+H) (Aufruf über das Menü Bearbeiten oder mittels Strg+F) stehen Ihnen umfangreiche Suchfunktionen zur Verfügung. Es kann definiert werden, ob beim Suchbegriff die Groß- und Kleinschreibung beachtet werden soll und ob ganze Wörter gesucht werden sollen. Der Suchbegriff kann auch in Form einer Regular Expression definiert werden. Der Suchbereich kann auf eine Auswahl im Dokument eingeschränkt werden. Die Suchergebnisse werden orange markiert, wobei auch Zellen, die diese enthalten, orange markiert werden.
![TextViewReplace](./images/textviewreplace.png)
Eine Beschreibung der Such- und Ersetzungsfunktion finden Sie unter der Beschreibung der Befehle Suchen und Ersetzen des Menüs "Bearbeiten".