/*   -*- coding: utf-8 -*-  */
/*
Program for testing xml objects creation, free and storage managment
$Id: xmlTest1.c,v 1.3 2004/07/01 13:45:08 parmentf Exp $
 */


#include "SxmlNode.h"
#include "Buffer.h"

int main()

{
  Buffer *bufPath;
  SxmlNode *doc;
  SxmlNode *elem;
  SxmlNode *elem1;
  SxmlNode *list;
  
  bufPath=BufferFromString(getenv("DILIB_IMPORT"));
  BufferStrcat (bufPath, "/SxmlNode/Test/Rabelais.data.xml");
  doc = SxmlFromFile(BufferString(bufPath));
  elem=SxmlGetFirstDescendantByTagName(doc, "fC03");
  SxmlPrint(elem);
  putchar ('\n');
  elem1=SxmlGetNextDescendantByTagName(doc, elem, "fC03");
  SxmlPrint(elem1);
  putchar ('\n');
  elem=SxmlGetFirstDescendantByTagName(doc, "title");
  while (elem)
    {
      SxmlPrint(elem);
      putchar ('\n');
      elem=SxmlGetNextDescendantByTagName(doc, elem, "title");
    }
  list=SxmlListDescendant(doc, "title");
  SxmlReset(list);
  while((elem=SxmlNodeListNextNode(list)))
    {
      SxmlPrint(elem);
      putchar ('\n');
    }
  printf ("%s\n", SxmlLeafText(SxmlGetFirstDescendantTagAtt(doc ,"idno", "type", "RBID")));
}

