Der Befehl XML SET OPTIONS ändert den Wert einer oder mehrerer XML Optionen der Struktur, die im ersten Parameter übergeben wurde.
Dieser Befehl gilt für die XML Strukturen vom Typ "Baum" (DOM) oder "Dokument" (SAX). Im ersten Parameter können Sie entweder die Referenz auf ein Root Element (ElementRef) oder die Referenz auf ein offenes SAX Dokument (Dokument) übergeben.
Übergeben Sie die zu ändernde Option in Selector und den neuen Wert der Option in Wert. Sie können beliebig viele Paare Selector/Wert übergeben. Sie müssen die nachfolgend beschriebenen Konstanten unter dem Thema XML verwenden.
- Die gesetzten Optionen werden nur in der Richtung 4D zu XML genutzt. Der Befehl hat keine Auswirkung auf das Lesen von XML Werten in 4D. Folgende Befehle verwenden diese Optionen:
Konstante |
Typ |
Wert |
Kommentar |
XML binary encoding |
Lange Ganzzahl |
5 |
Gibt an, wie binäre Daten konvertiert werden. Mögliche Werte:
- XML Base64 (Standardwert): binäre Daten werden einfach in Base64 konvertiert.
- XML Data URI scheme: binäre Daten werden in Base64 konvertiert und der Header "data:;base64" wird hinzugefügt. Dieses Format ermöglicht hauptsächlich einem Browser, ein Bild automatisch zu decodieren. Es ist auch zum Einfügen von SVG Bildern erforderlich. Weitere Information dazu siehe http://en.wikipedia.org/wiki/Data_URI_scheme.
|
XML date encoding |
Lange Ganzzahl |
2 |
Gibt an, wie 4D das Datum konvertiert, z.B. !01/01/2003! in der Paris Zeitzone. Mögliche Werte:
- XML ISO (Standardwert): verwendet das Format xs:datetime ohne Angabe der Zeitzone. Ergebnis: "2003-01-01". Ist im 4D Wert (via SQL) ein Zeitteil enthalten, geht er verloren.
- XML Local: verwendet das Format xs:date mit Angabe der Zeitzone. Ergebnis: "2003-01-01 +01:00". Ist im 4D Wert (via SQL) ein Zeitteil enthalten, geht er verloren.
- XML Datetime local: verwendet das Format xs:dateTime (ISO 8601) mit Angabe der Zeitzone. Ist im 4D Wert (via SQL) ein Zeitteil enthalten, wird er beibehalten. Ergebnis: "<Date>2003-01-01T00:00:00 +01:00</Date>"..
- XML UTC: verwendet das Format xs:date. Ergebnis: "2003-01-01Z". Ist im 4D Wert (via SQL) ein Zeitteil enthalten, geht er verloren.
- XML Datetime UTC: verwendet das Format xs:dateTime (ISO 8601). Ist im 4D Wert (via SQL) ein Zeitteil enthalten, wird er beibehalten. Ergebnis: "<Date>2003-01-01T00:00:00Z</Date>"
|
XML indentation |
Lange Ganzzahl |
4 |
Gibt die Einrückung des XML Dokuments an. Mögliche Werte:
- XML with indentation (Standardwert): das Dokument ist eingerückt.
- XML no indentation: Das Dokument ist nicht eingerückt; sein Inhalt wird in eine einzige Zeile gesetzt.
|
XML picture encoding |
Lange Ganzzahl |
6 |
Gibt an, wie Bilder konvertiert werden müssen (vor Codierung in Base64). Mögliche Werte:
- XML Convert to PNG (Standardwert): Bilder werden vor der Codierung in Base64 in PNG konvertiert.
- XML Native codec: Bilder werden vor Codierung in Base64 in ihr erstes native Speicher CODEC konvertiert. Sie müssen diese Optionen zum Codieren in SVG Bilder verwenden (siehe Beispiel zum Befehl XML SET OPTIONS.
|
XML string encoding |
Lange Ganzzahl |
1 |
Gibt an, wie 4D Strings in Elementwerte konvertiert werden. Das gilt nicht für die Konvertierung in Attribute, für die XML die Verwendung von Escape-Zeichen verlangt.
Mögliche Werte:
- XML With escaping (Standardwert): Konvertierung von 4D Strings in XML Elementwerte mit Ersetzen der Zeichen. Daten vom Typ Text werden automatisch analysiert, so dass verbotene Zeichen (<&>') durch XML Einheiten ersetzt werden (&&It;>'").
- XML Raw data: 4D Strings werden als reine Daten gesendet; 4D führt weder eine Codierung noch eine Analyse durch. 4D Werte werden nach Möglichkeit in XML Fragmente konvertiert und als Unterelement des Zielelements eingefügt. Kann ein Wert nicht als ein XML Fragment bewertet werden, wird es in Form von Rohdaten in einen neuen Knoten CDATA eingefügt.
|
XML time encoding |
Lange Ganzzahl |
3 |
Gibt an, wie 4D die Zeit konvertiert, z.B. ?02/00/46? (Paris Zeit). Die Codierung ist unterschiedlich, je nachdem ob Sie eine Uhrzeit oder eine Zeitspanne ausdrücken wollen. Mögliche Werte für Uhrzeit: - XML Datetime UTC: Zeit ausgedrückt in UTC (Universal Time Coordinated). Beachten Sie, dass die Konvertierung in UTC automatisch ist. Ergebnis: "<Duration>0000-00-00T01:00:46Z</Duration>".
- XML Datetime local: Zeit ausgedrückt mit der Zeitdifferenz des Rechners mit der 4D Engine. Ergebnis: "<Duration>0000-00-00T02:00:46+01:00</Duration>".
- XML Datetime local absolute (Standardwert): Zeit ausgedrückt ohne Angabe der Zeitzone. Der Wert wird nicht geändert. Ergebnis: "<Duration>0000-00-00T02:00:46</Duration>".
Mögliche Werte für Zeitspanne:
- XML Seconds: Anzahl Sekunden ab Mitternacht; der Wert wird nicht geändert, da er eine Dauer ausdrückt. Ergebnis: "<Duration>7246</Duration>".
- XML Duration: Dauer ausgedrückt in Übereinstimmung mit dem XML Schema Teil 2: Datentypen Zweite Edition. der Wert wird nicht geändert, da er eine Dauer ausdrückt. Ergebnis: "<Duration>PT02H00M46S</Duration>".
|
Hinweise:
- Die Werte XML Local und XML Datetime local liefern keine Daten ausgedrückt in UTC (Universal Time Coordinated); sie werden ohne Änderung konvertiert, jedoch mit Angabe der Zeitdifferenz. Diese Formate sind sinnvoll bei sukzessiver und reziproker Konvertierung (round tripping).
- Die Werte XML UTC und XML Datetime UTC ähneln den vorigen in Bezug auf die Formatierung, werden jedoch in UTC ausgedrückt. Diese Formate sollten vorrangig verwendet werden, um die Interoperabilität zu sichern. Die Werte werden nicht geändert.
- Mit folgenden Optionen können Sie einige Standard Xml Parser Features ändern:
Konstante |
Typ |
Wert |
Kommentar |
XML DOM case sensitivity |
Lange Ganzzahl |
8 |
Definiert, ob Groß- und Kleinschreibung in Elementnamen für die Befehle DOM Get XML element und DOM Count XML elements berücksichtigt wird. Mögliche Werte:
- XML case sensitive (Standardwert): Befehle unterscheiden zwischen Groß- und Kleinschreibung.
- XML case insensitive: Befehle unterscheiden nicht zwischen Groß- und Kleinschreibung.
|
XML external entity resolution |
Lange Ganzzahl |
7 |
Steuert, ob externe Einheiten in XML Dokumente aufgelöst werden. Aus Sicherheitsgründen erlauben die DOM und SAX 4D XML Parser standardmäßig keine Auflösung externer Einheiten. Mögliche Werte:
- XML enabled: Erlaubt die Auflösung externer Einheiten in XML Dokumente
- XML disabled (Standardwert): Verweigert die Auflösung externer Einheiten (Die Deklaration generiert einen Parser/Analysefehler)
|