Dilib, module SxmlNode, type SxmlDict

De Wicri Outils
LogoDilib.gif
Panneau travaux.png
Bibliothèque Dilib (ressources numériques)
Module SxmlNode

Le type SxmlDict encapsule une table de type StrDict (via un SxmlContainer).

Par rapport au type StrDict, il permet une gestion assistée des libérations et une imbrication dans une structure plus complexe (SxmlMemory par exemple).

 

Exemple introductif

#include "SxmlNode.h"
#include <stdio.h>

main() {
        SxmlDict *table;
        table = NewSxmlDictPointer();

        SxmlDictSet(table,"arbre","tree");
        SxmlDictSet(table,"maison","home");
        printf("%s\n", SxmlDictSearch(table,"arbre"));    /* prints tree */
        printf("%s\n", SxmlDictSearch(table,"route"));    /* prints (null) */

        SxmlDictSet(table,"chien","dog");
        printf("%s\n", SxmlDictSearch(table,"chien"));   /* sorts table and prints dog */
        SxmlFree(table);
        }

Constructeurs

SxmlDictCreate

Ce constructeur crée une table encapsulée dans un SxmlContainer en utilisant un paramètre qui donne le type de cette table.

Synopsis
#include "SxmlNode.h"
SxmlDict **SxmlDictCreate(char *profil)
Paramètre

Le paramètre profil est de la forme : [op][sx][cop][sx][cop], où :

  • l'octet 0 est relatif à la gestion de la table (o pour owner, p pour pointeur) ;
  • l'octet 1 précise le type de la clé (s pour string ; x pour un arbre Sxml) ;
  • l'octet 2 précise le mode de gestion de la clé (c pour clone, o owner, p pointer) ;
  • l'octet 3 précise le type de la clé (s pour string ; x pour un arbre Sxml) ;
  • l'octet 4 précise le mode de gestion de la valeut (c pour clone, o owner, p pointer).