node: Information

Top  Previous  Next

Skripte > Klassen-Elemente und C++-Befehle > interpretierte C++-Anweisungen > node / dnode > node: Information

 

Informationen über die Daten des Knotens (node) selbst oder über seine Stellung innerhalb eines Baums regeben die folgenden Funktionen.

 

 

str                   label() const

void                  setLabel(const str& xsLabel)

str                   value() const

void                  setValue(const str& xsValue)

unsigned int          id() const

void                  setId(unsigned int xuiId)

 

bool                  hasChildren() const

bool                  isDescendant( const node& xNode ) const

bool                  isAncestor( const node& xNode ) const

bool                  isSibling( const node& xNode ) const

unsigned int          level() const

unsigned int          descendentsCount() const

unsigned int          childCount() const

 

void                setAttrib(const str& xsLabel, const str& xsValue)

str                attrib(const str& xsLabel)

 

 

str        label() const

 

Gibt den str-Wert des Labels zurück.

 

 

void        setLabel(const str& xsLabel)

 

Setzt den String xsLabel als Label-Wert des Knotens.

 

 

str        value() const

 

Gibt den str-Wert des Knotens zurück.

 

 

void        setValue(const str& xsValue)

 

Setzt den String xsValue als Wert des Knotens.

 

 

unsigned int        id() const

void        setId(unsigned int xuiId)

 

Diese beiden Funktionen sind für die Weiter-Enwicklung des TextTransformers reserviert. Eventuell wird der Id-Typ noch geändert. 

 

 

bool        hasChildren() const

 

Die Funktion gibt true zurück, wenn der Knoten Kind-Knoten besitzt, andenfalls wird false zurückgeliefert.

 

 

bool        isDescendant( const node& xNode ) const

 

Mit isDescendant kann festgestellt werden, ob der übergebene Knoten xNode zum Zweig gehört, der in dem aktuellen Knoten seinen Ursprung hat.

 

 

bool        isAncestor( const node& xNode ) const

 

Mit isAncestor kann festgestellt werden, ob der aktuelle Knoten zum Zweig gehört, der in dem übergebenen Knoten xNode seinen Ursprung hat.

 

 

bool        isSibling( const node& xNode ) const

 

Mit isSibling kann festgestellt werden, ob der übergebene Knoten xNode in der Reihe der Geschwisterknoten auf den aktuellen Knoten folgt.

 

 

unsigned int        level() const

 

Diese Funktion gibt für Knoten der obersten Ebene den Wert 0 an; die unmittelbar untergeordneten Objekte haben den Wert 1 usw.

 

 

unsigned int        descendentsCount() const

 

Diese Funktion gibt die Anzahl der Knoten zurück, die sich in dem Zweig befinden, der in dem aktuellen Knoten seinen Ursprung hat.

 

 

unsigned int        childCount() const

 

Diese Funktion gibt die Anzahl der Knoten zurück, die dem aktuellen Knoten unmittelbar untergeordnet sind.

 

 

 

Attribute

 

Attribute bestehen aus einem Schlüssel und einem zugehörigen Wert. Attribute sind z.B. nützlich zur Speicherung von Ini-Einträgen: während die Abschnitte der Ini-Datei durch Knoten repräsentiert werden, können die Werte des Abschnitts als Attribute gesetzt werden.

 

void                setAttrib(const str& xsLabel, const str& xsValue)

 

Für jeden Knoten können mit setAttrib beliebig viele Attribute gesetzt werden. Ein Attribut hat einen Namen xsLabel und einen dazugehörigen Wert xsValue. Ist der Name noch nicht in der Liste der Attribute vorhanden, wird das Wertepaar neu eingefügt. Ist den Name bereits in der Liste vorhanden, so wird der zugehörige Wert mit dem neuen Wert überschrieben.

 

str                attrib(const str& xsLabel)

 

Mit attrib kann der Wert des Attributs mit dem Namen xsLabel gelesen werden.

 

 

Beispiel:

 

a) Ini parsen:

 

{{node n = xIni.add("[FONT]", ""); }}

 

"NAME"  "=" Value     {{ n.setAttrib("NAME", State.lp_str()); }}

"COLOR" "=" Value     {{ n.setAttrib("COLOR", State.lp_str()); }}

 

 

b) Werte auslesen:

 

node n = Ini.findNextLabel("[FONT]")

 

SetValues(n.attrib("NAME"), n.attrib("COLOR"));



Diese Seite gehört zur TextTransformer Dokumentation

Home  Inhalt  English