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. Beachten Sie, dass die Zeichenfolge nicht auf fehlerfreie Formulierung überprüft wird, 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> |
Beachten Sie, dass Attribute immer in Anführungszeichen gesetzt werden, unabhängig vom Datentyp.
Weitere Hinweise darüber, wie der Elementinhalt in Escapezeichen gesetzt wird, finden Sie unter Unzulässige XML-Namen kodieren.
Weitere Hinweise zum XML-Datentyp finden Sie unter XML-Datentyp.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |