XML- tutoriaal

XML TUIS XML Inleiding XML Hoe om te gebruik XML-boom XML-sintaksis XML elemente XML-kenmerke XML Naamruimtes XML vertoon XML HttpRequest XML-ontleder XML DOM XML XPath XML XSLT XML XQuery XML XLink XML valideerder XML DTD XML-skema XML-bediener XML voorbeelde XML Vasvra XML-sertifikaat

XML AJAX

AJAX Inleiding AJAX XMLHttp AJAX-versoek AJAX-reaksie AJAX XML-lêer AJAX PHP AJAX ASP AJAX-databasis AJAX toepassings AJAX voorbeelde

XML DOM

DOM Inleiding DOM nodusse Toegang tot DOM DOM Node Info DOM Node Lys DOM deurkruis DOM Navigeer DOM Kry waardes DOM Verander nodusse DOM Verwyder nodes DOM vervang nodusse DOM Skep nodusse DOM Voeg nodes by DOM Kloon Nodes DOM Voorbeelde

XPath handleiding

XPath Inleiding XPath nodes XPath-sintaksis XPath-asse XPath-operateurs XPath voorbeelde

XSLT- tutoriaal

XSLT Inleiding XSL-tale XSLT-transformasie XSLT <sjabloon> XSLT <waarde-van> XSLT <vir-elk> XSLT <sorteer> XSLT <if> XSLT <kies> XSLT Pas toe XSLT op die kliënt XSLT op die bediener XSLT Wysig XML XSLT voorbeelde

XQuery- tutoriaal

XQuery Inleiding XQuery voorbeeld XQuery FLWOR XQuery HTML XQuery-bepalings XQuery-sintaksis XQuery Voeg by XQuery Kies XQuery-funksies

XML DTD

DTD Inleiding DTD Boublokke DTD Elemente DTD-kenmerke DTD Elements vs Attr DTD Entiteite DTD Voorbeelde

XSD- skema

XSD Inleiding XSD Hoe om XSD <skema> XSD-elemente XSD-kenmerke XSD-beperkings

XSD -kompleks

XSD-elemente XSD leeg Slegs XSD-elemente Slegs XSD-teks XSD gemeng XSD-aanwysers XSD <enige> XSD <anyAttribute> XSD-vervanging XSD voorbeeld

XSD data

XSD-string XSD datum XSD Numeries XSD Diverse XSD-verwysing

Webdienste _

XML Dienste XML WSDL XML SEEP XML RDF XML RSS

Verwysings

DOM Node Tipes DOM Node DOM NodeLys DOM NamedNodeMap DOM-dokument DOM Element DOM-kenmerk DOM teks DOM CDATA DOM Kommentaar DOM XMLHttpRequest DOM-ontleder XSLT-elemente XSLT/XPath-funksies

XML DOM nodes


Volgens die XML DOM is alles in 'n XML-dokument 'n nodus :

  • Die hele dokument is 'n dokumentnodus
  • Elke XML-element is 'n elementnodus
  • Die teks in die XML-elemente is teksnodusse
  • Elke kenmerk is 'n kenmerknodus
  • Opmerkings is kommentaarnodes

DOM Voorbeeld

Kyk na die volgende XML-lêer ( books.xml ):

×

Opskrif

<?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>

Die wortelnodus in die XML hierbo word <boekwinkel> genoem.

Alle ander nodusse in die dokument is vervat in <boekwinkel>.

Die wortelnodus <boekwinkel> bevat 4 <boek> nodusse.

Die eerste <boek> nodus bevat die kind nodusse: <titel>, <outeur>, <jaar> en <prys>.

Die kind nodusse bevat een teks node elk, "Everyday Italian", "Giada De Laurentiis", "2005" en "30.00".



Teks word altyd in teksnodes gestoor

'n Algemene fout in DOM-verwerking is om te verwag dat 'n elementnodus teks bevat.

Die teks van 'n elementnodus word egter in 'n teksnodus gestoor.

In hierdie voorbeeld: <year>2005</year> , die element node <year> hou 'n teks node met die waarde "2005".

"2005" is nie die waarde van die <jaar>-element nie!


Die XML DOM Node Tree

Die XML DOM beskou 'n XML-dokument as 'n boomstruktuur. Die boomstruktuur word 'n knoopboom genoem .

Alle nodusse kan deur die boom verkry word. Hul inhoud kan gewysig of uitgevee word, en nuwe elemente kan geskep word.

Die nodusboom wys die stel nodusse en die verbindings tussen hulle. Die boom begin by die wortelknoop en vertak na die teksnodes op die laagste vlak van die boom:

DOM node boom

Die prent hierbo verteenwoordig die XML-lêer books.xml .


Node-ouers, kinders en broers en susters

Die nodusse in die nodusboom het 'n hiërargiese verhouding tot mekaar.

Die terme ouer, kind en broer of suster word gebruik om die verhoudings te beskryf. Ouernodusse het kinders. Kinders op dieselfde vlak word broers en susters (broers of susters) genoem.

  • In 'n nodusboom word die boonste nodus die wortel genoem
  • Elke nodus, behalwe die wortel, het presies een ouer node
  • 'n Nodus kan enige aantal kinders hê
  • 'n Blaar is 'n knoop sonder kinders
  • Broers en susters is nodusse met dieselfde ouer

Die volgende prent illustreer 'n deel van die nodusboom en die verhouding tussen die nodusse:

Knoopboom

Omdat die XML-data in 'n boomvorm gestruktureer is, kan dit deurkruis word sonder om die presiese struktuur van die boom te ken en sonder om te weet watter tipe data daarin vervat is.

Jy sal meer leer oor die deurkruising van die nodusboom in 'n latere hoofstuk van hierdie tutoriaal.


Eerste kind - Laaste kind

Kyk na die volgende XML-fragment:

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

In die XML hierbo is die <title> element die eerste kind van die <book> element, en die <price> element is die laaste kind van die <book> element.

Verder is die <boek>-element die ouernodus van die <titel>-, <outeur>-, <jaar>- en <prys>-elemente.