Dilib, module SxmlNode, type SxmlDict : Différence entre versions

De Wicri Outils
imported>Jacques Ducloy
 
imported>Jacques Ducloy
m (1 révision importée)
 
(Aucune différence)

Version actuelle datée du 16 juin 2017 à 19:50

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).