sasa_c_f90.c File Reference

#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <stdarg.h>
#include "sasa_c_f90.h"
#include "sasa_c_xml.h"
Include dependency graph for sasa_c_f90.c:

Go to the source code of this file.

Defines

#define XPATH_STR_LEN_MAX   (1023)
#define PSMILE_UNDEF   (-280177)

Enumerations

enum  XPathStartType {
  XPATH_START_INVALID = -1, XPATH_START_FIRST, XPATH_START_CHILD_OF_ROOT_NODE = XPATH_START_FIRST, XPATH_START_DESCENDANT_OF_ROOT_NODE,
  XPATH_START_CHILD_OF_CURRENT_NODE, XPATH_START_LAST = XPATH_START_CHILD_OF_CURRENT_NODE, XPATH_START_COUNT
}
enum  XPathNodeType {
  XPATH_NODE_TYPE_INVALID = -1, XPATH_NODE_TYPE_FIRST, XPATH_NODE_TYPE_ELEMENT = XPATH_NODE_TYPE_FIRST, XPATH_NODE_TYPE_ATTRIBUTE,
  XPATH_NODE_TYPE_LAST = XPATH_NODE_TYPE_ATTRIBUTE, XPATH_NODE_TYPE_COUNT
}

Functions/Subroutines

static int sasa_c_get_number (int *, int, size_t,...)
static int sasa_c_get_attribute (char *, int *, int, size_t,...)
static int sasa_c_get_element_c (char *, int *, int, size_t,...)
static int sasa_c_get_element_i (int *, int, size_t,...)
static int sasa_c_get_element_d (double *, int, size_t,...)
static int sasa_c_build_xpath_str (char *, XPathStartType, XPathNodeType, size_t, va_list)
int __sasa_c_convert_char2int (char *charcode, int len_charcode)
int sasa_c_read_file (char *xml_file_name, int *len_file_name, int len_declared)
int sasa_c_close (int *num_doc)
int sasa_c_convert_char2int (char *charcode, int len_charcode)
int sasa_c_get_number_1st_level (int *num_doc, char *firstlevel, int *xml_number, int len_firstlevel)
int sasa_c_get_number_2nd_level (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *xml_number, int len_firstlevel, int len_secondlevel)
int sasa_c_get_number_3rd_level (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *xml_number, int len_firstlevel, int len_secondlevel, int len_thirdlevel)
int sasa_c_get_number_4th_level (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *fourthlevel, int *xml_number, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_fourthlevel)
int sasa_c_get_number_5th_level (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *fourthlevel, int *fourthno, char *fifthlevel, int *xml_number, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_fourthlevel, int len_fifthlevel)
int sasa_c_get_number_6th_level (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *fourthlevel, int *fourthno, char *fifthlevel, int *fifthno, char *sixthlevel, int *xml_number, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_fourthlevel, int len_fifthlevel, int len_sixthlevel)
int sasa_c_get_number_7th_level (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *fourthlevel, int *fourthno, char *fifthlevel, int *fifthno, char *sixthlevel, int *sixthno, char *seventhlevel, int *xml_number, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_fourthlevel, int len_fifthlevel, int len_sixthlevel, int len_seventhlevel)
int sasa_c_get_number_8th_level (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *fourthlevel, int *fourthno, char *fifthlevel, int *fifthno, char *sixthlevel, int *sixthno, char *seventhlevel, int *seventhno, char *eighthlevel, int *xml_number, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_fourthlevel, int len_fifthlevel, int len_sixthlevel, int len_seventhlevel, int len_eighthlevel)
int sasa_c_get_number_9th_level (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *fourthlevel, int *fourthno, char *fifthlevel, int *fifthno, char *sixthlevel, int *sixthno, char *seventhlevel, int *seventhno, char *eighthlevel, int *eighthno, char *ninthlevel, int *xml_number, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_fourthlevel, int len_fifthlevel, int len_sixthlevel, int len_seventhlevel, int len_eighthlevel, int len_ninthlevel)
int sasa_c_get_number_10th_level (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *fourthlevel, int *fourthno, char *fifthlevel, int *fifthno, char *sixthlevel, int *sixthno, char *seventhlevel, int *seventhno, char *eighthlevel, int *eighthno, char *ninthlevel, int *ninthno, char *tenthlevel, int *xml_number, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_fourthlevel, int len_fifthlevel, int len_sixthlevel, int len_seventhlevel, int len_eighthlevel, int len_ninthlevel, int len_tenthlevel)
int sasa_c_get_number_11th_level (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *fourthlevel, int *fourthno, char *fifthlevel, int *fifthno, char *sixthlevel, int *sixthno, char *seventhlevel, int *seventhno, char *eighthlevel, int *eighthno, char *ninthlevel, int *ninthno, char *tenthlevel, int *tenthno, char *elethlevel, int *xml_number, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_fourthlevel, int len_fifthlevel, int len_sixthlevel, int len_seventhlevel, int len_eighthlevel, int len_ninthlevel, int len_tenthlevel, int len_elethlevel)
int sasa_c_get_attri_1st_level (int *num_doc, char *firstlevel, int *firstno, char *attribute, char *xml_attribute, int *xml_attribute_length, int len_firstlevel, int len_attribute, int len_xml_attribute)
int sasa_c_get_attri_2nd_level (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *attribute, char *xml_attribute, int *xml_attribute_length, int len_firstlevel, int len_secondlevel, int len_attribute, int len_xml_attribute)
int sasa_c_get_attri_3rd_level (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *attribute, char *xml_attribute, int *xml_attribute_length, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_attribute, int len_xml_attribute)
int sasa_c_get_attri_4th_level (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *fourthlevel, int *fourthno, char *attribute, char *xml_attribute, int *xml_attribute_length, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_fourthlevel, int len_attribute, int len_xml_attribute)
int sasa_c_get_attri_5th_level (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *fourthlevel, int *fourthno, char *fifthlevel, int *fifthno, char *attribute, char *xml_attribute, int *xml_attribute_length, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_fourthlevel, int len_fifthlevel, int len_attribute, int len_xml_attribute)
int sasa_c_get_attri_6th_level (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *fourthlevel, int *fourthno, char *fifthlevel, int *fifthno, char *sixthlevel, int *sixthno, char *attribute, char *xml_attribute, int *xml_attribute_length, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_fourthlevel, int len_fifthlevel, int len_sixthlevel, int len_attribute, int len_xml_attribute)
int sasa_c_get_attri_8th_level (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *fourthlevel, int *fourthno, char *fifthlevel, int *fifthno, char *sixthlevel, int *sixthno, char *seventhlevel, int *seventhno, char *eighthlevel, int *eighthno, char *attribute, char *xml_attribute, int *xml_attribute_length, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_fourthlevel, int len_fifthlevel, int len_sixthlevel, int len_seventhlevel, int len_eighthlevel, int len_attribute, int len_xml_attribute)
int sasa_c_get_attri_10th_level (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *fourthlevel, int *fourthno, char *fifthlevel, int *fifthno, char *sixthlevel, int *sixthno, char *seventhlevel, int *seventhno, char *eighthlevel, int *eighthno, char *ninthlevel, int *ninthno, char *tenthlevel, int *tenthno, char *attribute, char *xml_attribute, int *xml_attribute_length, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_fourthlevel, int len_fifthlevel, int len_sixthlevel, int len_seventhlevel, int len_eighthlevel, int len_ninthlevel, int len_tenthlevel, int len_attribute, int len_xml_attribute)
int sasa_c_get_element_xpath_c (int *num_doc, char *xpath, char *xml_element, int *xml_element_length, int len_xpath, int len_xml_element)
int sasa_c_get_element_1st_level_c (int *num_doc, char *firstlevel, int *firstno, char *element, int *elementno, char *xml_element, int *xml_element_length, int len_firstlevel, int len_element, int len_xml_element)
int sasa_c_get_element_xpath_i (int *num_doc, char *xpath, int *xml_element, int len_xpath)
int sasa_c_get_element_1st_level_i (int *num_doc, char *firstlevel, int *firstno, char *element, int *elementno, int *xml_element, int len_firstlevel, int len_element)
int sasa_c_get_element_1st_level_d (int *num_doc, char *firstlevel, int *firstno, char *element, int *elementno, double *xml_element, int len_firstlevel, int len_element)
int sasa_c_get_element_2nd_level_c (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *element, int *elementno, char *xml_element, int *xml_element_length, int len_firstlevel, int len_secondlevel, int len_element, int len_xml_element)
int sasa_c_get_element_2nd_level_i (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *element, int *elementno, int *xml_element, int len_firstlevel, int len_secondlevel, int len_element)
int sasa_c_get_element_2nd_level_d (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *element, int *elementno, double *xml_element, int len_firstlevel, int len_secondlevel, int len_element)
int sasa_c_get_element_3rd_level_c (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *element, int *elementno, char *xml_element, int *xml_element_length, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_element, int len_xml_element)
int sasa_c_get_element_3rd_level_i (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *element, int *elementno, int *xml_element, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_element)
int sasa_c_get_element_3rd_level_d (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *element, int *elementno, double *xml_element, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_element)
int sasa_c_get_element_4th_level_c (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *fourthlevel, int *fourthno, char *element, int *elementno, char *xml_element, int *xml_element_length, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_fourthlevel, int len_element, int len_xml_element)
int sasa_c_get_element_4th_level_i (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *fourthlevel, int *fourthno, char *element, int *elementno, int *xml_element, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_fourthlevel, int len_element)
int sasa_c_get_element_4th_level_d (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *fourthlevel, int *fourthno, char *element, int *elementno, double *xml_element, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_fourthlevel, int len_element)
int sasa_c_get_element_5th_level_c (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *fourthlevel, int *fourthno, char *fifthlevel, int *fifthno, char *element, int *elementno, char *xml_element, int *xml_element_length, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_fourthlevel, int len_fifthlevel, int len_element, int len_xml_element)
int sasa_c_get_element_5th_level_i (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *fourthlevel, int *fourthno, char *fifthlevel, int *fifthno, char *element, int *elementno, int *xml_element, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_fourthlevel, int len_fifthlevel, int len_element)
int sasa_c_get_element_5th_level_d (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *fourthlevel, int *fourthno, char *fifthlevel, int *fifthno, char *element, int *elementno, double *xml_element, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_fourthlevel, int len_fifthlevel, int len_element)
int sasa_c_get_element_6th_level_c (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *fourthlevel, int *fourthno, char *fifthlevel, int *fifthno, char *sixthlevel, int *sixthno, char *element, int *elementno, char *xml_element, int *xml_element_length, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_fourthlevel, int len_fifthlevel, int len_sixthlevel, int len_element, int len_xml_element)
int sasa_c_get_element_6th_level_i (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *fourthlevel, int *fourthno, char *fifthlevel, int *fifthno, char *sixthlevel, int *sixthno, char *element, int *elementno, int *xml_element, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_fourthlevel, int len_fifthlevel, int len_sixthlevel, int len_element)
int sasa_c_get_element_6th_level_d (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *fourthlevel, int *fourthno, char *fifthlevel, int *fifthno, char *sixthlevel, int *sixthno, char *element, int *elementno, double *xml_element, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_fourthlevel, int len_fifthlevel, int len_sixthlevel, int len_element)
int sasa_c_get_element_7th_level_c (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *fourthlevel, int *fourthno, char *fifthlevel, int *fifthno, char *sixthlevel, int *sixthno, char *seventhlevel, int *seventhno, char *element, int *elementno, char *xml_element, int *xml_element_length, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_fourthlevel, int len_fifthlevel, int len_sixthlevel, int len_seventhlevel, int len_element, int len_xml_element)
int sasa_c_get_element_7th_level_i (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *fourthlevel, int *fourthno, char *fifthlevel, int *fifthno, char *sixthlevel, int *sixthno, char *seventhlevel, int *seventhno, char *element, int *elementno, int *xml_element, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_fourthlevel, int len_fifthlevel, int len_sixthlevel, int len_seventhlevel, int len_element)
int sasa_c_get_element_7th_level_d (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *fourthlevel, int *fourthno, char *fifthlevel, int *fifthno, char *sixthlevel, int *sixthno, char *seventhlevel, int *seventhno, char *element, int *elementno, double *xml_element, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_fourthlevel, int len_fifthlevel, int len_sixthlevel, int len_seventhlevel, int len_element)
int sasa_c_get_element_8th_level_c (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *fourthlevel, int *fourthno, char *fifthlevel, int *fifthno, char *sixthlevel, int *sixthno, char *seventhlevel, int *seventhno, char *eighthlevel, int *eighthno, char *element, int *elementno, char *xml_element, int *xml_element_length, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_fourthlevel, int len_fifthlevel, int len_sixthlevel, int len_seventhlevel, int len_eighthlevel, int len_element, int len_xml_element)
int sasa_c_get_element_8th_level_i (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *fourthlevel, int *fourthno, char *fifthlevel, int *fifthno, char *sixthlevel, int *sixthno, char *seventhlevel, int *seventhno, char *eighthlevel, int *eighthno, char *element, int *elementno, int *xml_element, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_fourthlevel, int len_fifthlevel, int len_sixthlevel, int len_seventhlevel, int len_eighthlevel, int len_element)
int sasa_c_get_element_8th_level_d (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *fourthlevel, int *fourthno, char *fifthlevel, int *fifthno, char *sixthlevel, int *sixthno, char *seventhlevel, int *seventhno, char *eighthlevel, int *eighthno, char *element, int *elementno, double *xml_element, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_fourthlevel, int len_fifthlevel, int len_sixthlevel, int len_seventhlevel, int len_eighthlevel, int len_element)
int sasa_c_get_element_9th_level_c (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *fourthlevel, int *fourthno, char *fifthlevel, int *fifthno, char *sixthlevel, int *sixthno, char *seventhlevel, int *seventhno, char *eighthlevel, int *eighthno, char *ninthlevel, int *ninthno, char *element, int *elementno, char *xml_element, int *xml_element_length, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_fourthlevel, int len_fifthlevel, int len_sixthlevel, int len_seventhlevel, int len_eighthlevel, int len_ninthlevel, int len_element, int len_xml_element)
int sasa_c_get_element_9th_level_i (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *fourthlevel, int *fourthno, char *fifthlevel, int *fifthno, char *sixthlevel, int *sixthno, char *seventhlevel, int *seventhno, char *eighthlevel, int *eighthno, char *ninthlevel, int *ninthno, char *element, int *elementno, int *xml_element, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_fourthlevel, int len_fifthlevel, int len_sixthlevel, int len_seventhlevel, int len_eighthlevel, int len_ninthlevel, int len_element)
int sasa_c_get_element_9th_level_d (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *fourthlevel, int *fourthno, char *fifthlevel, int *fifthno, char *sixthlevel, int *sixthno, char *seventhlevel, int *seventhno, char *eighthlevel, int *eighthno, char *ninthlevel, int *ninthno, char *element, int *elementno, double *xml_element, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_fourthlevel, int len_fifthlevel, int len_sixthlevel, int len_seventhlevel, int len_eighthlevel, int len_ninthlevel, int len_element)
int sasa_c_get_element_10th_level_c (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *fourthlevel, int *fourthno, char *fifthlevel, int *fifthno, char *sixthlevel, int *sixthno, char *seventhlevel, int *seventhno, char *eighthlevel, int *eighthno, char *ninthlevel, int *ninthno, char *tenthlevel, int *tenthno, char *element, int *elementno, char *xml_element, int *xml_element_length, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_fourthlevel, int len_fifthlevel, int len_sixthlevel, int len_seventhlevel, int len_eighthlevel, int len_ninthlevel, int len_tenthlevel, int len_element, int len_xml_element)
int sasa_c_get_element_10th_level_i (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *fourthlevel, int *fourthno, char *fifthlevel, int *fifthno, char *sixthlevel, int *sixthno, char *seventhlevel, int *seventhno, char *eighthlevel, int *eighthno, char *ninthlevel, int *ninthno, char *tenthlevel, int *tenthno, char *element, int *elementno, int *xml_element, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_fourthlevel, int len_fifthlevel, int len_sixthlevel, int len_seventhlevel, int len_eighthlevel, int len_ninthlevel, int len_tenthlevel, int len_element)
int sasa_c_get_element_10th_level_d (int *num_doc, char *firstlevel, int *firstno, char *secondlevel, int *secondno, char *thirdlevel, int *thirdno, char *fourthlevel, int *fourthno, char *fifthlevel, int *fifthno, char *sixthlevel, int *sixthno, char *seventhlevel, int *seventhno, char *eighthlevel, int *eighthno, char *ninthlevel, int *ninthno, char *tenthlevel, int *tenthno, char *element, int *elementno, double *xml_element, int len_firstlevel, int len_secondlevel, int len_thirdlevel, int len_fourthlevel, int len_fifthlevel, int len_sixthlevel, int len_seventhlevel, int len_eighthlevel, int len_ninthlevel, int len_tenthlevel, int len_element)

Define Documentation

#define PSMILE_UNDEF   (-280177)

Definition at line 71 of file sasa_c_f90.c.

Referenced by sasa_c_get_element_d(), and sasa_c_get_element_i().

#define XPATH_STR_LEN_MAX   (1023)

Enumeration Type Documentation

Enumerator:
XPATH_NODE_TYPE_INVALID 
XPATH_NODE_TYPE_FIRST 
XPATH_NODE_TYPE_ELEMENT 
XPATH_NODE_TYPE_ATTRIBUTE 
XPATH_NODE_TYPE_LAST 
XPATH_NODE_TYPE_COUNT 

Definition at line 90 of file sasa_c_f90.c.

00091 {
00092     XPATH_NODE_TYPE_INVALID = -1,
00093 
00094     XPATH_NODE_TYPE_FIRST,
00095   XPATH_NODE_TYPE_ELEMENT = XPATH_NODE_TYPE_FIRST,
00096   XPATH_NODE_TYPE_ATTRIBUTE,
00097     XPATH_NODE_TYPE_LAST = XPATH_NODE_TYPE_ATTRIBUTE,
00098 
00099     XPATH_NODE_TYPE_COUNT
00100 
00101 } XPathNodeType;

Enumerator:
XPATH_START_INVALID 
XPATH_START_FIRST 
XPATH_START_CHILD_OF_ROOT_NODE 
XPATH_START_DESCENDANT_OF_ROOT_NODE 
XPATH_START_CHILD_OF_CURRENT_NODE 
XPATH_START_LAST 
XPATH_START_COUNT 

Definition at line 74 of file sasa_c_f90.c.

00075 {
00076     XPATH_START_INVALID = -1,
00077 
00078     XPATH_START_FIRST,
00079   XPATH_START_CHILD_OF_ROOT_NODE = XPATH_START_FIRST,
00080   XPATH_START_DESCENDANT_OF_ROOT_NODE,
00081   XPATH_START_CHILD_OF_CURRENT_NODE,
00082     XPATH_START_LAST = XPATH_START_CHILD_OF_CURRENT_NODE,
00083 
00084     XPATH_START_COUNT
00085 
00086 } XPathStartType;


Function Documentation

int __sasa_c_convert_char2int ( char *  charcode,
int  len_charcode 
)

Definition at line 119 of file sasa_c_f90.c.

Referenced by sasa_c_convert_char2int().

00120 {
00121     struct pair
00122     {
00123         char *keyword;
00124         int code;
00125     };
00126     struct pair *p_pair;
00127     int nb_pairs;
00128     int result;
00129 
00130     size_t len = len_charcode;
00131 
00132 #ifdef DEBUG
00133     (void)printf("sasa_c_convert_char2int : charcode: %s\n", charcode);
00134     (void)printf("sasa_c_convert_char2int : len_charcode: %d\n", len);
00135 #endif
00136 
00137     result = -280177;
00138 
00139 /*************************************************************************
00140 
00141    List of keywords (in XML element attributes) and their corresponding value in OASIS4
00142    ====================================================================================
00143      
00144     first    = 1;
00145     second   = 2;
00146     third    = 3;
00147     fourth   = 4;
00148 
00149     not_spawn = 1;
00150     spawn     = 2;
00151 
00152     false    = 0;
00153     true     = 1;
00154 
00155     meters   = 3000;
00156     bar      = 3001;
00157     millibar = 3002;
00158     decibar  = 3003;
00159     atmosphere  = 3004;
00160     pascal   = 3005;
00161     hPa      = 3006;
00162     unitless = 3007;
00163 
00164     degrees_east    = 3008;
00165     degrees_north   = 3009;
00166 
00167     single   = 3500;
00168     vector   = 3501;
00169     bundle   = 3502;
00170 
00171     mean     = 3530;
00172     max      = 3531;
00173     min      = 3532;
00174     median   = 3533;
00175     variance = 3534;
00176     integral = 3535;
00177     average  = 3536;
00178     wgt_ave  = 3537;
00179     subgrid_ave = 3538;
00180 
00181     file     = 3810;
00182     component_name   = 3800;
00183 
00184     mpp_ascii   = 3821;
00185     mpp_ieee32  = 3822;
00186     mpp_native  = 3823;
00187     mpp_netcdf  = 3824;
00188 
00189     taverage   = 3600;
00190     accumul    = 3601;
00191     tmin       = 3602;
00192     tmax       = 3603;
00193 
00194     up     = 1;
00195     down   = 2;
00196 
00197     PRISM_reglonlatvrt     = 0;
00198     PRISM_irrlonlat_regvrt = 1;
00199     PRISM_irrlonlatvrt     = 2;
00200     PRISM_irrlonlat_sigmavrt = 3;
00201     PRISM_reglonlat_sigmavrt = 4;
00202     PRISM_unstructlonlat_regvrt = 5;
00203     PRISM_unstructlonlat_sigmavrt = 6;
00204     PRISM_unstructlonlatvrt     = 7;
00205     PRISM_gridless              = 8;
00206     PRISM_gaussreduced_regvrt   = 9;
00207     PRISM_gaussreduced_sigmavrt = 10;
00208 
00209     xs:real    = 4;
00210     xs:double  = 5;
00211     xs:string  = 1;
00212     xs:integer = 2;
00213     xs:nonPositiveInteger = 2;
00214     xs:negativeInteger    = 2;
00215     xs:positiveInteger    = 2;
00216 
00217     smooth   = 3685;
00218     raw      = 3686;
00219 
00220     sinus    = 3680;
00221     cosinus  = 3681;
00222     log      = 3682;
00223 
00224     time_nneighbour = 3604;
00225     time_linear     = 3605;
00226 
00227     conserv_global    = 3675;
00228 
00229     global    = 3711;
00230     local     = 3710;
00231 
00232     iosingle    = 3825;
00233     parallel    = 3826;
00234     distributed = 3827;
00235 
00236     latitude  = 3648;
00237     latlon    = 3647;
00238 
00239     approximate  = 3657;
00240     precise      = 3658;
00241 
00242     novalue    = 3643;
00243     tneighbour = 3644;
00244     nneighbour = 3645;
00245     vneighbour = 3646;
00246 
00247 
00248     gradient   = 3660;
00249     sixteen    = -280177;
00250     fracarea   = 3665;
00251     destarea   = 3666;
00252     none       = -1;
00253     " "        = -280177;
00254 
00255     on     = 1;
00256     off    = 0;
00257 
00258 *****************************************************************************/
00259 
00260     /* Sort keywords by length */
00261     /* ----------------------- */
00262     
00263     switch (len)
00264     {
00265     case 2:
00266     {
00267         static struct pair tab2[] = { {"up", 1}, {"on", 1} };
00268         p_pair = tab2;
00269         nb_pairs = 2;
00270         break;
00271     }   
00272     case 3:
00273     {
00274         static struct pair tab3[] = {
00275             {"bar", 3001}, {"hPa", 3006}, {"max", 3531}, {"min", 3532}, {"raw", 3686}, {"log", 3682}, {"off", 0}
00276         };
00277         p_pair = tab3;
00278         nb_pairs = 7;
00279         break;
00280     }   
00281     case 4:
00282     {
00283         static struct pair tab4[] = {
00284             {"true", 1}, {"mean", 3530}, {"file", 3810}, {"tmin", 3602}, {"tmax", 3603}, {"down", 2}, {"none", -1},
00285         };
00286         p_pair = tab4;
00287         nb_pairs = 7;
00288         break;
00289     }   
00290         break;
00291     case 5:
00292     {
00293         static struct pair tab5[] = {
00294             {"first", 1}, {"third", 3}, {"spawn", 2}, {"false", 0}, {"sinus", 3680}, {"local", 3710},
00295         };
00296 
00297         p_pair = tab5;
00298         nb_pairs = 6;
00299         break;
00300     }   
00301     case 6:
00302     {
00303         static struct pair tab6[] = {
00304             {"second", 2}, {"fourth", 4}, {"meters", 3000}, {"pascal", 3005}, {"single", 3500}, {"vector", 3501},
00305             {"bundle", 3502}, {"median", 3533}, {"smooth", 3685}, {"global", 3711}, {"latlon", 3647},
00306         };
00307         p_pair = tab6;
00308         nb_pairs = 11;
00309         break;
00310     }   
00311     case 7:
00312     {
00313         static struct pair tab7[] = {
00314             {"decibar", 3003}, {"average", 3536}, {"wgt_ave", 3537}, {"accumul", 3601}, {"xs:real", 4}, {"cosinus", 3681}, 
00315             {"precise", 3658}, {"novalue", 3643}, {"sixteen", -280177},
00316         };
00317         p_pair = tab7;
00318         nb_pairs = 9;
00319         break;
00320     }   
00321     case 8:
00322     {
00323         static struct pair tab8[] = {
00324             {"millibar", 3002}, {"unitless", 3007}, {"variance", 3534}, {"integral", 3535}, {"taverage", 3600}, {"iosingle", 3825},
00325             {"parallel", 3826}, {"latitude", 3648}, {"gradient", 3660}, {"fracarea", 3665}, {"destarea", 3666},
00326         };
00327         p_pair = tab8;
00328         nb_pairs = 11;
00329         break;
00330     }   
00331     case 9:
00332     {
00333         static struct pair tab9[] = {
00334             {"not_spawn", 1}, {"mpp_ascii", 3821}, {"xs:double", 5}, {"xs:string", 1},
00335         };
00336         p_pair = tab9;
00337         nb_pairs = 4;
00338         break;
00339     }   
00340     case 10:
00341     {
00342         static struct pair tab10[] = {
00343             {"atmosphere", 3004}, {"mpp_ieee32", 3822}, {"mpp_native", 3823}, {"mpp_netcdf", 3824}, {"xs:integer", 2},
00344             {"tneighbour", 3644}, {"nneighbour", 3645}, {"vneighbour", 3646},
00345         };
00346         p_pair = tab10;
00347         nb_pairs = 8;
00348         break;
00349     }   
00350     case 11:
00351     {
00352         static struct pair tab11[] = {
00353             {"subgrid_ave", 3538}, {"time_linear", 3605}, {"distributed", 3827}, {"approximate", 3657},
00354         };
00355         p_pair = tab11;
00356         nb_pairs = 4;
00357         break;
00358     }   
00359     case 12:
00360         /* One single choice : {"degrees_east", 3008}, */
00361         result = 3008;
00362         nb_pairs = 0;
00363         break;
00364     case 13:
00365         /* One single choice : {"degrees_north", 3009}, */
00366         result = 3009;
00367         nb_pairs = 0;
00368         break;
00369     case 14:
00370     {
00371         static struct pair tab14[] = {
00372             {"component_name", 3800}, {"PRISM_gridless", 8}, {"conserv_global", 3675},
00373         };
00374         p_pair = tab14;
00375         nb_pairs = 3;
00376         break;
00377     }   
00378     case 15:
00379         /* One single choice : {"time_nneighbour", 3604}, */
00380         result = 3004;
00381         nb_pairs = 0;
00382         break;
00383     case 16:
00384     {
00385         static struct pair tab16[] = {
00386             {"PRISM_reglonlatvrt", 0}, {"PRISM_irrlonlatvrt", 2}, {"xs:negativeInteger", 2}, {"xs:positiveInteger", 2},
00387         };
00388         p_pair = tab16;
00389         nb_pairs = 4;
00390         break;
00391     }   
00392     case 17:
00393         /* One single choice : {"xs:nonPositiveInteger", 2}, */
00394         result = 2;
00395         nb_pairs = 0;
00396         break;
00397     case 18:
00398         /* One single choice : {"PRISM_irrlonlat_regvrt", 1}, */
00399         result = 1;
00400         nb_pairs = 0;
00401         break;
00402     case 19:
00403         /* One single choice : {"PRISM_unstructlonlatvrt", 7}, */
00404         result = 7;
00405         nb_pairs = 0;
00406         break;
00407     case 20:
00408     {
00409         static struct pair tab20[] = {
00410             {"PRISM_irrlonlat_sigmavrt", 3}, {"PRISM_reglonlat_sigmavrt", 4},
00411         };
00412         p_pair = tab20;
00413         nb_pairs = 2;
00414         break;
00415     }   
00416     case 21:
00417         /* One single choice : {"PRISM_gaussreduced_regvrt", 9}, */
00418         result = 9;
00419         nb_pairs = 0;
00420         break;
00421     case 22:
00422     {
00423         static struct pair tab22[] = {
00424             {"PRISM_unstructlonlat_regvrt", 5}, {"PRISM_gaussreduced_sigmavrt", 10},
00425         };
00426         p_pair = tab22;
00427         nb_pairs = 2;
00428         break;
00429     }   
00430     case 23:
00431         /* One single choice : {"PRISM_unstructlonlat_sigmavrt", 6}, */
00432         result = 6;
00433         nb_pairs = 0;
00434         break;
00435     
00436     default:
00437         /* no match */
00438         result = -280177;
00439         nb_pairs = 0;
00440         break;
00441     
00442     } /* end switch (len) */
00443 
00444    /* Compare keywords with given character string */
00445 
00446     /* For all keywords of length 'len' */
00447     while (nb_pairs -- > 0 && result == -280177)
00448     {
00449         /* if keyword matches */
00450         if (strncmp(charcode, p_pair->keyword, len) == 0)
00451             result = p_pair->code;
00452         else
00453             /* test next keyword */
00454             p_pair += 1;
00455     }
00456 
00457     /* if not empty string */
00458     if (! (charcode[0] == ' '))
00459     {
00460         /* if no match */
00461         if (result == -280177)
00462         {
00463             printf("\n");
00464             printf("sasa_c_convert_char2int : There is no corresponding parameter to char %s\n",charcode);
00465         }
00466     }
00467 
00468 #ifdef DEBUG
00469     (void)printf("sasa_c_convert_char2int : result code : %d\n",result);
00470     (void)printf("--------------------------------------------------\n");
00471 #endif
00472 
00473     return (result);
00474 }

Here is the caller graph for this function:

static int sasa_c_build_xpath_str ( char *  xpath_str,
XPathStartType  xpath_start_type,
XPathNodeType  xpath_target_node_type,
size_t  parent_nodes_count,
va_list  xpath_nodes 
) [static]

Definition at line 1386 of file sasa_c_f90.c.

References ASSERT, XPATH_NODE_TYPE_ATTRIBUTE, XPATH_NODE_TYPE_ELEMENT, XPATH_NODE_TYPE_FIRST, XPATH_NODE_TYPE_LAST, XPATH_START_CHILD_OF_CURRENT_NODE, XPATH_START_CHILD_OF_ROOT_NODE, XPATH_START_DESCENDANT_OF_ROOT_NODE, XPATH_START_FIRST, and XPATH_START_LAST.

Referenced by sasa_c_get_attribute(), sasa_c_get_element_c(), sasa_c_get_element_d(), sasa_c_get_element_i(), and sasa_c_get_number().

01391 {
01392   size_t elements_loop;
01393   int    xpath_str_len, chars_count;
01394   char   format_str[ 32 ];
01395 
01396   ASSERT( xpath_str != NULL );
01397   ASSERT( xpath_start_type >= XPATH_START_FIRST
01398        && xpath_start_type <= XPATH_START_LAST );
01399   ASSERT( xpath_target_node_type >= XPATH_NODE_TYPE_FIRST
01400        && xpath_target_node_type <= XPATH_NODE_TYPE_LAST );
01401   ASSERT( parent_nodes_count >= 0 );
01402 
01403 
01404   /* Start the XPath string appropriately */
01405   switch ( xpath_start_type )
01406   {
01407     case XPATH_START_CHILD_OF_ROOT_NODE:
01408     {
01409       strcpy( xpath_str, "/" );
01410     }
01411     break;
01412     case XPATH_START_DESCENDANT_OF_ROOT_NODE:
01413     {
01414       strcpy( xpath_str, "//" );
01415     }
01416     break;
01417     case XPATH_START_CHILD_OF_CURRENT_NODE:
01418     {
01419       xpath_str[ 0 ] = '\0';
01420     }
01421     break;
01422     default:
01423     {
01424       ASSERT( 0 );
01425     }
01426     break;
01427   }
01428   xpath_str_len = chars_count = strlen( xpath_str );
01429 
01430 
01431   /* Add successive parent elements to the XPath string */
01432   elements_loop = 0;
01433   while ( elements_loop < parent_nodes_count && chars_count != -1 )
01434   {
01435     const char *element_name = va_arg( xpath_nodes, char * ); 
01436     int element_name_len = va_arg( xpath_nodes, int ); 
01437     int element_count = va_arg( xpath_nodes, int ); 
01438 
01439     /* Since Fortran strings aren't null-terminated, we must copy an exact
01440     number of chars from element_name (given by element_name_len) to the
01441     xpath input string - e.g. we must use %.9s instead of %s for "transient". */
01442     if ( element_count == 0 )
01443     {
01444       sprintf( format_str, "%%.%ds/", element_name_len );
01445       chars_count = sprintf( xpath_str + xpath_str_len, format_str,
01446                              element_name );
01447     }
01448     else
01449     {
01450       sprintf( format_str, "%%.%ds[%%d]/", element_name_len );
01451       chars_count = sprintf( xpath_str + xpath_str_len, format_str,
01452                              element_name, element_count );
01453     }
01454 
01455     xpath_str_len += chars_count;
01456     elements_loop++;
01457   }
01458 
01459 
01460   /* Finally, add the element or attribute we want to the end of the xpath */
01461   if ( chars_count != -1 )
01462   {
01463     switch ( xpath_target_node_type )
01464     {
01465       case XPATH_NODE_TYPE_ATTRIBUTE:
01466       {
01467         const char *attribute_name = va_arg( xpath_nodes, char * ); 
01468         int attribute_name_len = va_arg( xpath_nodes, int ); 
01469         /* Ignore the last value in the node triplet (if any) -
01470         there can only be one instance of an attribute. */
01471 
01472         sprintf( format_str, "@%%.%ds", attribute_name_len );
01473         chars_count = sprintf( xpath_str + xpath_str_len, format_str,
01474                               attribute_name );
01475       }
01476       break;
01477       case XPATH_NODE_TYPE_ELEMENT:
01478       {
01479         const char *element_name = va_arg( xpath_nodes, char * ); 
01480         int element_name_len = va_arg( xpath_nodes, int ); 
01481         int element_count = va_arg( xpath_nodes, int ); 
01482 
01483         if ( element_count == 0 )
01484         {
01485           sprintf( format_str, "%%.%ds", element_name_len );
01486           chars_count = sprintf( xpath_str + xpath_str_len, format_str,
01487                                 element_name );
01488         }
01489         else
01490         {
01491           sprintf( format_str, "%%.%ds[%%d]", element_name_len );
01492           chars_count = sprintf( xpath_str + xpath_str_len, format_str,
01493                                 element_name, element_count );
01494         }
01495       }
01496       break;
01497       default:
01498       {
01499         ASSERT( 0 );
01500       }
01501       break;
01502     }
01503 
01504     xpath_str_len += chars_count;
01505   }
01506 
01507   return ( chars_count != -1 ? xpath_str_len : chars_count );
01508 
01509 } /* sasa_c_build_xpath_str */

Here is the caller graph for this function:

int sasa_c_close ( int *  num_doc  ) 

Definition at line 1549 of file sasa_c_f90.c.

References sasaCloseXml().

01550 {
01551 
01552   return (sasaCloseXml (*num_doc));
01553 
01554 }

Here is the call graph for this function:

int sasa_c_convert_char2int ( char *  charcode,
int  len_charcode 
)

Definition at line 1561 of file sasa_c_f90.c.

References __sasa_c_convert_char2int().

01562 {
01563   int result;
01564   char *name;
01565 
01566   name = (char *) calloc(len_charcode+1, sizeof(char));
01567   strncpy(name,charcode,len_charcode);
01568 
01569   result = __sasa_c_convert_char2int  (name, len_charcode);
01570 
01571   free(name);
01572 
01573   return(result);
01574 }

Here is the call graph for this function:

int sasa_c_get_attri_10th_level ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  fourthlevel,
int *  fourthno,
char *  fifthlevel,
int *  fifthno,
char *  sixthlevel,
int *  sixthno,
char *  seventhlevel,
int *  seventhno,
char *  eighthlevel,
int *  eighthno,
char *  ninthlevel,
int *  ninthno,
char *  tenthlevel,
int *  tenthno,
char *  attribute,
char *  xml_attribute,
int *  xml_attribute_length,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_fourthlevel,
int  len_fifthlevel,
int  len_sixthlevel,
int  len_seventhlevel,
int  len_eighthlevel,
int  len_ninthlevel,
int  len_tenthlevel,
int  len_attribute,
int  len_xml_attribute 
)

Definition at line 2197 of file sasa_c_f90.c.

References sasa_c_get_attribute().

02233 {
02234   int result;
02235 
02236   result = sasa_c_get_attribute(
02237     xml_attribute, xml_attribute_length, *num_doc, 10,
02238     firstlevel,    len_firstlevel,       *firstno,
02239     secondlevel,   len_secondlevel,      *secondno,
02240     thirdlevel,    len_thirdlevel,       *thirdno,
02241     fourthlevel,   len_fourthlevel,      *fourthno,
02242     fifthlevel,    len_fifthlevel,       *fifthno,
02243     sixthlevel,    len_sixthlevel,       *sixthno, 
02244     seventhlevel,  len_seventhlevel,     *seventhno, 
02245     eighthlevel,   len_eighthlevel,      *eighthno, 
02246     ninthlevel,    len_ninthlevel,       *ninthno, 
02247     tenthlevel,    len_tenthlevel,       *tenthno, 
02248     attribute,     len_attribute );
02249 
02250   return(result);
02251 }

Here is the call graph for this function:

int sasa_c_get_attri_1st_level ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  attribute,
char *  xml_attribute,
int *  xml_attribute_length,
int  len_firstlevel,
int  len_attribute,
int  len_xml_attribute 
)

Definition at line 1962 of file sasa_c_f90.c.

References sasa_c_get_attribute().

01971 {
01972   int result;
01973 
01974   result = sasa_c_get_attribute(
01975     xml_attribute, xml_attribute_length, *num_doc, 1,
01976     firstlevel,    len_firstlevel,       *firstno,
01977     attribute,     len_attribute );
01978 
01979   return(result);
01980 }

Here is the call graph for this function:

int sasa_c_get_attri_2nd_level ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  attribute,
char *  xml_attribute,
int *  xml_attribute_length,
int  len_firstlevel,
int  len_secondlevel,
int  len_attribute,
int  len_xml_attribute 
)

Definition at line 1983 of file sasa_c_f90.c.

References sasa_c_get_attribute().

01995 {
01996   int result;
01997 
01998   result = sasa_c_get_attribute(
01999     xml_attribute, xml_attribute_length, *num_doc, 2,
02000     firstlevel,    len_firstlevel,       *firstno,
02001     secondlevel,   len_secondlevel,      *secondno,
02002     attribute,     len_attribute );
02003 
02004   return(result);
02005 }

Here is the call graph for this function:

int sasa_c_get_attri_3rd_level ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  attribute,
char *  xml_attribute,
int *  xml_attribute_length,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_attribute,
int  len_xml_attribute 
)

Definition at line 2008 of file sasa_c_f90.c.

References sasa_c_get_attribute().

02023 {
02024   int result;
02025 
02026   result = sasa_c_get_attribute(
02027     xml_attribute, xml_attribute_length, *num_doc, 3,
02028     firstlevel,    len_firstlevel,       *firstno,
02029     secondlevel,   len_secondlevel,      *secondno,
02030     thirdlevel,    len_thirdlevel,       *thirdno,
02031     attribute,     len_attribute );
02032 
02033   return(result);
02034 }

Here is the call graph for this function:

int sasa_c_get_attri_4th_level ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  fourthlevel,
int *  fourthno,
char *  attribute,
char *  xml_attribute,
int *  xml_attribute_length,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_fourthlevel,
int  len_attribute,
int  len_xml_attribute 
)

Definition at line 2037 of file sasa_c_f90.c.

References sasa_c_get_attribute().

02055 {
02056   int result;
02057 
02058   result = sasa_c_get_attribute(
02059     xml_attribute, xml_attribute_length, *num_doc, 4,
02060     firstlevel,    len_firstlevel,       *firstno,
02061     secondlevel,   len_secondlevel,      *secondno,
02062     thirdlevel,    len_thirdlevel,       *thirdno,
02063     fourthlevel,   len_fourthlevel,      *fourthno,
02064     attribute,     len_attribute );
02065 
02066   return(result);
02067 }

Here is the call graph for this function:

int sasa_c_get_attri_5th_level ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  fourthlevel,
int *  fourthno,
char *  fifthlevel,
int *  fifthno,
char *  attribute,
char *  xml_attribute,
int *  xml_attribute_length,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_fourthlevel,
int  len_fifthlevel,
int  len_attribute,
int  len_xml_attribute 
)

Definition at line 2070 of file sasa_c_f90.c.

References sasa_c_get_attribute().

02091 {
02092   int result;
02093 
02094   result = sasa_c_get_attribute(
02095     xml_attribute, xml_attribute_length, *num_doc, 5,
02096     firstlevel,    len_firstlevel,       *firstno,
02097     secondlevel,   len_secondlevel,      *secondno,
02098     thirdlevel,    len_thirdlevel,       *thirdno,
02099     fourthlevel,   len_fourthlevel,      *fourthno,
02100     fifthlevel,    len_fifthlevel,       *fifthno,
02101     attribute,     len_attribute );
02102 
02103   return(result);
02104 }

Here is the call graph for this function:

int sasa_c_get_attri_6th_level ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  fourthlevel,
int *  fourthno,
char *  fifthlevel,
int *  fifthno,
char *  sixthlevel,
int *  sixthno,
char *  attribute,
char *  xml_attribute,
int *  xml_attribute_length,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_fourthlevel,
int  len_fifthlevel,
int  len_sixthlevel,
int  len_attribute,
int  len_xml_attribute 
)

Definition at line 2107 of file sasa_c_f90.c.

References sasa_c_get_attribute().

02131 {
02132   int result;
02133 
02134   result = sasa_c_get_attribute(
02135     xml_attribute, xml_attribute_length, *num_doc, 6,
02136     firstlevel,    len_firstlevel,       *firstno,
02137     secondlevel,   len_secondlevel,      *secondno,
02138     thirdlevel,    len_thirdlevel,       *thirdno,
02139     fourthlevel,   len_fourthlevel,      *fourthno,
02140     fifthlevel,    len_fifthlevel,       *fifthno,
02141     sixthlevel,    len_sixthlevel,       *sixthno, 
02142     attribute,     len_attribute );
02143 
02144   return(result);
02145 }

Here is the call graph for this function:

int sasa_c_get_attri_8th_level ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  fourthlevel,
int *  fourthno,
char *  fifthlevel,
int *  fifthno,
char *  sixthlevel,
int *  sixthno,
char *  seventhlevel,
int *  seventhno,
char *  eighthlevel,
int *  eighthno,
char *  attribute,
char *  xml_attribute,
int *  xml_attribute_length,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_fourthlevel,
int  len_fifthlevel,
int  len_sixthlevel,
int  len_seventhlevel,
int  len_eighthlevel,
int  len_attribute,
int  len_xml_attribute 
)

Definition at line 2148 of file sasa_c_f90.c.

References sasa_c_get_attribute().

02178 {
02179   int result;
02180 
02181   result = sasa_c_get_attribute(
02182     xml_attribute, xml_attribute_length, *num_doc, 8,
02183     firstlevel,    len_firstlevel,       *firstno,
02184     secondlevel,   len_secondlevel,      *secondno,
02185     thirdlevel,    len_thirdlevel,       *thirdno,
02186     fourthlevel,   len_fourthlevel,      *fourthno,
02187     fifthlevel,    len_fifthlevel,       *fifthno,
02188     sixthlevel,    len_sixthlevel,       *sixthno, 
02189     seventhlevel,  len_seventhlevel,     *seventhno, 
02190     eighthlevel,   len_eighthlevel,      *eighthno, 
02191     attribute,     len_attribute );
02192 
02193   return(result);
02194 }

Here is the call graph for this function:

static int sasa_c_get_attribute ( char *  xml_attribute,
int *  xml_attribute_length,
int  num_doc,
size_t  parent_nodes_count,
  ... 
) [static]

Definition at line 749 of file sasa_c_f90.c.

References ASSERT, EXIT_FAILURE, EXIT_FOUND, EXIT_NOTFOUND, EXIT_SUCCESS, getXmlInfo(), i, sasa_c_build_xpath_str(), XPATH_NODE_TYPE_ATTRIBUTE, XPATH_START_DESCENDANT_OF_ROOT_NODE, and XPATH_STR_LEN_MAX.

Referenced by sasa_c_get_attri_10th_level(), sasa_c_get_attri_1st_level(), sasa_c_get_attri_2nd_level(), sasa_c_get_attri_3rd_level(), sasa_c_get_attri_4th_level(), sasa_c_get_attri_5th_level(), sasa_c_get_attri_6th_level(), and sasa_c_get_attri_8th_level().

00754 {
00755   va_list nodes;
00756   int     rc=EXIT_SUCCESS;  /* return code */
00757   char    xpath_str[ XPATH_STR_LEN_MAX + 1 ];
00758   int     xpath_str_len;
00759   char    *att=NULL;
00760 
00761   ASSERT( xml_attribute != NULL );
00762   ASSERT( xml_attribute_length != NULL );
00763   ASSERT( parent_nodes_count >= 0 );
00764   
00765   va_start( nodes, parent_nodes_count );
00766 
00767   /* Build the xpath string */
00768   xpath_str_len = sasa_c_build_xpath_str(  
00769     xpath_str,
00770     XPATH_START_DESCENDANT_OF_ROOT_NODE,
00771     XPATH_NODE_TYPE_ATTRIBUTE,
00772     parent_nodes_count,
00773     nodes );
00774 
00775   va_end( nodes );
00776 
00777 
00778 #ifdef DEBUG
00779     printf("sasa_c_get_attribute (level %d) : xpath input : %s\n",
00780       parent_nodes_count, xpath_str); 
00781 #endif
00782 
00783   if ( xpath_str_len > 0 )
00784   {
00785     /* get the attribute with xpath input */
00786     rc = getXmlInfo(num_doc, xpath_str, &att);
00787     if (rc == EXIT_FOUND)
00788       {
00789         (void)strcpy (xml_attribute, (const char*)att );
00790         /* since the string passed to Fortran is blank-terminated,
00791           the Fortran procedure can use the trim_len */
00792         *xml_attribute_length = strlen(xml_attribute);
00793         xml_attribute[strlen (xml_attribute)]=' '; /* the '\0' */
00794         rc = EXIT_SUCCESS;
00795 
00796 #ifdef DEBUG
00797     printf("sasa_c_get_attribute (level %d) : xml_attribute : %s\n",
00798       parent_nodes_count, att);
00799 #endif
00800       }
00801     else if (rc == EXIT_NOTFOUND)
00802       {
00803         int i;
00804         for(i=0;i < 256; i++) *(xml_attribute+i)=' ';
00805         *xml_attribute_length = 0;
00806         rc = EXIT_SUCCESS;
00807 #ifdef DEBUG
00808     printf("sasa_c_get_attribute (level %d) : not found\n",
00809       parent_nodes_count);
00810 #endif
00811       }
00812     if (att != NULL) free ((void*)att); 
00813   }
00814   else
00815   {
00816     rc = EXIT_FAILURE;
00817 
00818 #ifdef DEBUG
00819     printf("sasa_c_get_attribute (level %d) : ERROR : building xpath string\n",
00820       parent_nodes_count );
00821     printf("sasa_c_get_attribute (level %d) : return code %d\n",
00822       parent_nodes_count, xpath_str_len );
00823 #endif
00824   }
00825 
00826 #ifdef DEBUG
00827   puts("--------------------------------------------------------");
00828 #endif
00829 
00830   return (rc);
00831 
00832 } /* sasa_c_get_attribute */  

Here is the call graph for this function:

Here is the caller graph for this function:

int sasa_c_get_element_10th_level_c ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  fourthlevel,
int *  fourthno,
char *  fifthlevel,
int *  fifthno,
char *  sixthlevel,
int *  sixthno,
char *  seventhlevel,
int *  seventhno,
char *  eighthlevel,
int *  eighthno,
char *  ninthlevel,
int *  ninthno,
char *  tenthlevel,
int *  tenthno,
char *  element,
int *  elementno,
char *  xml_element,
int *  xml_element_length,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_fourthlevel,
int  len_fifthlevel,
int  len_sixthlevel,
int  len_seventhlevel,
int  len_eighthlevel,
int  len_ninthlevel,
int  len_tenthlevel,
int  len_element,
int  len_xml_element 
)

Definition at line 3271 of file sasa_c_f90.c.

References sasa_c_get_element_c().

03308 {
03309   int result;
03310 
03311   result = sasa_c_get_element_c(
03312     xml_element,  xml_element_length, *num_doc, 10,
03313     firstlevel,   len_firstlevel,     *firstno, 
03314     secondlevel,  len_secondlevel,    *secondno, 
03315     thirdlevel,   len_thirdlevel,     *thirdno, 
03316     fourthlevel,  len_fourthlevel,    *fourthno, 
03317     fifthlevel,   len_fifthlevel,     *fifthno, 
03318     sixthlevel,   len_sixthlevel,     *sixthno, 
03319     seventhlevel, len_seventhlevel,   *seventhno, 
03320     eighthlevel,  len_eighthlevel,    *eighthno, 
03321     ninthlevel,   len_ninthlevel,     *ninthno, 
03322     tenthlevel,   len_tenthlevel,     *tenthno, 
03323     element,      len_element,        *elementno );
03324 
03325   return(result);
03326 }

Here is the call graph for this function:

int sasa_c_get_element_10th_level_d ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  fourthlevel,
int *  fourthno,
char *  fifthlevel,
int *  fifthno,
char *  sixthlevel,
int *  sixthno,
char *  seventhlevel,
int *  seventhno,
char *  eighthlevel,
int *  eighthno,
char *  ninthlevel,
int *  ninthno,
char *  tenthlevel,
int *  tenthno,
char *  element,
int *  elementno,
double *  xml_element,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_fourthlevel,
int  len_fifthlevel,
int  len_sixthlevel,
int  len_seventhlevel,
int  len_eighthlevel,
int  len_ninthlevel,
int  len_tenthlevel,
int  len_element 
)

Definition at line 3385 of file sasa_c_f90.c.

References sasa_c_get_element_d().

03420 {
03421   int result;
03422 
03423   result = sasa_c_get_element_d(
03424     xml_element,  *num_doc, 10,
03425     firstlevel,   len_firstlevel,     *firstno, 
03426     secondlevel,  len_secondlevel,    *secondno, 
03427     thirdlevel,   len_thirdlevel,     *thirdno, 
03428     fourthlevel,  len_fourthlevel,    *fourthno, 
03429     fifthlevel,   len_fifthlevel,     *fifthno, 
03430     sixthlevel,   len_sixthlevel,     *sixthno, 
03431     seventhlevel, len_seventhlevel,   *seventhno, 
03432     eighthlevel,  len_eighthlevel,    *eighthno, 
03433     ninthlevel,   len_ninthlevel,     *ninthno, 
03434     tenthlevel,   len_tenthlevel,     *tenthno, 
03435     element,      len_element,        *elementno );
03436 
03437   return(result);
03438 }

Here is the call graph for this function:

int sasa_c_get_element_10th_level_i ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  fourthlevel,
int *  fourthno,
char *  fifthlevel,
int *  fifthno,
char *  sixthlevel,
int *  sixthno,
char *  seventhlevel,
int *  seventhno,
char *  eighthlevel,
int *  eighthno,
char *  ninthlevel,
int *  ninthno,
char *  tenthlevel,
int *  tenthno,
char *  element,
int *  elementno,
int *  xml_element,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_fourthlevel,
int  len_fifthlevel,
int  len_sixthlevel,
int  len_seventhlevel,
int  len_eighthlevel,
int  len_ninthlevel,
int  len_tenthlevel,
int  len_element 
)

Definition at line 3329 of file sasa_c_f90.c.

References sasa_c_get_element_i().

03364 {
03365   int result;
03366 
03367   result = sasa_c_get_element_i(
03368     xml_element,  *num_doc, 10,
03369     firstlevel,   len_firstlevel,     *firstno, 
03370     secondlevel,  len_secondlevel,    *secondno, 
03371     thirdlevel,   len_thirdlevel,     *thirdno, 
03372     fourthlevel,  len_fourthlevel,    *fourthno, 
03373     fifthlevel,   len_fifthlevel,     *fifthno, 
03374     sixthlevel,   len_sixthlevel,     *sixthno, 
03375     seventhlevel, len_seventhlevel,   *seventhno, 
03376     eighthlevel,  len_eighthlevel,    *eighthno, 
03377     ninthlevel,   len_ninthlevel,     *ninthno, 
03378     tenthlevel,   len_tenthlevel,     *tenthno, 
03379     element,      len_element,        *elementno );
03380 
03381   return(result);
03382 }

Here is the call graph for this function:

int sasa_c_get_element_1st_level_c ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  element,
int *  elementno,
char *  xml_element,
int *  xml_element_length,
int  len_firstlevel,
int  len_element,
int  len_xml_element 
)

Definition at line 2272 of file sasa_c_f90.c.

References sasa_c_get_element_c().

02282 {
02283   int result;
02284 
02285   result = sasa_c_get_element_c(
02286     xml_element, xml_element_length, *num_doc, 1,
02287     firstlevel,  len_firstlevel,     *firstno, 
02288     element,     len_element,        *elementno );
02289 
02290   return(result);
02291 }

Here is the call graph for this function:

int sasa_c_get_element_1st_level_d ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  element,
int *  elementno,
double *  xml_element,
int  len_firstlevel,
int  len_element 
)

Definition at line 2328 of file sasa_c_f90.c.

References sasa_c_get_element_d().

02336 {
02337   int result;
02338 
02339   result = sasa_c_get_element_d(
02340     xml_element, *num_doc, 1,
02341     firstlevel,  len_firstlevel,     *firstno, 
02342     element,     len_element,        *elementno );
02343 
02344   return(result);
02345 }

Here is the call graph for this function:

int sasa_c_get_element_1st_level_i ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  element,
int *  elementno,
int *  xml_element,
int  len_firstlevel,
int  len_element 
)

Definition at line 2308 of file sasa_c_f90.c.

References sasa_c_get_element_i().

02316 {
02317   int result;
02318 
02319   result = sasa_c_get_element_i(
02320     xml_element, *num_doc, 1,
02321     firstlevel,  len_firstlevel,     *firstno, 
02322     element,     len_element,        *elementno );
02323 
02324   return(result);
02325 }

Here is the call graph for this function:

int sasa_c_get_element_2nd_level_c ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  element,
int *  elementno,
char *  xml_element,
int *  xml_element_length,
int  len_firstlevel,
int  len_secondlevel,
int  len_element,
int  len_xml_element 
)

Definition at line 2348 of file sasa_c_f90.c.

References sasa_c_get_element_c().

02361 {
02362   int result;
02363 
02364   result = sasa_c_get_element_c(
02365     xml_element, xml_element_length, *num_doc, 2,
02366     firstlevel,  len_firstlevel,     *firstno, 
02367     secondlevel, len_secondlevel,    *secondno, 
02368     element,     len_element,        *elementno );
02369 
02370   return(result);
02371 }

Here is the call graph for this function:

int sasa_c_get_element_2nd_level_d ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  element,
int *  elementno,
double *  xml_element,
int  len_firstlevel,
int  len_secondlevel,
int  len_element 
)

Definition at line 2398 of file sasa_c_f90.c.

References sasa_c_get_element_d().

02409 {
02410   int result;
02411 
02412   result = sasa_c_get_element_d(
02413     xml_element, *num_doc, 2,
02414     firstlevel,  len_firstlevel,     *firstno, 
02415     secondlevel, len_secondlevel,    *secondno, 
02416     element,     len_element,        *elementno );
02417 
02418   return(result);
02419 }

Here is the call graph for this function:

int sasa_c_get_element_2nd_level_i ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  element,
int *  elementno,
int *  xml_element,
int  len_firstlevel,
int  len_secondlevel,
int  len_element 
)

Definition at line 2374 of file sasa_c_f90.c.

References sasa_c_get_element_i().

02385 {
02386   int result;
02387 
02388   result = sasa_c_get_element_i(
02389     xml_element, *num_doc, 2,
02390     firstlevel,  len_firstlevel,     *firstno, 
02391     secondlevel, len_secondlevel,    *secondno, 
02392     element,     len_element,        *elementno );
02393 
02394   return(result);
02395 }

Here is the call graph for this function:

int sasa_c_get_element_3rd_level_c ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  element,
int *  elementno,
char *  xml_element,
int *  xml_element_length,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_element,
int  len_xml_element 
)

Definition at line 2422 of file sasa_c_f90.c.

References sasa_c_get_element_c().

02438 {
02439   int result;
02440 
02441   result = sasa_c_get_element_c(
02442     xml_element, xml_element_length, *num_doc, 3,
02443     firstlevel,  len_firstlevel,     *firstno, 
02444     secondlevel, len_secondlevel,    *secondno, 
02445     thirdlevel,  len_thirdlevel,     *thirdno, 
02446     element,     len_element,        *elementno );
02447 
02448   return(result);
02449 }

Here is the call graph for this function:

int sasa_c_get_element_3rd_level_d ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  element,
int *  elementno,
double *  xml_element,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_element 
)

Definition at line 2480 of file sasa_c_f90.c.

References sasa_c_get_element_d().

02494 {
02495   int result;
02496 
02497   result = sasa_c_get_element_d(
02498     xml_element, *num_doc, 3,
02499     firstlevel,  len_firstlevel,     *firstno, 
02500     secondlevel, len_secondlevel,    *secondno, 
02501     thirdlevel,  len_thirdlevel,     *thirdno, 
02502     element,     len_element,        *elementno );
02503 
02504   return(result);
02505 }

Here is the call graph for this function:

int sasa_c_get_element_3rd_level_i ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  element,
int *  elementno,
int *  xml_element,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_element 
)

Definition at line 2452 of file sasa_c_f90.c.

References sasa_c_get_element_i().

02466 {
02467   int result;
02468 
02469   result = sasa_c_get_element_i(
02470     xml_element, *num_doc, 3,
02471     firstlevel,  len_firstlevel,     *firstno, 
02472     secondlevel, len_secondlevel,    *secondno, 
02473     thirdlevel,  len_thirdlevel,     *thirdno, 
02474     element,     len_element,        *elementno );
02475 
02476   return(result);
02477 }

Here is the call graph for this function:

int sasa_c_get_element_4th_level_c ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  fourthlevel,
int *  fourthno,
char *  element,
int *  elementno,
char *  xml_element,
int *  xml_element_length,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_fourthlevel,
int  len_element,
int  len_xml_element 
)

Definition at line 2508 of file sasa_c_f90.c.

References sasa_c_get_element_c().

02527 {
02528   int result;
02529 
02530   result = sasa_c_get_element_c(
02531     xml_element, xml_element_length, *num_doc, 4,
02532     firstlevel,  len_firstlevel,     *firstno, 
02533     secondlevel, len_secondlevel,    *secondno, 
02534     thirdlevel,  len_thirdlevel,     *thirdno, 
02535     fourthlevel, len_fourthlevel,    *fourthno, 
02536     element,     len_element,        *elementno );
02537 
02538   return(result);
02539 }

Here is the call graph for this function:

int sasa_c_get_element_4th_level_d ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  fourthlevel,
int *  fourthno,
char *  element,
int *  elementno,
double *  xml_element,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_fourthlevel,
int  len_element 
)

Definition at line 2574 of file sasa_c_f90.c.

References sasa_c_get_element_d().

02591 {
02592   int result;
02593 
02594   result = sasa_c_get_element_d(
02595     xml_element, *num_doc, 4,
02596     firstlevel,  len_firstlevel,     *firstno, 
02597     secondlevel, len_secondlevel,    *secondno, 
02598     thirdlevel,  len_thirdlevel,     *thirdno, 
02599     fourthlevel, len_fourthlevel,    *fourthno, 
02600     element,     len_element,        *elementno );
02601 
02602   return(result);
02603 }

Here is the call graph for this function:

int sasa_c_get_element_4th_level_i ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  fourthlevel,
int *  fourthno,
char *  element,
int *  elementno,
int *  xml_element,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_fourthlevel,
int  len_element 
)

Definition at line 2542 of file sasa_c_f90.c.

References sasa_c_get_element_i().

02559 {
02560   int result;
02561 
02562   result = sasa_c_get_element_i(
02563     xml_element, *num_doc, 4,
02564     firstlevel,  len_firstlevel,     *firstno, 
02565     secondlevel, len_secondlevel,    *secondno, 
02566     thirdlevel,  len_thirdlevel,     *thirdno, 
02567     fourthlevel, len_fourthlevel,    *fourthno, 
02568     element,     len_element,        *elementno );
02569 
02570   return(result);
02571 }

Here is the call graph for this function:

int sasa_c_get_element_5th_level_c ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  fourthlevel,
int *  fourthno,
char *  fifthlevel,
int *  fifthno,
char *  element,
int *  elementno,
char *  xml_element,
int *  xml_element_length,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_fourthlevel,
int  len_fifthlevel,
int  len_element,
int  len_xml_element 
)

Definition at line 2606 of file sasa_c_f90.c.

References sasa_c_get_element_c().

02628 {
02629   int result;
02630 
02631   result = sasa_c_get_element_c(
02632     xml_element, xml_element_length, *num_doc, 5,
02633     firstlevel,  len_firstlevel,     *firstno, 
02634     secondlevel, len_secondlevel,    *secondno, 
02635     thirdlevel,  len_thirdlevel,     *thirdno, 
02636     fourthlevel, len_fourthlevel,    *fourthno, 
02637     fifthlevel,  len_fifthlevel,     *fifthno, 
02638     element,     len_element,        *elementno );
02639 
02640   return(result);
02641 }

Here is the call graph for this function:

int sasa_c_get_element_5th_level_d ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  fourthlevel,
int *  fourthno,
char *  fifthlevel,
int *  fifthno,
char *  element,
int *  elementno,
double *  xml_element,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_fourthlevel,
int  len_fifthlevel,
int  len_element 
)

Definition at line 2680 of file sasa_c_f90.c.

References sasa_c_get_element_d().

02700 {
02701   int result;
02702 
02703   result = sasa_c_get_element_d(
02704     xml_element, *num_doc, 5,
02705     firstlevel,  len_firstlevel,     *firstno, 
02706     secondlevel, len_secondlevel,    *secondno, 
02707     thirdlevel,  len_thirdlevel,     *thirdno, 
02708     fourthlevel, len_fourthlevel,    *fourthno, 
02709     fifthlevel,  len_fifthlevel,     *fifthno, 
02710     element,     len_element,        *elementno );
02711 
02712   return(result);
02713 }

Here is the call graph for this function:

int sasa_c_get_element_5th_level_i ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  fourthlevel,
int *  fourthno,
char *  fifthlevel,
int *  fifthno,
char *  element,
int *  elementno,
int *  xml_element,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_fourthlevel,
int  len_fifthlevel,
int  len_element 
)

Definition at line 2644 of file sasa_c_f90.c.

References sasa_c_get_element_i().

02664 {
02665   int result;
02666 
02667   result = sasa_c_get_element_i(
02668     xml_element, *num_doc, 5,
02669     firstlevel,  len_firstlevel,     *firstno, 
02670     secondlevel, len_secondlevel,    *secondno, 
02671     thirdlevel,  len_thirdlevel,     *thirdno, 
02672     fourthlevel, len_fourthlevel,    *fourthno, 
02673     fifthlevel,  len_fifthlevel,     *fifthno, 
02674     element,     len_element,        *elementno );
02675 
02676   return(result);
02677 }

Here is the call graph for this function:

int sasa_c_get_element_6th_level_c ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  fourthlevel,
int *  fourthno,
char *  fifthlevel,
int *  fifthno,
char *  sixthlevel,
int *  sixthno,
char *  element,
int *  elementno,
char *  xml_element,
int *  xml_element_length,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_fourthlevel,
int  len_fifthlevel,
int  len_sixthlevel,
int  len_element,
int  len_xml_element 
)

Definition at line 2716 of file sasa_c_f90.c.

References sasa_c_get_element_c().

02741 {
02742   int result;
02743 
02744   result = sasa_c_get_element_c(
02745     xml_element, xml_element_length, *num_doc, 6,
02746     firstlevel,  len_firstlevel,     *firstno, 
02747     secondlevel, len_secondlevel,    *secondno, 
02748     thirdlevel,  len_thirdlevel,     *thirdno, 
02749     fourthlevel, len_fourthlevel,    *fourthno, 
02750     fifthlevel,  len_fifthlevel,     *fifthno, 
02751     sixthlevel,  len_sixthlevel,     *sixthno, 
02752     element,     len_element,        *elementno );
02753 
02754   return(result);
02755 }

Here is the call graph for this function:

int sasa_c_get_element_6th_level_d ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  fourthlevel,
int *  fourthno,
char *  fifthlevel,
int *  fifthno,
char *  sixthlevel,
int *  sixthno,
char *  element,
int *  elementno,
double *  xml_element,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_fourthlevel,
int  len_fifthlevel,
int  len_sixthlevel,
int  len_element 
)

Definition at line 2798 of file sasa_c_f90.c.

References sasa_c_get_element_d().

02821 {
02822   int result;
02823 
02824   result = sasa_c_get_element_d(
02825     xml_element, *num_doc, 6,
02826     firstlevel,  len_firstlevel,     *firstno, 
02827     secondlevel, len_secondlevel,    *secondno, 
02828     thirdlevel,  len_thirdlevel,     *thirdno, 
02829     fourthlevel, len_fourthlevel,    *fourthno, 
02830     fifthlevel,  len_fifthlevel,     *fifthno, 
02831     sixthlevel,  len_sixthlevel,     *sixthno, 
02832     element,     len_element,        *elementno );
02833 
02834   return(result);
02835 }

Here is the call graph for this function:

int sasa_c_get_element_6th_level_i ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  fourthlevel,
int *  fourthno,
char *  fifthlevel,
int *  fifthno,
char *  sixthlevel,
int *  sixthno,
char *  element,
int *  elementno,
int *  xml_element,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_fourthlevel,
int  len_fifthlevel,
int  len_sixthlevel,
int  len_element 
)

Definition at line 2758 of file sasa_c_f90.c.

References sasa_c_get_element_i().

02781 {
02782   int result;
02783 
02784   result = sasa_c_get_element_i(
02785     xml_element, *num_doc, 6,
02786     firstlevel,  len_firstlevel,     *firstno, 
02787     secondlevel, len_secondlevel,    *secondno, 
02788     thirdlevel,  len_thirdlevel,     *thirdno, 
02789     fourthlevel, len_fourthlevel,    *fourthno, 
02790     fifthlevel,  len_fifthlevel,     *fifthno, 
02791     sixthlevel,  len_sixthlevel,     *sixthno, 
02792     element,     len_element,        *elementno );
02793 
02794   return(result);
02795 }

Here is the call graph for this function:

int sasa_c_get_element_7th_level_c ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  fourthlevel,
int *  fourthno,
char *  fifthlevel,
int *  fifthno,
char *  sixthlevel,
int *  sixthno,
char *  seventhlevel,
int *  seventhno,
char *  element,
int *  elementno,
char *  xml_element,
int *  xml_element_length,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_fourthlevel,
int  len_fifthlevel,
int  len_sixthlevel,
int  len_seventhlevel,
int  len_element,
int  len_xml_element 
)

Definition at line 2838 of file sasa_c_f90.c.

References sasa_c_get_element_c().

02866 {
02867   int result;
02868 
02869   result = sasa_c_get_element_c(
02870     xml_element,  xml_element_length, *num_doc, 7,
02871     firstlevel,   len_firstlevel,     *firstno, 
02872     secondlevel,  len_secondlevel,    *secondno, 
02873     thirdlevel,   len_thirdlevel,     *thirdno, 
02874     fourthlevel,  len_fourthlevel,    *fourthno, 
02875     fifthlevel,   len_fifthlevel,     *fifthno, 
02876     sixthlevel,   len_sixthlevel,     *sixthno, 
02877     seventhlevel, len_seventhlevel,   *seventhno, 
02878     element,      len_element,        *elementno );
02879 
02880   return(result);
02881 }

Here is the call graph for this function:

int sasa_c_get_element_7th_level_d ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  fourthlevel,
int *  fourthno,
char *  fifthlevel,
int *  fifthno,
char *  sixthlevel,
int *  sixthno,
char *  seventhlevel,
int *  seventhno,
char *  element,
int *  elementno,
double *  xml_element,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_fourthlevel,
int  len_fifthlevel,
int  len_sixthlevel,
int  len_seventhlevel,
int  len_element 
)

Definition at line 2927 of file sasa_c_f90.c.

References sasa_c_get_element_d().

02953 {
02954   int result;
02955 
02956   result = sasa_c_get_element_d(
02957     xml_element,  *num_doc, 7,
02958     firstlevel,   len_firstlevel,     *firstno, 
02959     secondlevel,  len_secondlevel,    *secondno, 
02960     thirdlevel,   len_thirdlevel,     *thirdno, 
02961     fourthlevel,  len_fourthlevel,    *fourthno, 
02962     fifthlevel,   len_fifthlevel,     *fifthno, 
02963     sixthlevel,   len_sixthlevel,     *sixthno, 
02964     seventhlevel, len_seventhlevel,   *seventhno, 
02965     element,      len_element,        *elementno );
02966 
02967   return(result);
02968 }

Here is the call graph for this function:

int sasa_c_get_element_7th_level_i ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  fourthlevel,
int *  fourthno,
char *  fifthlevel,
int *  fifthno,
char *  sixthlevel,
int *  sixthno,
char *  seventhlevel,
int *  seventhno,
char *  element,
int *  elementno,
int *  xml_element,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_fourthlevel,
int  len_fifthlevel,
int  len_sixthlevel,
int  len_seventhlevel,
int  len_element 
)

Definition at line 2884 of file sasa_c_f90.c.

References sasa_c_get_element_i().

02910 {
02911   int result;
02912 
02913   result = sasa_c_get_element_i(
02914     xml_element,  *num_doc, 7,
02915     firstlevel,   len_firstlevel,     *firstno, 
02916     secondlevel,  len_secondlevel,    *secondno, 
02917     thirdlevel,   len_thirdlevel,     *thirdno, 
02918     fourthlevel,  len_fourthlevel,    *fourthno, 
02919     fifthlevel,   len_fifthlevel,     *fifthno, 
02920     sixthlevel,   len_sixthlevel,     *sixthno, 
02921     seventhlevel, len_seventhlevel,   *seventhno, 
02922     element,      len_element,        *elementno );
02923 
02924   return(result);
02925 }

Here is the call graph for this function:

int sasa_c_get_element_8th_level_c ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  fourthlevel,
int *  fourthno,
char *  fifthlevel,
int *  fifthno,
char *  sixthlevel,
int *  sixthno,
char *  seventhlevel,
int *  seventhno,
char *  eighthlevel,
int *  eighthno,
char *  element,
int *  elementno,
char *  xml_element,
int *  xml_element_length,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_fourthlevel,
int  len_fifthlevel,
int  len_sixthlevel,
int  len_seventhlevel,
int  len_eighthlevel,
int  len_element,
int  len_xml_element 
)

Definition at line 2970 of file sasa_c_f90.c.

References sasa_c_get_element_c().

03001 {
03002   int result;
03003 
03004   result = sasa_c_get_element_c(
03005     xml_element,  xml_element_length, *num_doc, 8,
03006     firstlevel,   len_firstlevel,     *firstno, 
03007     secondlevel,  len_secondlevel,    *secondno, 
03008     thirdlevel,   len_thirdlevel,     *thirdno, 
03009     fourthlevel,  len_fourthlevel,    *fourthno, 
03010     fifthlevel,   len_fifthlevel,     *fifthno, 
03011     sixthlevel,   len_sixthlevel,     *sixthno, 
03012     seventhlevel, len_seventhlevel,   *seventhno, 
03013     eighthlevel,  len_eighthlevel,    *eighthno, 
03014     element,      len_element,        *elementno );
03015 
03016   return(result);
03017 }

Here is the call graph for this function:

int sasa_c_get_element_8th_level_d ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  fourthlevel,
int *  fourthno,
char *  fifthlevel,
int *  fifthno,
char *  sixthlevel,
int *  sixthno,
char *  seventhlevel,
int *  seventhno,
char *  eighthlevel,
int *  eighthno,
char *  element,
int *  elementno,
double *  xml_element,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_fourthlevel,
int  len_fifthlevel,
int  len_sixthlevel,
int  len_seventhlevel,
int  len_eighthlevel,
int  len_element 
)

Definition at line 3067 of file sasa_c_f90.c.

References sasa_c_get_element_d().

03096 {
03097   int result;
03098 
03099   result = sasa_c_get_element_d(
03100     xml_element,  *num_doc, 8,
03101     firstlevel,   len_firstlevel,     *firstno, 
03102     secondlevel,  len_secondlevel,    *secondno, 
03103     thirdlevel,   len_thirdlevel,     *thirdno, 
03104     fourthlevel,  len_fourthlevel,    *fourthno, 
03105     fifthlevel,   len_fifthlevel,     *fifthno, 
03106     sixthlevel,   len_sixthlevel,     *sixthno, 
03107     seventhlevel, len_seventhlevel,   *seventhno, 
03108     eighthlevel,  len_eighthlevel,    *eighthno, 
03109     element,      len_element,        *elementno );
03110 
03111   return(result);
03112 }

Here is the call graph for this function:

int sasa_c_get_element_8th_level_i ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  fourthlevel,
int *  fourthno,
char *  fifthlevel,
int *  fifthno,
char *  sixthlevel,
int *  sixthno,
char *  seventhlevel,
int *  seventhno,
char *  eighthlevel,
int *  eighthno,
char *  element,
int *  elementno,
int *  xml_element,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_fourthlevel,
int  len_fifthlevel,
int  len_sixthlevel,
int  len_seventhlevel,
int  len_eighthlevel,
int  len_element 
)

Definition at line 3020 of file sasa_c_f90.c.

References sasa_c_get_element_i().

03049 {
03050   int result;
03051 
03052   result = sasa_c_get_element_i(
03053     xml_element,  *num_doc, 8,
03054     firstlevel,   len_firstlevel,     *firstno, 
03055     secondlevel,  len_secondlevel,    *secondno, 
03056     thirdlevel,   len_thirdlevel,     *thirdno, 
03057     fourthlevel,  len_fourthlevel,    *fourthno, 
03058     fifthlevel,   len_fifthlevel,     *fifthno, 
03059     sixthlevel,   len_sixthlevel,     *sixthno, 
03060     seventhlevel, len_seventhlevel,   *seventhno, 
03061     eighthlevel,  len_eighthlevel,    *eighthno, 
03062     element,      len_element,        *elementno );
03063 
03064   return(result);
03065 }

Here is the call graph for this function:

int sasa_c_get_element_9th_level_c ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  fourthlevel,
int *  fourthno,
char *  fifthlevel,
int *  fifthno,
char *  sixthlevel,
int *  sixthno,
char *  seventhlevel,
int *  seventhno,
char *  eighthlevel,
int *  eighthno,
char *  ninthlevel,
int *  ninthno,
char *  element,
int *  elementno,
char *  xml_element,
int *  xml_element_length,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_fourthlevel,
int  len_fifthlevel,
int  len_sixthlevel,
int  len_seventhlevel,
int  len_eighthlevel,
int  len_ninthlevel,
int  len_element,
int  len_xml_element 
)

Definition at line 3114 of file sasa_c_f90.c.

References sasa_c_get_element_c().

03148 {
03149   int result;
03150 
03151   result = sasa_c_get_element_c(
03152     xml_element,  xml_element_length, *num_doc, 9,
03153     firstlevel,   len_firstlevel,     *firstno, 
03154     secondlevel,  len_secondlevel,    *secondno, 
03155     thirdlevel,   len_thirdlevel,     *thirdno, 
03156     fourthlevel,  len_fourthlevel,    *fourthno, 
03157     fifthlevel,   len_fifthlevel,     *fifthno, 
03158     sixthlevel,   len_sixthlevel,     *sixthno, 
03159     seventhlevel, len_seventhlevel,   *seventhno, 
03160     eighthlevel,  len_eighthlevel,    *eighthno, 
03161     ninthlevel,   len_ninthlevel,     *ninthno, 
03162     element,      len_element,        *elementno );
03163 
03164   return(result);
03165 }

Here is the call graph for this function:

int sasa_c_get_element_9th_level_d ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  fourthlevel,
int *  fourthno,
char *  fifthlevel,
int *  fifthno,
char *  sixthlevel,
int *  sixthno,
char *  seventhlevel,
int *  seventhno,
char *  eighthlevel,
int *  eighthno,
char *  ninthlevel,
int *  ninthno,
char *  element,
int *  elementno,
double *  xml_element,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_fourthlevel,
int  len_fifthlevel,
int  len_sixthlevel,
int  len_seventhlevel,
int  len_eighthlevel,
int  len_ninthlevel,
int  len_element 
)

Definition at line 3220 of file sasa_c_f90.c.

References sasa_c_get_element_d().

03252 {
03253   int result;
03254 
03255   result = sasa_c_get_element_d(
03256     xml_element,  *num_doc, 9,
03257     firstlevel,   len_firstlevel,     *firstno, 
03258     secondlevel,  len_secondlevel,    *secondno, 
03259     thirdlevel,   len_thirdlevel,     *thirdno, 
03260     fourthlevel,  len_fourthlevel,    *fourthno, 
03261     fifthlevel,   len_fifthlevel,     *fifthno, 
03262     sixthlevel,   len_sixthlevel,     *sixthno, 
03263     seventhlevel, len_seventhlevel,   *seventhno, 
03264     eighthlevel,  len_eighthlevel,    *eighthno, 
03265     ninthlevel,   len_ninthlevel,     *ninthno, 
03266     element,      len_element,        *elementno );
03267 
03268   return(result);
03269 }

Here is the call graph for this function:

int sasa_c_get_element_9th_level_i ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  fourthlevel,
int *  fourthno,
char *  fifthlevel,
int *  fifthno,
char *  sixthlevel,
int *  sixthno,
char *  seventhlevel,
int *  seventhno,
char *  eighthlevel,
int *  eighthno,
char *  ninthlevel,
int *  ninthno,
char *  element,
int *  elementno,
int *  xml_element,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_fourthlevel,
int  len_fifthlevel,
int  len_sixthlevel,
int  len_seventhlevel,
int  len_eighthlevel,
int  len_ninthlevel,
int  len_element 
)

Definition at line 3168 of file sasa_c_f90.c.

References sasa_c_get_element_i().

03200 {
03201   int result;
03202 
03203   result = sasa_c_get_element_i(
03204     xml_element,  *num_doc, 9,
03205     firstlevel,   len_firstlevel,     *firstno, 
03206     secondlevel,  len_secondlevel,    *secondno, 
03207     thirdlevel,   len_thirdlevel,     *thirdno, 
03208     fourthlevel,  len_fourthlevel,    *fourthno, 
03209     fifthlevel,   len_fifthlevel,     *fifthno, 
03210     sixthlevel,   len_sixthlevel,     *sixthno, 
03211     seventhlevel, len_seventhlevel,   *seventhno, 
03212     eighthlevel,  len_eighthlevel,    *eighthno, 
03213     ninthlevel,   len_ninthlevel,     *ninthno, 
03214     element,      len_element,        *elementno );
03215 
03216   return(result);
03217 }

Here is the call graph for this function:

static int sasa_c_get_element_c ( char *  xml_element,
int *  xml_element_length,
int  num_doc,
size_t  parent_nodes_count,
  ... 
) [static]

Definition at line 910 of file sasa_c_f90.c.

References ASSERT, EXIT_FAILURE, EXIT_FOUND, EXIT_NOTFOUND, EXIT_SUCCESS, getXmlInfo(), length, sasa_c_build_xpath_str(), XPATH_NODE_TYPE_ELEMENT, XPATH_START_DESCENDANT_OF_ROOT_NODE, and XPATH_STR_LEN_MAX.

Referenced by sasa_c_get_element_10th_level_c(), sasa_c_get_element_1st_level_c(), sasa_c_get_element_2nd_level_c(), sasa_c_get_element_3rd_level_c(), sasa_c_get_element_4th_level_c(), sasa_c_get_element_5th_level_c(), sasa_c_get_element_6th_level_c(), sasa_c_get_element_7th_level_c(), sasa_c_get_element_8th_level_c(), sasa_c_get_element_9th_level_c(), and sasa_c_get_element_xpath_c().

00915 {
00916   va_list nodes;
00917   int     rc=EXIT_SUCCESS;  /* return code */
00918   char    xpath_str[ XPATH_STR_LEN_MAX + 1 ];
00919   int     xpath_str_len;
00920   char    *elt=NULL;
00921 
00922   ASSERT( xml_element != NULL );
00923   ASSERT( xml_element_length != NULL );
00924 
00925   va_start( nodes, parent_nodes_count );
00926 
00927   if (parent_nodes_count == (size_t)(-1))
00928   {
00929     /* xpath string is given */
00930     const char *given_xpath = va_arg( nodes, char * ); 
00931     int given_xpath_len = va_arg( nodes, int ); 
00932     
00933     xpath_str_len = (XPATH_STR_LEN_MAX < given_xpath_len) ? XPATH_STR_LEN_MAX : given_xpath_len ;
00934     strncpy (xpath_str, given_xpath, xpath_str_len);
00935     xpath_str[xpath_str_len] = 0;
00936   }
00937   else
00938   {
00939     /* Build the xpath string */
00940     xpath_str_len = sasa_c_build_xpath_str(
00941         xpath_str,
00942         XPATH_START_DESCENDANT_OF_ROOT_NODE,
00943         XPATH_NODE_TYPE_ELEMENT,
00944         parent_nodes_count,
00945         nodes );
00946   }
00947 
00948   va_end( nodes );
00949 
00950   if ( xpath_str_len > 0 )
00951   {
00952 #ifdef DEBUG
00953     printf("sasa_c_get_element_c (level %d) : xpath input : %s\n",
00954       parent_nodes_count, xpath_str);
00955 #endif
00956     /* get the string with xpath input */
00957     rc=getXmlInfo (num_doc, xpath_str, &elt);
00958     if (rc == EXIT_FOUND)
00959       {
00960         int length = 0;
00961         
00962         if (elt != NULL)
00963         {
00964           /* copy all characters except non-printing ones */
00965           char *target = xml_element;
00966           char *source; 
00967           for (source = elt; *source != 0; source += 1)
00968           {
00969             /* Filter out non-printing characters (like new-line) */
00970             if (*source >= 0x20 && *source < 0x7F)
00971             {
00972                 *target++ = *source;
00973                 length += 1;
00974             }
00975           }
00976         }
00977         else
00978         {
00979           length = 0;
00980         }
00981 #ifdef DEBUG
00982         xml_element[length] = 0;
00983         printf("sasa_c_get_element_c (level %d) : xml_element : %s\n",
00984            parent_nodes_count, xml_element);
00985 #endif
00986         *xml_element_length = length;
00987         xml_element[length]=' '; /* the '\0' */
00988         rc = EXIT_SUCCESS;
00989       }
00990     else if (rc == EXIT_NOTFOUND)
00991       {
00992 #ifdef DEBUG
00993         printf("sasa_c_get_element_c (level %d) : element NOT found\n",
00994            parent_nodes_count);
00995 #endif
00996         xml_element[0] = ' ';
00997         *xml_element_length = 0;
00998         rc = EXIT_SUCCESS;
00999       }
01000     if (elt != NULL) free ((void*)elt); 
01001 #ifdef DEBUG
01002     puts("--------------------------------------------------------");
01003 #endif
01004 
01005   }
01006   else
01007   {
01008     rc = EXIT_FAILURE;
01009 
01010 #ifdef DEBUG
01011     printf("sasa_c_get_element_c (level %d) : ERROR : building xpath string\n",
01012       parent_nodes_count );
01013     printf("sasa_c_get_element_c (level %d) : return code %d\n",
01014       parent_nodes_count, xpath_str_len );
01015     puts("--------------------------------------------------------");
01016 #endif
01017   }
01018 
01019   return (rc);
01020 
01021 } /* sasa_c_get_element_c */  

Here is the call graph for this function:

Here is the caller graph for this function:

static int sasa_c_get_element_d ( double *  xml_element,
int  num_doc,
size_t  parent_nodes_count,
  ... 
) [static]

Definition at line 1245 of file sasa_c_f90.c.

References ASSERT, EXIT_FAILURE, EXIT_FOUND, EXIT_NOTFOUND, EXIT_SUCCESS, getXmlInfo(), PSMILE_UNDEF, sasa_c_build_xpath_str(), XPATH_NODE_TYPE_ELEMENT, XPATH_START_DESCENDANT_OF_ROOT_NODE, and XPATH_STR_LEN_MAX.

Referenced by sasa_c_get_element_10th_level_d(), sasa_c_get_element_1st_level_d(), sasa_c_get_element_2nd_level_d(), sasa_c_get_element_3rd_level_d(), sasa_c_get_element_4th_level_d(), sasa_c_get_element_5th_level_d(), sasa_c_get_element_6th_level_d(), sasa_c_get_element_7th_level_d(), sasa_c_get_element_8th_level_d(), and sasa_c_get_element_9th_level_d().

01249 {
01250   va_list nodes;
01251   int     rc=EXIT_SUCCESS;  /* return code */
01252   char    xpath_str[ XPATH_STR_LEN_MAX + 1 ];
01253   int     xpath_str_len;
01254   char    *elt=NULL;
01255 
01256   ASSERT( xml_element != NULL );
01257   ASSERT( parent_nodes_count >= 0 );
01258 
01259   va_start( nodes, parent_nodes_count );
01260 
01261   /* Build the xpath string */
01262   xpath_str_len = sasa_c_build_xpath_str(  
01263     xpath_str,
01264     XPATH_START_DESCENDANT_OF_ROOT_NODE,
01265     XPATH_NODE_TYPE_ELEMENT,
01266     parent_nodes_count,
01267     nodes );
01268 
01269   va_end( nodes );
01270 
01271   if ( xpath_str_len > 0 )
01272   {
01273     /* get the double with xpath input */
01274     rc=getXmlInfo (num_doc, xpath_str, &elt);
01275     if (rc == EXIT_FOUND) 
01276       {
01277         sscanf(elt,"%lf",xml_element);
01278         rc = EXIT_SUCCESS;
01279       }
01280     else if (rc == EXIT_NOTFOUND)
01281       {
01282         *xml_element = PSMILE_UNDEF;
01283         rc = EXIT_SUCCESS;
01284       }    
01285     free ((void*)elt); 
01286 
01287 #ifdef DEBUG
01288     printf("sasa_c_get_element_d (level %d) : xpath input : %s\n",
01289       parent_nodes_count, xpath_str);
01290     printf("sasa_c_get_element_d (level %d) : xml_element : %lf\n",
01291       parent_nodes_count, *xml_element);
01292     puts("--------------------------------------------------------");
01293 #endif
01294   }
01295   else
01296   {
01297     rc = EXIT_FAILURE;
01298 
01299 #ifdef DEBUG
01300     printf("sasa_c_get_element_d (level %d) : ERROR : building xpath string\n",
01301       parent_nodes_count );
01302     printf("sasa_c_get_element_d (level %d) : return code %d\n",
01303       parent_nodes_count, xpath_str_len );
01304     puts("--------------------------------------------------------");
01305 #endif
01306   }
01307 
01308   return (rc);
01309 
01310 } /* sasa_c_get_element_d */  

Here is the call graph for this function:

Here is the caller graph for this function:

static int sasa_c_get_element_i ( int *  xml_element,
int  num_doc,
size_t  parent_nodes_count,
  ... 
) [static]

Definition at line 1100 of file sasa_c_f90.c.

References ASSERT, EXIT_FAILURE, EXIT_FOUND, EXIT_NOTFOUND, EXIT_SUCCESS, getXmlInfo(), PSMILE_UNDEF, sasa_c_build_xpath_str(), XPATH_NODE_TYPE_ELEMENT, XPATH_START_DESCENDANT_OF_ROOT_NODE, and XPATH_STR_LEN_MAX.

Referenced by sasa_c_get_element_10th_level_i(), sasa_c_get_element_1st_level_i(), sasa_c_get_element_2nd_level_i(), sasa_c_get_element_3rd_level_i(), sasa_c_get_element_4th_level_i(), sasa_c_get_element_5th_level_i(), sasa_c_get_element_6th_level_i(), sasa_c_get_element_7th_level_i(), sasa_c_get_element_8th_level_i(), sasa_c_get_element_9th_level_i(), and sasa_c_get_element_xpath_i().

01104 {
01105   va_list nodes;
01106   int     rc=EXIT_SUCCESS;  /* return code */
01107   char    xpath_str[ XPATH_STR_LEN_MAX + 1 ];
01108   int     xpath_str_len;
01109   char    *elt=NULL;
01110   
01111   ASSERT( xml_element != NULL );
01112 
01113   va_start( nodes, parent_nodes_count );
01114 
01115   if (parent_nodes_count == (size_t)(-1))
01116   {
01117     /* xpath string is given */
01118     const char *given_xpath = va_arg( nodes, char * ); 
01119     int given_xpath_len = va_arg( nodes, int ); 
01120     
01121     xpath_str_len = (XPATH_STR_LEN_MAX < given_xpath_len) ? XPATH_STR_LEN_MAX : given_xpath_len ;
01122     strncpy (xpath_str, given_xpath, xpath_str_len);
01123     xpath_str[xpath_str_len] = 0;
01124   }
01125   else
01126   {
01127     /* Build the xpath string */
01128     xpath_str_len = sasa_c_build_xpath_str(
01129         xpath_str,
01130         XPATH_START_DESCENDANT_OF_ROOT_NODE,
01131         XPATH_NODE_TYPE_ELEMENT,
01132         parent_nodes_count,
01133         nodes );
01134   }
01135 
01136   va_end( nodes );
01137 
01138   if ( xpath_str_len > 0 )
01139   {
01140     /* get the integer with xpath input */
01141     rc=getXmlInfo (num_doc, xpath_str, &elt);
01142     if (rc == EXIT_FOUND) 
01143       {
01144         *xml_element = atoi(elt);
01145         rc = EXIT_SUCCESS;
01146       }
01147     else if (rc == EXIT_NOTFOUND)
01148       {
01149         *xml_element = PSMILE_UNDEF;
01150         rc = EXIT_SUCCESS;
01151       }    
01152     free ((void*)elt); 
01153 
01154 #ifdef DEBUG
01155     printf("sasa_c_get_element_i (level %d) : xpath input : %s\n",
01156       parent_nodes_count, xpath_str);
01157     printf("sasa_c_get_element_i (level %d) : xml_element : %d\n",
01158       parent_nodes_count, *xml_element);
01159     puts("--------------------------------------------------------");
01160 #endif
01161   }
01162   else
01163   {
01164     rc = EXIT_FAILURE;
01165 
01166 #ifdef DEBUG
01167     printf("sasa_c_get_element_i (level %d) : ERROR : building xpath string\n",
01168       parent_nodes_count );
01169     printf("sasa_c_get_element_i (level %d) : return code %d\n",
01170       parent_nodes_count, xpath_str_len );
01171     puts("--------------------------------------------------------");
01172 #endif
01173   }
01174 
01175   return (rc);
01176 
01177 } /* sasa_c_get_element_i */  

Here is the call graph for this function:

Here is the caller graph for this function:

int sasa_c_get_element_xpath_c ( int *  num_doc,
char *  xpath,
char *  xml_element,
int *  xml_element_length,
int  len_xpath,
int  len_xml_element 
)

Definition at line 2255 of file sasa_c_f90.c.

References sasa_c_get_element_c().

02261 {
02262   int result;
02263 
02264   result = sasa_c_get_element_c(
02265     xml_element, xml_element_length, *num_doc, -1,
02266     xpath, len_xpath);
02267 
02268   return(result);
02269 }

Here is the call graph for this function:

int sasa_c_get_element_xpath_i ( int *  num_doc,
char *  xpath,
int *  xml_element,
int  len_xpath 
)

Definition at line 2294 of file sasa_c_f90.c.

References sasa_c_get_element_i().

02298 {
02299   int result;
02300 
02301   result = sasa_c_get_element_i(
02302     xml_element, *num_doc, -1, xpath, len_xpath);
02303 
02304   return(result);
02305 }

Here is the call graph for this function:

static int sasa_c_get_number ( int *  xml_number,
int  num_doc,
size_t  nodes_count,
  ... 
) [static]

Definition at line 615 of file sasa_c_f90.c.

References ASSERT, EXIT_FAILURE, EXIT_SUCCESS, getXmlNodeCount(), sasa_c_build_xpath_str(), mpp_mod_oa::stdout(), XPATH_NODE_TYPE_ELEMENT, XPATH_START_CHILD_OF_CURRENT_NODE, and XPATH_STR_LEN_MAX.

Referenced by sasa_c_get_number_10th_level(), sasa_c_get_number_11th_level(), sasa_c_get_number_1st_level(), sasa_c_get_number_2nd_level(), sasa_c_get_number_3rd_level(), sasa_c_get_number_4th_level(), sasa_c_get_number_5th_level(), sasa_c_get_number_6th_level(), sasa_c_get_number_7th_level(), sasa_c_get_number_8th_level(), and sasa_c_get_number_9th_level().

00619 {
00620   va_list nodes;
00621   int     rc=EXIT_SUCCESS;  /* return code */
00622   char    xpath_str[ XPATH_STR_LEN_MAX + 1 ];
00623   int     xpath_str_len;
00624   int     number;
00625  
00626   ASSERT( xml_number != NULL );
00627   ASSERT( nodes_count > 0 );
00628 
00629   va_start( nodes, nodes_count );
00630 
00631   /* Build the xpath string (-1 to get number of parent nodes) */
00632   xpath_str_len = sasa_c_build_xpath_str(  
00633     xpath_str,
00634     XPATH_START_CHILD_OF_CURRENT_NODE,
00635     XPATH_NODE_TYPE_ELEMENT,
00636     nodes_count - 1,
00637     nodes );
00638 
00639   va_end( nodes );
00640 
00641   if ( xpath_str_len > 0 )
00642   {
00643 #ifdef DEBUG
00644     printf("sasa_c_get_number (level %d) : xpath input : %s\n",
00645       nodes_count, xpath_str);
00646     fflush(stdout);
00647 #endif
00648     /* get the number with xpath input */
00649     rc=getXmlNodeCount (num_doc, xpath_str, &number);
00650     /* if returned value is EXIT_FOUND or EXIT_NOTFOUND */
00651     if (rc != EXIT_FAILURE)
00652        rc = EXIT_SUCCESS;
00653 
00654     *xml_number=number;
00655 
00656 #ifdef DEBUG
00657     printf("sasa_c_get_number (level %d) : number : %d\n",
00658       nodes_count, *xml_number);
00659     puts("--------------------------------------------------------");
00660 #endif
00661   }
00662   else
00663   {
00664     rc = EXIT_FAILURE;
00665 
00666 #ifdef DEBUG
00667     printf("sasa_c_get_number (level %d) : ERROR : building xpath string\n",
00668       nodes_count );
00669     printf("sasa_c_get_number (level %d) : return code %d\n",
00670       nodes_count, xpath_str_len );
00671     puts("--------------------------------------------------------");
00672 #endif
00673   }
00674 
00675   return (rc);
00676 
00677 } /* sasa_c_get_number */  

Here is the call graph for this function:

Here is the caller graph for this function:

int sasa_c_get_number_10th_level ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  fourthlevel,
int *  fourthno,
char *  fifthlevel,
int *  fifthno,
char *  sixthlevel,
int *  sixthno,
char *  seventhlevel,
int *  seventhno,
char *  eighthlevel,
int *  eighthno,
char *  ninthlevel,
int *  ninthno,
char *  tenthlevel,
int *  xml_number,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_fourthlevel,
int  len_fifthlevel,
int  len_sixthlevel,
int  len_seventhlevel,
int  len_eighthlevel,
int  len_ninthlevel,
int  len_tenthlevel 
)

Definition at line 1856 of file sasa_c_f90.c.

References sasa_c_get_number().

01887 {
01888   int result;
01889 
01890   result = sasa_c_get_number(
01891     xml_number,   *num_doc,  10,
01892     firstlevel,   len_firstlevel,   *firstno,
01893     secondlevel,  len_secondlevel,  *secondno,
01894     thirdlevel,   len_thirdlevel,   *thirdno,
01895     fourthlevel,  len_fourthlevel,  *fourthno,
01896     fifthlevel,   len_fifthlevel,   *fifthno,
01897     sixthlevel,   len_sixthlevel,   *sixthno,
01898     seventhlevel, len_seventhlevel, *seventhno,
01899     eighthlevel,  len_eighthlevel,  *eighthno,
01900     ninthlevel,   len_ninthlevel,   *ninthno,
01901     tenthlevel,   len_tenthlevel,   0 );
01902 
01903   return(result);
01904 }

Here is the call graph for this function:

int sasa_c_get_number_11th_level ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  fourthlevel,
int *  fourthno,
char *  fifthlevel,
int *  fifthno,
char *  sixthlevel,
int *  sixthno,
char *  seventhlevel,
int *  seventhno,
char *  eighthlevel,
int *  eighthno,
char *  ninthlevel,
int *  ninthno,
char *  tenthlevel,
int *  tenthno,
char *  elethlevel,
int *  xml_number,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_fourthlevel,
int  len_fifthlevel,
int  len_sixthlevel,
int  len_seventhlevel,
int  len_eighthlevel,
int  len_ninthlevel,
int  len_tenthlevel,
int  len_elethlevel 
)

Definition at line 1906 of file sasa_c_f90.c.

References sasa_c_get_number().

01940 {
01941   int result;
01942 
01943   result = sasa_c_get_number(
01944     xml_number,   *num_doc,  11,
01945     firstlevel,   len_firstlevel,   *firstno,
01946     secondlevel,  len_secondlevel,  *secondno,
01947     thirdlevel,   len_thirdlevel,   *thirdno,
01948     fourthlevel,  len_fourthlevel,  *fourthno,
01949     fifthlevel,   len_fifthlevel,   *fifthno,
01950     sixthlevel,   len_sixthlevel,   *sixthno,
01951     seventhlevel, len_seventhlevel, *seventhno,
01952     eighthlevel,  len_eighthlevel,  *eighthno,
01953     ninthlevel,   len_ninthlevel,   *ninthno,
01954     tenthlevel,   len_tenthlevel,   *tenthno,
01955     elethlevel,   len_elethlevel,   0 );
01956 
01957   return(result);
01958 }

Here is the call graph for this function:

int sasa_c_get_number_1st_level ( int *  num_doc,
char *  firstlevel,
int *  xml_number,
int  len_firstlevel 
)

Definition at line 1578 of file sasa_c_f90.c.

References sasa_c_get_number().

01582 {
01583   int result;
01584 
01585   result = sasa_c_get_number(
01586     xml_number, *num_doc, 1,
01587     firstlevel, len_firstlevel, 0 );
01588 
01589   return(result);
01590 }

Here is the call graph for this function:

int sasa_c_get_number_2nd_level ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  xml_number,
int  len_firstlevel,
int  len_secondlevel 
)

Definition at line 1593 of file sasa_c_f90.c.

References sasa_c_get_number().

01600 {
01601   int result;
01602 
01603   result = sasa_c_get_number(
01604     xml_number, *num_doc, 2,
01605     firstlevel,  len_firstlevel,  *firstno,
01606     secondlevel, len_secondlevel, 0 );
01607 
01608   return(result);
01609 }

Here is the call graph for this function:

int sasa_c_get_number_3rd_level ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  xml_number,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel 
)

Definition at line 1612 of file sasa_c_f90.c.

References sasa_c_get_number().

01622 {
01623   int result;
01624 
01625   result = sasa_c_get_number(
01626     xml_number, *num_doc, 3,
01627     firstlevel,  len_firstlevel,  *firstno,
01628     secondlevel, len_secondlevel, *secondno,
01629     thirdlevel,  len_thirdlevel,  0 );
01630 
01631   return(result);
01632 }

Here is the call graph for this function:

int sasa_c_get_number_4th_level ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  fourthlevel,
int *  xml_number,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_fourthlevel 
)

Definition at line 1635 of file sasa_c_f90.c.

References sasa_c_get_number().

01648 {
01649   int result;
01650 
01651   result = sasa_c_get_number(
01652     xml_number, *num_doc, 4,
01653     firstlevel,  len_firstlevel,  *firstno,
01654     secondlevel, len_secondlevel, *secondno,
01655     thirdlevel,  len_thirdlevel,  *thirdno,
01656     fourthlevel, len_fourthlevel, 0 );
01657 
01658   return(result);
01659 }

Here is the call graph for this function:

int sasa_c_get_number_5th_level ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  fourthlevel,
int *  fourthno,
char *  fifthlevel,
int *  xml_number,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_fourthlevel,
int  len_fifthlevel 
)

Definition at line 1662 of file sasa_c_f90.c.

References sasa_c_get_number().

01678 {
01679   int result;
01680 
01681   result = sasa_c_get_number(
01682     xml_number, *num_doc, 5,
01683     firstlevel,  len_firstlevel,  *firstno,
01684     secondlevel, len_secondlevel, *secondno,
01685     thirdlevel,  len_thirdlevel,  *thirdno,
01686     fourthlevel, len_fourthlevel, *fourthno,
01687     fifthlevel,  len_fifthlevel,  0 );
01688 
01689   return(result);
01690 }

Here is the call graph for this function:

int sasa_c_get_number_6th_level ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  fourthlevel,
int *  fourthno,
char *  fifthlevel,
int *  fifthno,
char *  sixthlevel,
int *  xml_number,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_fourthlevel,
int  len_fifthlevel,
int  len_sixthlevel 
)

Definition at line 1693 of file sasa_c_f90.c.

References sasa_c_get_number().

01712 {
01713   int result;
01714 
01715   result = sasa_c_get_number(
01716     xml_number, *num_doc, 6,
01717     firstlevel,  len_firstlevel,  *firstno,
01718     secondlevel, len_secondlevel, *secondno,
01719     thirdlevel,  len_thirdlevel,  *thirdno,
01720     fourthlevel, len_fourthlevel, *fourthno,
01721     fifthlevel,  len_fifthlevel,  *fifthno,
01722     sixthlevel,  len_sixthlevel,  0 );
01723 
01724   return(result);
01725 }

Here is the call graph for this function:

int sasa_c_get_number_7th_level ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  fourthlevel,
int *  fourthno,
char *  fifthlevel,
int *  fifthno,
char *  sixthlevel,
int *  sixthno,
char *  seventhlevel,
int *  xml_number,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_fourthlevel,
int  len_fifthlevel,
int  len_sixthlevel,
int  len_seventhlevel 
)

Definition at line 1728 of file sasa_c_f90.c.

References sasa_c_get_number().

01750 {
01751   int result;
01752 
01753   result = sasa_c_get_number(
01754     xml_number,   *num_doc,  7,
01755     firstlevel,   len_firstlevel,   *firstno,
01756     secondlevel,  len_secondlevel,  *secondno,
01757     thirdlevel,   len_thirdlevel,   *thirdno,
01758     fourthlevel,  len_fourthlevel,  *fourthno,
01759     fifthlevel,   len_fifthlevel,   *fifthno,
01760     sixthlevel,   len_sixthlevel,   *sixthno,
01761     seventhlevel, len_seventhlevel, 0 );
01762 
01763   return(result);
01764 }

Here is the call graph for this function:

int sasa_c_get_number_8th_level ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  fourthlevel,
int *  fourthno,
char *  fifthlevel,
int *  fifthno,
char *  sixthlevel,
int *  sixthno,
char *  seventhlevel,
int *  seventhno,
char *  eighthlevel,
int *  xml_number,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_fourthlevel,
int  len_fifthlevel,
int  len_sixthlevel,
int  len_seventhlevel,
int  len_eighthlevel 
)

Definition at line 1767 of file sasa_c_f90.c.

References sasa_c_get_number().

01792 {
01793   int result;
01794 
01795   result = sasa_c_get_number(
01796     xml_number,   *num_doc,  8,
01797     firstlevel,   len_firstlevel,   *firstno,
01798     secondlevel,  len_secondlevel,  *secondno,
01799     thirdlevel,   len_thirdlevel,   *thirdno,
01800     fourthlevel,  len_fourthlevel,  *fourthno,
01801     fifthlevel,   len_fifthlevel,   *fifthno,
01802     sixthlevel,   len_sixthlevel,   *sixthno,
01803     seventhlevel, len_seventhlevel, *seventhno,
01804     eighthlevel,  len_eighthlevel,  0 );
01805 
01806   return(result);
01807 }

Here is the call graph for this function:

int sasa_c_get_number_9th_level ( int *  num_doc,
char *  firstlevel,
int *  firstno,
char *  secondlevel,
int *  secondno,
char *  thirdlevel,
int *  thirdno,
char *  fourthlevel,
int *  fourthno,
char *  fifthlevel,
int *  fifthno,
char *  sixthlevel,
int *  sixthno,
char *  seventhlevel,
int *  seventhno,
char *  eighthlevel,
int *  eighthno,
char *  ninthlevel,
int *  xml_number,
int  len_firstlevel,
int  len_secondlevel,
int  len_thirdlevel,
int  len_fourthlevel,
int  len_fifthlevel,
int  len_sixthlevel,
int  len_seventhlevel,
int  len_eighthlevel,
int  len_ninthlevel 
)

Definition at line 1810 of file sasa_c_f90.c.

References sasa_c_get_number().

01838 {
01839   int result;
01840 
01841   result = sasa_c_get_number(
01842     xml_number,   *num_doc,  9,
01843     firstlevel,   len_firstlevel,   *firstno,
01844     secondlevel,  len_secondlevel,  *secondno,
01845     thirdlevel,   len_thirdlevel,   *thirdno,
01846     fourthlevel,  len_fourthlevel,  *fourthno,
01847     fifthlevel,   len_fifthlevel,   *fifthno,
01848     sixthlevel,   len_sixthlevel,   *sixthno,
01849     seventhlevel, len_seventhlevel, *seventhno,
01850     eighthlevel,  len_eighthlevel,  *eighthno,
01851     ninthlevel,   len_ninthlevel,   0 );
01852 
01853   return(result);
01854 }

Here is the call graph for this function:

int sasa_c_read_file ( char *  xml_file_name,
int *  len_file_name,
int  len_declared 
)

Definition at line 524 of file sasa_c_f90.c.

References doc, psmile_timer::file_name, and sasaOpenXml().

00527 {
00528   int doc;
00529 /*   Variant : int doc=EXIT_SUCCESS;  */
00530 
00531   char *file_name;
00532 
00533   file_name = (char *) calloc(*len_file_name+1, sizeof(char));
00534   strncpy(file_name,xml_file_name,*len_file_name);
00535   file_name[*len_file_name] = 0;
00536 
00537 #ifdef DEBUG
00538   (void)printf("sasa_c_read_file : open file : %s\n", file_name);
00539 #endif
00540 
00541   doc = sasaOpenXml ((const char*)file_name);
00542 
00543   free(file_name);
00544 
00545   return(doc);
00546 
00547 }

Here is the call graph for this function:


Generated on 1 Dec 2011 for Oasis4 by  doxygen 1.6.1