Výukový program XML

XML HOME Úvod do XML XML Jak používat XML strom Syntaxe XML Prvky XML Atributy XML Jmenné prostory XML Zobrazení XML XML HttpRequest XML Parser XML DOM XML XPath XML XSLT XML XQuery XML XLlink XML Validator XML DTD Schéma XML XML server Příklady XML XML kvíz XML certifikát

XML AJAX

Úvod do AJAX AJAX XMLHttp Požadavek AJAX Odpověď AJAX Soubor XML AJAX AJAX PHP AJAX ASP Databáze AJAX Aplikace AJAX Příklady AJAX

XML DOM

Úvod do DOM DOM uzly Přístup k DOM Informace o uzlu DOM Seznam uzlů DOM DOM Traversing Navigace DOM DOM získat hodnoty DOM změnit uzly DOM Remove Nodes DOM nahradit uzly DOM Vytvořte uzly DOM Přidat uzly Klonovací uzly DOM Příklady DOM

Výukový program XPath

Úvod do XPath Uzly XPath Syntaxe XPath osy XPath Operátoři XPath Příklady XPath

Kurz XSLT

Úvod do XSLT Jazyky XSL Transformace XSLT XSLT <šablona> XSLT <hodnota-of> XSLT <pro každého> XSLT <sort> XSLT <if> XSLT <vyberte> Použít XSLT XSLT u klienta XSLT na serveru XSLT Úprava XML Příklady XSLT

Výukový program XQuery

Úvod do XQuery Příklad XQuery XQuery FLWOR HTML XQuery Podmínky XQuery Syntaxe XQuery Přidat XQuery XQuery Select Funkce XQuery

XML DTD

Úvod do DTD Stavební bloky DTD DTD prvky Atributy DTD DTD Elements vs Attr DTD entity Příklady DTD

XSD schéma

Úvod do XSD XSD Jak na to XSD <schéma> XSD prvky XSD atributy Omezení XSD

XSD komplex

XSD prvky XSD Prázdné Pouze prvky XSD Pouze text XSD XSD smíšené XSD indikátory XSD <libovolné> XSD <jakýkoliAtribut> Náhrada XSD Příklad XSD

XSD data

XSD řetězec Datum XSD Číselné XSD XSD Různé XSD reference

Webové služby

Služby XML XML WSDL XML SOAP XML RDF XML RSS

Reference

Typy uzlů DOM Uzel DOM DOM NodeList DOM NamedNodeMap Dokument DOM Prvek DOM Atribut DOM Text DOM DOM CDATA Komentář DOM DOM XMLHttpRequest DOM Parser Prvky XSLT Funkce XSLT/XPath

XML DOM uzly


Podle XML DOM je vše v XML dokumentu uzel :

  • Celý dokument je uzel dokumentu
  • Každý prvek XML je uzel prvku
  • Text v prvcích XML jsou textové uzly
  • Každý atribut je atributovým uzlem
  • Komentáře jsou uzly komentářů

Příklad DOM

Podívejte se na následující soubor XML ( books.xml ):

×

Záhlaví

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
  <book category="cooking">
    <title lang="en">Everyday Italian</title>
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price>30.00</price>
  </book>
  <book category="children">
    <title lang="en">Harry Potter</title>
    <author>J K. Rowling</author>
    <year>2005</year>
    <price>29.99</price>
  </book>
  <book category="web">
    <title lang="en">XQuery Kick Start</title>
    <author>James McGovern</author>
    <author>Per Bothner</author>
    <author>Kurt Cagle</author>
    <author>James Linn</author>
    <author>Vaidyanathan Nagarajan</author>
    <year>2003</year>
    <price>49.99</price>
  </book>
  <book category="web" cover="paperback">
    <title lang="en">Learning XML</title>
    <author>Erik T. Ray</author>
    <year>2003</year>
    <price>39.95</price>
  </book>
</bookstore>

Kořenový uzel ve výše uvedeném XML se jmenuje <bookstore>.

Všechny ostatní uzly v dokumentu jsou obsaženy v <bookstore>.

Kořenový uzel <bookstore> obsahuje 4 uzly <book>.

První uzel <kniha> obsahuje podřízené uzly: <název>, <autor>, <rok> a <cena>.

Podřízené uzly obsahují každý jeden textový uzel, „každodenní italština“, „Giada De Laurentiis“, „2005“ a „30.00“.



Text je vždy uložen v textových uzlech

Běžnou chybou při zpracování modelu DOM je očekávat, že uzel prvku bude obsahovat text.

Text uzlu prvku je však uložen v textovém uzlu.

V tomto příkladu: <year>2005</year> , prvek uzel <year> obsahuje textový uzel s hodnotou "2005".

"2005" není hodnota prvku <year>!


Strom uzlu XML DOM

XML DOM zobrazuje XML dokument jako stromovou strukturu. Stromová struktura se nazývá uzlový strom.

Všechny uzly jsou přístupné přes strom. Jejich obsah lze upravovat nebo mazat a lze vytvářet nové prvky.

Strom uzlů zobrazuje sadu uzlů a spojení mezi nimi. Strom začíná v kořenovém uzlu a větví se k textovým uzlům na nejnižší úrovni stromu:

Strom uzlů DOM

Obrázek výše představuje soubor XML books.xml .


Rodiče, děti a sourozenci uzlu

Uzly ve stromu uzlů mají mezi sebou hierarchický vztah.

K popisu vztahů se používají pojmy rodič, dítě a sourozenec. Rodičovské uzly mají děti. Děti na stejné úrovni se nazývají sourozenci (bratři nebo sestry).

  • Ve stromu uzlů se nejvyšší uzel nazývá kořen
  • Každý uzel, kromě kořene, má právě jeden nadřazený uzel
  • Uzel může mít libovolný počet potomků
  • List je uzel bez potomků
  • Sourozenci jsou uzly se stejným rodičem

Následující obrázek ilustruje část stromu uzlů a vztah mezi uzly:

Strom uzlů

Protože jsou data XML strukturována ve stromové podobě, lze jimi procházet bez znalosti přesné struktury stromu a bez znalosti typu dat v nich obsažených.

Více o procházení stromem uzlů se dozvíte v pozdější kapitole tohoto tutoriálu.


První dítě - poslední dítě

Podívejte se na následující fragment XML:

<bookstore>
  <book category="cooking">
    <title lang="en">Everyday Italian</title>
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price>30.00</price>
  </book>
</bookstore>

Ve výše uvedeném XML je element <title> prvním potomkem elementu <book> a element <price> je posledním potomkem elementu <book>.

Kromě toho je prvek <book> nadřazeným uzlem prvků <title>, <author>, <year> a <price>.