Pokračujeme v sérii článků věnované práci se XML v prostředí SQL Server. V tomto článku shrnu základy XML (Extensible Markup Language) jako předpoklad pro pokračování v dalších dílech. XML je velmi jednoduché na pochopení takže se není čeho bát. Zde se tedy dozvíte:
- co je to XML a k čemu slouží
- jak vypadá XML dokument a jak je strukturován
Co je XML?
Je to značkovací jazyk, který je určen k uložení informací – dat. Tyto data uložená prostřednictvím jazyka XML v dokumentu se pak dají snadno používat v různých aplikacích, protože XML je standardizované. Důležitou vlastností je to, že XML slouží pouze jako nosič dat a neobsahuje žádné další informace – nic nedělá a ani neobsahuje informace o tom, jak se mají data zobrazit. XML je jednoduché a člověk, který jej vidí poprvé dokáže z XML informace vyčíst.
Aktuálně existuje celá řada podobných jazyků z nichž nejpoužívanější je JSON funkce. Btw SQL Server má od edice SQL Server 2016 pro JSON integrovanou podporu také (viz např. článek OPENJSON funkce).
Základy XML a struktura dokumentu
Jak jsem zmiňoval, tak XML struktura je intuitivní na pochopení. V jednoduchém XML níže najdete zprávu “Ahoj, toto je jednoduché XML”. V následujícíh kapitolách si uvedené xml popíšeme.
Deklarování XML verze a znaková sada (první řádek)
První řádek XML by měl obsahovat deklaraci verze XML a znakové sady (ano XML myslí i na jiné jazyky než je angličtina). Doporučená deklarace vypadá takto:
<?xml version=“1.0” encoding=“UTF-8” ?>
Atribut | Možné varianty |
version | 1.0 |
encoding | UTF-8, UTF-16, ISO-10646-UCS-2, ISO-10646-UCS-4, ISO-8859-1 to ISO-8859-9, ISO-2022-JP, Shift_JIS, EUC-JP |
XML Tagy <>
Každá část XML (elementy, atrubuty viz dále) má počáteční tag <něco> a ukončovací tag </něco> podobně jako HTML. XML je validní pouze pokud jsou části XML správně zahájeny tagem a také ukončeny tagem. Výjimkou je deklarace. Na příkladu níže je nevalidní XML (chybí ukončovací tag </text>).
XML Elementy a Atributy
XML Element
Jak jste si mohli všimnout, tak XML se dělí do sekcí a těm se říká elementy. Struktura elementů je základ každého dokumentu. XML má minimálně 1 rodičovský element (ROOT) a nějakého potomka. Tento potomek může mít dalšího potomka a tak dále. Podívejte se na strukturu XML níže:
- rodičovským elementem <zprava_pro_navstevniky_biportal>
- potomkem je element <zprava>
- subpotomkem je element <text> a element <poznamka>
<?xml version="1.0" encoding="UTF-8" ?>
<zprava_pro_navstevniky_biportal>
<zprava>
<text> Ahoj, toto je jednoduché XML </text>
<poznamka> Poznámka 1 </poznamka>
</zprava>
<zprava>
<text> 2. zpráva </text>
<poznamka> Poznámka 2 </poznamka>
</zprava>
<zprava>
<text> 3. zpráva </text>
<poznamka> Poznámka 3 </poznamka>
</zprava>
</zprava_pro_navstevniky_biportal>
Pokud si toto XML představíme jako tabulku, tak výsledkem by bylo
XML Atribut
Jednotlivé elementy mohou obsahovat další prvky – atributy. Ty můžeme použít místo vnořených elementů. Na příkladu výše jsme měli 2 subpotomky – <text> a <poznamka>. Na příkladu u atributů element <poznamka> vytvoříme jako atribut elementu <zprava>. Výsledek bude stejný jako v předchozím případě – opět bychom dostali tabulku se sloupci text a poznamka:
<?xml version="1.0" encoding="UTF-8" ?>
<zprava_pro_navstevniky_biportal>
<zprava poznamka = "Poznámka 1">
<text> Ahoj, toto je jednoduché XML </text>
</zprava>
<zprava poznamka = "Poznámka 2">
<text> 2. zpráva </text>
</zprava>
<zprava poznamka = "Poznámka 3">
<text> 3. zpráva </text>
</zprava>
</zprava_pro_navstevniky_biportal>
To je vše k základům. Příště už půjdu do SQL Serveru a článek bude o tom, jak XML uložit do databáze
Zdravím Honzo, i když to třeba nemusí být tím rumem a jeho důsledky, velmi oceňuji tyto stránky a exkurzi do XML/SQL. Kdo s tím nepracuje rutinně má to jako šikovný kopanec ke správnému postupu, což je i můj případ. Pracuji na MMR a vytvářím číselníky a datové položky, tedy elementy a atributy, pokud je XML použit. Přeji hodně zdraví a jasnou mysl.
Díky. Rád jsem posloužil, Buďte zdráv