XML unsichtbare Zeichen auf der Bühne!

Die Standardverwendung von Zeilenendezeichen und Byte Order Mark in Textdateien wurde in 4D v19 R2 geändert. Mit 4D v19 R3 erweitert 4D dieses Verhalten auf XML-Dateien. Schauen wir uns das an.

Dieser frühere Blog-Beitrag widmete sich der Änderung der standardmäßigen Verwendung von Zeilenendezeichen (EOL) und Byte Order Mark (BOM) in Textdateien.
In Anlehnung an die darin beschriebenen Best Practices erweitert 4D nun das Verhalten von Textdateien auf XML-Dateien, die mit DOM- und SAX-Befehlen geschrieben wurden.

NEUE VERHÄLTNISSE

Unter macOS wurden XML-Dateien standardmäßig mit CR als EOL geschrieben, wenn DOM-Befehle verwendet wurden, und mit den beiden Zeichen CRLF, wenn SAX-Befehle verwendet wurden. Mit dem neuen Verhalten werden XML-Dateien mit LF als EOL geschrieben, wenn DOM- und SAX-Befehle verwendet werden. Dadurch wird das Verhalten von DOM und SAX vereinheitlicht und die Kompatibilität mit Versionskontrollsystemen wie Git verbessert, die LF als EOL-Zeichen verwenden müssen.
Unter Windows gibt es keine Änderungen für das EOL-Zeichen, da CRLF von Versionskontrollsystemen wie Git korrekt gehandhabt wird.

Auf allen Plattformen werden XML-Dateien jetzt ohne BOM geschrieben, unter Verwendung von DOM- und SAX-Befehlen. Da UTF-8 fast zum Standardformat für Textdateien geworden ist, wird das BOM immer seltener verwendet. Daher folgt 4D weiterhin den aktuellen Best Practices.

KOMPATIBILITÄTSEINSTELLUNGEN

Beim Verschieben eines bestehenden Projekts oder einer Datenbank nach 4D v19 R3 ergeben sich keine Änderungen.

Wenn Ihr Projekt oder Ihre Datenbank mit einer früheren Version als 4D v19 R2 erstellt wurde, werden die folgenden Kompatibilitätseinstellungen angezeigt, um die neuen Verhaltensweisen zu aktivieren:

Wenn sie in 4D v19 R3 geöffnet werden, verhalten sich Projekte oder Datenbanken, die mit 4D v19 R2 erstellt wurden, anders in Bezug auf das Standard-EOL-Zeichen und die Stücklistenverwaltung nur in XML-Dokumenten. Obwohl das neue Verhalten aktiv ist und die Kompatibilitätsoptionen seit 4D v19 R2 für Textdateien verfügbar sind, ist dieses neue Verhalten erst seit 4D V19 R3 für XML-Dateien verfügbar.

BEHALTEN SIE DIE KONTROLLE

Wenn Sie selbst festlegen wollen, welches EOL-Zeichen beim Schreiben einer XML-Datei mit DOM- oder SAX-Befehlen verwendet werden soll, erlaubt der XML SET OPTIONS Befehl lässt nun den neuen Selektor XML line ending zu, der die folgenden Werte annehmen kann: XML default, XML CR, XML LF oder XML CRLF.

Auf die gleiche Weise können Sie selbst bestimmen, ob ein BOM mit DOM- oder SAX-Befehlen in die XML-Datei eingefügt wird, indem Sie den neuen Selektor XML BOM im XML SET OPTIONS Befehl setzen. Dieser Selektor lässt drei Werte zu: XML default, XML enabled oder XML disabled.

Natürlich können Sie diese beiden neuen Selektoren mit dem XML GET OPTIONS Befehl verwenden, um zu wissen, welches Verhalten gerade verwendet wird.

⚠️ Da SAX-Dateizeilen direkt bei jeder Anweisung geschrieben werden, müssen Sie, wenn Sie die BOM- und/oder EOL-Optionen setzen wollen, den XML SET OPTIONS Befehl vor dem ersten SAX-Schreibbefehl aufrufen.

Avatar
- Product Owner - Damien Fuzeau ist seit Februar 2019 Mitglied des 4D Produktteams. Als Product Owner ist er für das Schreiben von User Stories zuständig, die er dann in funktionale Spezifikationen umsetzt. Zu seinen Aufgaben gehört es auch, dafür zu sorgen, dass die gelieferten Funktionsimplementierungen den Anforderungen der Kunden entsprechen. Damien hat an der Universität von Nantes einen Abschluss in Softwaretechnik gemacht. Er verbrachte mehr als 23 Jahre in seinem früheren Unternehmen, zunächst als Entwickler (er entdeckte 4D im Jahr 1997) und später als technischer Leiter und Softwarearchitekt. Dieses Unternehmen ist ein 4D OEM Partner und hat 4D basierte Geschäftssoftware für Tausende von Usern auf Hunderten von Servern eingesetzt. Damien ist also mit der Entwicklung und dem Einsatz von 4D in einem mehrsprachigen Kontext vertraut.