Sxml, Import Export de structures XML : Différence entre versions

De Wicri Manuel
imported>Jacques Ducloy
(Conversion d'objet Xml en chaînes de caractère, et réciproquement)
imported>Jacques Ducloy
(Entrées-sorties)
Ligne 25 : Ligne 25 :
 
*Impression d'un objet XML sur la sortie standard :
 
*Impression d'un objet XML sur la sortie standard :
 
<source lang="c">
 
<source lang="c">
     XmlPrint(node);
+
     SxmlPrint(node);
 
</source>
 
</source>
 
*Impression d'un objet XML dans un fichier :
 
*Impression d'un objet XML dans un fichier :
 
<source lang="c">
 
<source lang="c">
     XmlFilePrint(node, file);
+
     SxmlFilePrint(node, file);
 
                   FILE *file;
 
                   FILE *file;
 
</source>
 
</source>
 
*lecture du prochain document XML sur l'entrée standard.
 
*lecture du prochain document XML sur l'entrée standard.
 
<source lang="c">
 
<source lang="c">
     XmlNode *XmlInputNextDocumentElement();
+
     SxmlNode *SxmlInputNextDocumentElement();
 
</source>
 
</source>

Version du 10 septembre 2012 à 09:59

Principes élémentaires

Si la chaîne d'entrée est constituée d'objets Xml bien formés, la construction d'un arbre XML peut se faire sans DTD (ni schéma).

La philosophie Dilib impose souvent l'absence de sauts de ligne ou de tabulations pour l'utilisation de filtres sous Unix. Le parser Dilib proprement dit traite des objets Xml quelconques.

Conversion d'objet Xml en chaînes de caractère, et réciproquement

Les fonctions d'entrées sorties utilisent un noyau de 2 procédures de conversion vers les chaînes (char *) de C.

Conversion d'un arbre Sxml en String
    char *SxmlToString(node);
          SxmlNode *node;
Construction d'un arbre Sxml à partir d'une string.
    SxmlNode *SxmlFromString(str);
          char *str;

Entrées-sorties

Les fonctions qui réalisent les entrées sorties sont réalisées à partir des fonctions précédentes.

  • Impression d'un objet XML sur la sortie standard :
    SxmlPrint(node);
  • Impression d'un objet XML dans un fichier :
    SxmlFilePrint(node, file);
                  FILE *file;
  • lecture du prochain document XML sur l'entrée standard.
    SxmlNode *SxmlInputNextDocumentElement();