Zurück Weiter Inhalt

2.3 Datenstruktur

Die Datenstruktur in HXML ist ein Baum von XML-Nodes. Der Baum selber besteht aus Knoten mit je einem XMLNode und einer Liste von Bäumen. Es sind beliebig viele Kinder erlaubt.

Die Definition lehnt sich an das XML-Infoset des W3C an.

type XML = Tree XMLNode
data Tree a = Tree a [Tree a]
data XMLNode = RTNode
| ELNode Name [(Name,String)]
| TXNode String
| PINode Name String
| CXNode String
| ENNode Name

RTNode - document information item

RTNode oder RootNode ist der Wurzelknoten des XML-Dokuments. Er ist der Rückgabewert von parseDocument und "Container" für andere Nodes. Der RTNode enthält die Processing Instructions.

ELNode Name [(Name,String)] - element information item

Der ELNote repräsentiert das normale Tag. Er hat einen Namen, den Tag-Namen und einen Attributliste. Die Attributliste besteht aus Name-Value-Paaren.

TXNode String - character information item

Der TextNode enthält einfachen Text. Der Autor von HXML weist daruf hin, dass ein Text in mehre TXNodes aufgespaltet werden kann. Den Grund und die Grösse der einzelen Textabschnitte nennt er nicht.

PINode Name String - processing instruction information item

Ein PINote steht für Prossing Instructions und kann nur Kind von dem RTNode sein. Name ist das PI-Target, der String ist der Inhalt.

CXNode String - comment information item

Ein CXNode ist ein Kommentar.

ENNode Name - unparsed entity information item

ENNodes enthalten nicht geparste Daten. Also den XML-Datentyp PCDATA.


Zurück Weiter Inhalt