SQL Anywhere unterstützt zwei Datentypen, die zum Speichern von XML-Dokumenten in Ihrer Datenbank verwendet werden können: Den XML-Datentyp und den LONG VARCHAR-Datentyp. Beide Datentypen speichern das XML-Dokument als Zeichenfolge in der Datenbank.
Der XML-Datentyp verwendet die Zeichensatzkodierung des Datenbankservers. Das XML-Kodierungsattribut sollte der Kodierung entsprechen, die vom Datenbankserver verwendet wird. Das XML-Kodierungsattribut gibt nicht an, wie die automatische Zeichensatzkonvertierung abgeschlossen wird.
Sie können zwischen dem XML-Datentyp und jedem anderen Datentyp, der in oder aus einer Zeichenfolge umgewandelt werden kann, eine Umwandlung durchführen. Die Zeichenfolge wird nicht auf fehlerfreie Formulierung überprüft, wenn sie zu XML umgewandelt wird.
Wenn Sie Elemente aus relationalen Daten generieren, werden alle in XML ungültigen Zeichen durch ein Escapezeichen ausgeglichen, außer die Daten sind vom Typ XML. Angenommen, Sie möchten ein <product>-Element generieren, das die Zeichen für kleiner als und größer als enthält:
<hat>bowler</hat> |
Wenn Sie eine Abfrage schreiben, in der festgelegt wird, dass der Elementinhalt vom Typ XML ist, werden die Zeichen für kleiner als und größer als nicht in Apostrophe gesetzt:
SELECT XMLFOREST( CAST( '<hat>bowler</hat>' AS XML ) AS product ); |
Sie erhalten folgendes Ergebnis:
<product><hat>bowler</hat></product> |
Die folgende Abfrage legt beispielsweise nicht fest, dass der Elementinhalt vom Typ XML ist:
SELECT XMLFOREST( '<hat>bowler</hat>' AS product ); |
In diesem Fall werden die Größer- und Kleiner-Zeichen durch Entitätsreferenzen ersetzt, und zwar folgendermaßen:
<product><hat>bowler</hat></product> |
Attribute werden immer in Anführungszeichen gesetzt, unabhängig vom Datentyp.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |