Boomstructuren in XML (en HTML)
In een poging een XML-parser uit te leggen aan een vriend, kwam ik er achter dat bepaalde termen die voor mij zo logisch als wat zijn, door anderen als 'vaag', of 'onbekend' worden bestempeld :P
Daarom bij deze een korte uitleg bij verschillende termen van de 'boom structuur' van XML.
In veel scripts die werken met XML of HTML komen deze begrippen naar boven. Vandaar dat ik denk dat deze korte begrippenlijst handig kan zijn.
Toelichting bij de afbeelding:
In een 'boom' structuur (tree structure) wordt gesproken over 'root', 'ancestor', 'parent', 'child' en 'sibling' items.
Om verwarring te voorkomen heb ik deze bewust niet vertaald naar het nederlands.
Deze termen beschrijven de relatie die items (ook wel NODEs) onderling hebben.
Root
De Root van de boomstructuur is het item dat zelf niet onder een ander item valt.
In dit geval is item A de root van deze boomstructuur.
Parent
De Parent is de directe ouder van een item.
Zo is item A de parent van items B, C, E en F.
Item C is de parent van item D, en item F is de parent van items G en H.
Ancestor
Met ancestors worden de bovenliggende items van een item genoemd.
Zo heeft item D als ancestors C en A (deze liggen immer boven hem in de boomstructuur. Item H heeft als ancestors F en A.
Child
Child is het omgekeerde van parent.
Item G is een child van F, en F is een child van A.
Siblings
Als laatste hebben we nog het begrip siblings.
Dit kan vrij worden vertaald met 'naasten'.
Kenmerk van siblings is dat ze dezelfde parent hebben.
Zo heeft item A geen siblings. Item B, C, E en F zijn siblings van elkaar.
Item D heeft geen siblings, en item G en H hebben elkaar als sibling.
Opmerkingen en suggesties zijn zeer welkom.
M.v.g.
Pholeron