|
Vlastnosti elementu | Formát XML a jeho podpora | Kódování XML souborů |
XML rozšíření vytváří a očekává zápis elementárních dat v XML souboru ve formátech popsaných níže (pokud nejsou formáty nastaveny autorem DADu již při návrhu v dialogu Vlastnosti XML textu nebo Vlastnosti XML atributu).
Hodnotě NULL v databázi odpovídá prázdný údaj v XML.
Pokud aplikace vyžaduje přenos dat v jiných formátech, musí provést explicitní konverzi do a ze znakových řetězců.
Znaková data (včetně CLOBů) se mezi databází a XML souborem přenášejí beze změny. Rozdělení textů do řádek zůstává zachováno. Při přenosu se provádí překódování, pokud je v databázi a v XML zvolen odlišný způsob kódování znaků.
Pro oddělení desetinných míst pro REAL i NUMERIC se používá implicitně tečka, nezávisle na lokálním nastavení desetinného oddělovače. Lze v návrhu změnit.
Reálné číslo je exportováno v desetinném nebo semilogaritmickém tvaru, při importu se akceptují oba formáty.
Při zápisu binárních dat z databáze do XML souboru se využívá kódování BASE64. Toto kódování využívá písmena anglické abecedy, číslice, znaky "+", "/" a "=". Jeho výhodou je, že nehrozí poškození binárních dat při různých překladech národních abeced. Binární data zabírají v XML souboru o třetinu více místa, než při přímém binárním uložení.
Binární data pevné délky jsou zprava doplněna nulami, binární data proměnné délky si exportem a importem zachovají svou původní délku.
Při importu se zpětně převádějí zakódovaná data do původní podoby.
Jelikož je kódování BASE64 jedním z internetových standardů (PEM, RFC 1421), je pravděpodobné, že takto zakódovaný XML soubor je stále přenositelný mezi heterogenními systémy.
Alternativně lze binární data kódovat v hexa-tvaru. Toto kódování využívá číslice a znaky A až F. Každý bajt je reprezentován dvěma znaky. Pro práci s tímto kódováním zadejte formát Hex.XML rozšíření pracuje implicitně s reprezentací data a času v XML souboru dle specifikace jednoduchých datových typů date, time a dateTime v XSD:
čas: | 23:59:59[.000][+02:00] |
datum: | 2003-12-31 |
timestamp: | 2003-12-31T23:59:59[+02:00] |
Na vstupu se připouští uvedení časové zóny i u data, ale 602SQL ji ignoruje.
Formát dat lze pro jednotlivé elementy nastavit.
Logické hodnoty se v XML reprezentují jako true a false, v souladu se specifikací jednoduchého typu Boolean v XSD.
I formát pro tento typ lze nastavit.
V dialozích Vlastnosti XML textu nebo Vlastnosti XML atributu lze jednotlivě nastavovat formát výstupních i vstupních dat odlišně od standardu uvedeného výše. Veškeré formáty se uvádějí v jediném editačním poli nazvaném Formát.
Zápis formátu tvoří dva řetězce oddělené čárkou. První řetězec odpovídá hodnotě FALSE, druhý hodnotě TRUE.
Zápis formátu tvoří řetězec složený ze čtyř částí. První znak je desetinný oddělovač, druhý znak (nepovinný) je oddělovač tisíců, následuje počet des. míst a znak E nebo F pro semilogaritmický nebo des. tvar (např. pro formát s des. čárkou, oddělovačem tvořeným mezerou, 10 desetin. místy a des. zápisem použijte řetězec ", 10F" (bez uvozovek)).
Zápis formátu je řetězec tvořený jedním znakem, kterým je desetinný oddělovač.
Zápis formátu tvoří řetězec reprezentující masku formátu, kde D značí den, M značí měsíc, Y značí rok, MM znamená uvedení vedoucí nuly apod., ostatní jsou oddělovače (např. maska pro 2004-08-25 je YYYY-MM-DD).
Zápis formátu tvoří řetězec reprezentující masku formátu, kde h značí hodiny, m minuty a s sekundy - všechny znaky malé (např. maska pro 12:00:01 je hh:mm:ss).
Zápis formátu tvoří řetězec reprezentující masku formátu, kde kde D značí den, M značí měsíc, Y značí rok, h značí hodiny, m minuty a s sekundy (např. maska pro 2004-08-25 12:00:01 je YYYY-MM-DD hh:mm:ss).
Je-li požadovaný formát natolik odlišný, že nejde vytvořit či analyzovat pomocí tohoto jednoduchého nástroje, musí se použít obecný překlad pomocí SQL funkce (tlačítko Překlad v dialozích Vlastnosti XML textu a Vlastnosti XML atributu).
Vlastnosti elementu | Formát XML a jeho podpora | Kódování XML souborů |