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_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_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 1305 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().

01310 {
01311   size_t elements_loop;
01312   int    xpath_str_len, chars_count;
01313   char   format_str[ 32 ];
01314 
01315   ASSERT( xpath_str != NULL );
01316   ASSERT( xpath_start_type >= XPATH_START_FIRST
01317        && xpath_start_type <= XPATH_START_LAST );
01318   ASSERT( xpath_target_node_type >= XPATH_NODE_TYPE_FIRST
01319        && xpath_target_node_type <= XPATH_NODE_TYPE_LAST );
01320   ASSERT( parent_nodes_count >= 0 );
01321 
01322 
01323   /* Start the XPath string appropriately */
01324   switch ( xpath_start_type )
01325   {
01326     case XPATH_START_CHILD_OF_ROOT_NODE:
01327     {
01328       strcpy( xpath_str, "/" );
01329     }
01330     break;
01331     case XPATH_START_DESCENDANT_OF_ROOT_NODE:
01332     {
01333       strcpy( xpath_str, "//" );
01334     }
01335     break;
01336     case XPATH_START_CHILD_OF_CURRENT_NODE:
01337     {
01338       xpath_str[ 0 ] = '\0';
01339     }
01340     break;
01341     default:
01342     {
01343       ASSERT( 0 );
01344     }
01345     break;
01346   }
01347   xpath_str_len = chars_count = strlen( xpath_str );
01348 
01349 
01350   /* Add successive parent elements to the XPath string */
01351   elements_loop = 0;
01352   while ( elements_loop < parent_nodes_count && chars_count != -1 )
01353   {
01354     const char *element_name = va_arg( xpath_nodes, char * ); 
01355     int element_name_len = va_arg( xpath_nodes, int ); 
01356     int element_count = va_arg( xpath_nodes, int ); 
01357 
01358     /* Since Fortran strings aren't null-terminated, we must copy an exact
01359     number of chars from element_name (given by element_name_len) to the
01360     xpath input string - e.g. we must use %.9s instead of %s for "transient". */
01361     if ( element_count == 0 )
01362     {
01363       sprintf( format_str, "%%.%ds/", element_name_len );
01364       chars_count = sprintf( xpath_str + xpath_str_len, format_str,
01365                              element_name );
01366     }
01367     else
01368     {
01369       sprintf( format_str, "%%.%ds[%%d]/", element_name_len );
01370       chars_count = sprintf( xpath_str + xpath_str_len, format_str,
01371                              element_name, element_count );
01372     }
01373 
01374     xpath_str_len += chars_count;
01375     elements_loop++;
01376   }
01377 
01378 
01379   /* Finally, add the element or attribute we want to the end of the xpath */
01380   if ( chars_count != -1 )
01381   {
01382     switch ( xpath_target_node_type )
01383     {
01384       case XPATH_NODE_TYPE_ATTRIBUTE:
01385       {
01386         const char *attribute_name = va_arg( xpath_nodes, char * ); 
01387         int attribute_name_len = va_arg( xpath_nodes, int ); 
01388         /* Ignore the last value in the node triplet (if any) -
01389         there can only be one instance of an attribute. */
01390 
01391         sprintf( format_str, "@%%.%ds", attribute_name_len );
01392         chars_count = sprintf( xpath_str + xpath_str_len, format_str,
01393                               attribute_name );
01394       }
01395       break;
01396       case XPATH_NODE_TYPE_ELEMENT:
01397       {
01398         const char *element_name = va_arg( xpath_nodes, char * ); 
01399         int element_name_len = va_arg( xpath_nodes, int ); 
01400         int element_count = va_arg( xpath_nodes, int ); 
01401 
01402         if ( element_count == 0 )
01403         {
01404           sprintf( format_str, "%%.%ds", element_name_len );
01405           chars_count = sprintf( xpath_str + xpath_str_len, format_str,
01406                                 element_name );
01407         }
01408         else
01409         {
01410           sprintf( format_str, "%%.%ds[%%d]", element_name_len );
01411           chars_count = sprintf( xpath_str + xpath_str_len, format_str,
01412                                 element_name, element_count );
01413         }
01414       }
01415       break;
01416       default:
01417       {
01418         ASSERT( 0 );
01419       }
01420       break;
01421     }
01422 
01423     xpath_str_len += chars_count;
01424   }
01425 
01426   return ( chars_count != -1 ? xpath_str_len : chars_count );
01427 
01428 } /* sasa_c_build_xpath_str */

Here is the caller graph for this function:

int sasa_c_close ( int *  num_doc  ) 

Definition at line 1468 of file sasa_c_f90.c.

References sasaCloseXml().

01469 {
01470 
01471   return (sasaCloseXml (*num_doc));
01472 
01473 }

Here is the call graph for this function:

int sasa_c_convert_char2int ( char *  charcode,
int  len_charcode 
)

Definition at line 1480 of file sasa_c_f90.c.

References __sasa_c_convert_char2int().

01481 {
01482   int result;
01483   char *name;
01484 
01485   name = (char *) calloc(len_charcode+1, sizeof(char));
01486   strncpy(name,charcode,len_charcode);
01487 
01488   result = __sasa_c_convert_char2int  (name, len_charcode);
01489 
01490   free(name);
01491 
01492   return(result);
01493 }

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 1881 of file sasa_c_f90.c.

References sasa_c_get_attribute().

01890 {
01891   int result;
01892 
01893   result = sasa_c_get_attribute(
01894     xml_attribute, xml_attribute_length, *num_doc, 1,
01895     firstlevel,    len_firstlevel,       *firstno,
01896     attribute,     len_attribute );
01897 
01898   return(result);
01899 }

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 1902 of file sasa_c_f90.c.

References sasa_c_get_attribute().

01914 {
01915   int result;
01916 
01917   result = sasa_c_get_attribute(
01918     xml_attribute, xml_attribute_length, *num_doc, 2,
01919     firstlevel,    len_firstlevel,       *firstno,
01920     secondlevel,   len_secondlevel,      *secondno,
01921     attribute,     len_attribute );
01922 
01923   return(result);
01924 }

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 1927 of file sasa_c_f90.c.

References sasa_c_get_attribute().

01942 {
01943   int result;
01944 
01945   result = sasa_c_get_attribute(
01946     xml_attribute, xml_attribute_length, *num_doc, 3,
01947     firstlevel,    len_firstlevel,       *firstno,
01948     secondlevel,   len_secondlevel,      *secondno,
01949     thirdlevel,    len_thirdlevel,       *thirdno,
01950     attribute,     len_attribute );
01951 
01952   return(result);
01953 }

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 1956 of file sasa_c_f90.c.

References sasa_c_get_attribute().

01974 {
01975   int result;
01976 
01977   result = sasa_c_get_attribute(
01978     xml_attribute, xml_attribute_length, *num_doc, 4,
01979     firstlevel,    len_firstlevel,       *firstno,
01980     secondlevel,   len_secondlevel,      *secondno,
01981     thirdlevel,    len_thirdlevel,       *thirdno,
01982     fourthlevel,   len_fourthlevel,      *fourthno,
01983     attribute,     len_attribute );
01984 
01985   return(result);
01986 }

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 1989 of file sasa_c_f90.c.

References sasa_c_get_attribute().

02010 {
02011   int result;
02012 
02013   result = sasa_c_get_attribute(
02014     xml_attribute, xml_attribute_length, *num_doc, 5,
02015     firstlevel,    len_firstlevel,       *firstno,
02016     secondlevel,   len_secondlevel,      *secondno,
02017     thirdlevel,    len_thirdlevel,       *thirdno,
02018     fourthlevel,   len_fourthlevel,      *fourthno,
02019     fifthlevel,    len_fifthlevel,       *fifthno,
02020     attribute,     len_attribute );
02021 
02022   return(result);
02023 }

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 745 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_1st_level(), sasa_c_get_attri_2nd_level(), sasa_c_get_attri_3rd_level(), sasa_c_get_attri_4th_level(), and sasa_c_get_attri_5th_level().

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

References sasa_c_get_element_c().

03049 {
03050   int result;
03051 
03052   result = sasa_c_get_element_c(
03053     xml_element,  xml_element_length, *num_doc, 10,
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     ninthlevel,   len_ninthlevel,     *ninthno, 
03063     tenthlevel,   len_tenthlevel,     *tenthno, 
03064     element,      len_element,        *elementno );
03065 
03066   return(result);
03067 }

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 3126 of file sasa_c_f90.c.

References sasa_c_get_element_d().

03161 {
03162   int result;
03163 
03164   result = sasa_c_get_element_d(
03165     xml_element,  *num_doc, 10,
03166     firstlevel,   len_firstlevel,     *firstno, 
03167     secondlevel,  len_secondlevel,    *secondno, 
03168     thirdlevel,   len_thirdlevel,     *thirdno, 
03169     fourthlevel,  len_fourthlevel,    *fourthno, 
03170     fifthlevel,   len_fifthlevel,     *fifthno, 
03171     sixthlevel,   len_sixthlevel,     *sixthno, 
03172     seventhlevel, len_seventhlevel,   *seventhno, 
03173     eighthlevel,  len_eighthlevel,    *eighthno, 
03174     ninthlevel,   len_ninthlevel,     *ninthno, 
03175     tenthlevel,   len_tenthlevel,     *tenthno, 
03176     element,      len_element,        *elementno );
03177 
03178   return(result);
03179 }

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 3070 of file sasa_c_f90.c.

References sasa_c_get_element_i().

03105 {
03106   int result;
03107 
03108   result = sasa_c_get_element_i(
03109     xml_element,  *num_doc, 10,
03110     firstlevel,   len_firstlevel,     *firstno, 
03111     secondlevel,  len_secondlevel,    *secondno, 
03112     thirdlevel,   len_thirdlevel,     *thirdno, 
03113     fourthlevel,  len_fourthlevel,    *fourthno, 
03114     fifthlevel,   len_fifthlevel,     *fifthno, 
03115     sixthlevel,   len_sixthlevel,     *sixthno, 
03116     seventhlevel, len_seventhlevel,   *seventhno, 
03117     eighthlevel,  len_eighthlevel,    *eighthno, 
03118     ninthlevel,   len_ninthlevel,     *ninthno, 
03119     tenthlevel,   len_tenthlevel,     *tenthno, 
03120     element,      len_element,        *elementno );
03121 
03122   return(result);
03123 }

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 2027 of file sasa_c_f90.c.

References sasa_c_get_element_c().

02037 {
02038   int result;
02039 
02040   result = sasa_c_get_element_c(
02041     xml_element, xml_element_length, *num_doc, 1,
02042     firstlevel,  len_firstlevel,     *firstno, 
02043     element,     len_element,        *elementno );
02044 
02045   return(result);
02046 }

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 2069 of file sasa_c_f90.c.

References sasa_c_get_element_d().

02077 {
02078   int result;
02079 
02080   result = sasa_c_get_element_d(
02081     xml_element, *num_doc, 1,
02082     firstlevel,  len_firstlevel,     *firstno, 
02083     element,     len_element,        *elementno );
02084 
02085   return(result);
02086 }

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 2049 of file sasa_c_f90.c.

References sasa_c_get_element_i().

02057 {
02058   int result;
02059 
02060   result = sasa_c_get_element_i(
02061     xml_element, *num_doc, 1,
02062     firstlevel,  len_firstlevel,     *firstno, 
02063     element,     len_element,        *elementno );
02064 
02065   return(result);
02066 }

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 2089 of file sasa_c_f90.c.

References sasa_c_get_element_c().

02102 {
02103   int result;
02104 
02105   result = sasa_c_get_element_c(
02106     xml_element, xml_element_length, *num_doc, 2,
02107     firstlevel,  len_firstlevel,     *firstno, 
02108     secondlevel, len_secondlevel,    *secondno, 
02109     element,     len_element,        *elementno );
02110 
02111   return(result);
02112 }

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 2139 of file sasa_c_f90.c.

References sasa_c_get_element_d().

02150 {
02151   int result;
02152 
02153   result = sasa_c_get_element_d(
02154     xml_element, *num_doc, 2,
02155     firstlevel,  len_firstlevel,     *firstno, 
02156     secondlevel, len_secondlevel,    *secondno, 
02157     element,     len_element,        *elementno );
02158 
02159   return(result);
02160 }

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 2115 of file sasa_c_f90.c.

References sasa_c_get_element_i().

02126 {
02127   int result;
02128 
02129   result = sasa_c_get_element_i(
02130     xml_element, *num_doc, 2,
02131     firstlevel,  len_firstlevel,     *firstno, 
02132     secondlevel, len_secondlevel,    *secondno, 
02133     element,     len_element,        *elementno );
02134 
02135   return(result);
02136 }

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 2163 of file sasa_c_f90.c.

References sasa_c_get_element_c().

02179 {
02180   int result;
02181 
02182   result = sasa_c_get_element_c(
02183     xml_element, xml_element_length, *num_doc, 3,
02184     firstlevel,  len_firstlevel,     *firstno, 
02185     secondlevel, len_secondlevel,    *secondno, 
02186     thirdlevel,  len_thirdlevel,     *thirdno, 
02187     element,     len_element,        *elementno );
02188 
02189   return(result);
02190 }

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 2221 of file sasa_c_f90.c.

References sasa_c_get_element_d().

02235 {
02236   int result;
02237 
02238   result = sasa_c_get_element_d(
02239     xml_element, *num_doc, 3,
02240     firstlevel,  len_firstlevel,     *firstno, 
02241     secondlevel, len_secondlevel,    *secondno, 
02242     thirdlevel,  len_thirdlevel,     *thirdno, 
02243     element,     len_element,        *elementno );
02244 
02245   return(result);
02246 }

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 2193 of file sasa_c_f90.c.

References sasa_c_get_element_i().

02207 {
02208   int result;
02209 
02210   result = sasa_c_get_element_i(
02211     xml_element, *num_doc, 3,
02212     firstlevel,  len_firstlevel,     *firstno, 
02213     secondlevel, len_secondlevel,    *secondno, 
02214     thirdlevel,  len_thirdlevel,     *thirdno, 
02215     element,     len_element,        *elementno );
02216 
02217   return(result);
02218 }

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 2249 of file sasa_c_f90.c.

References sasa_c_get_element_c().

02268 {
02269   int result;
02270 
02271   result = sasa_c_get_element_c(
02272     xml_element, xml_element_length, *num_doc, 4,
02273     firstlevel,  len_firstlevel,     *firstno, 
02274     secondlevel, len_secondlevel,    *secondno, 
02275     thirdlevel,  len_thirdlevel,     *thirdno, 
02276     fourthlevel, len_fourthlevel,    *fourthno, 
02277     element,     len_element,        *elementno );
02278 
02279   return(result);
02280 }

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 2315 of file sasa_c_f90.c.

References sasa_c_get_element_d().

02332 {
02333   int result;
02334 
02335   result = sasa_c_get_element_d(
02336     xml_element, *num_doc, 4,
02337     firstlevel,  len_firstlevel,     *firstno, 
02338     secondlevel, len_secondlevel,    *secondno, 
02339     thirdlevel,  len_thirdlevel,     *thirdno, 
02340     fourthlevel, len_fourthlevel,    *fourthno, 
02341     element,     len_element,        *elementno );
02342 
02343   return(result);
02344 }

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 2283 of file sasa_c_f90.c.

References sasa_c_get_element_i().

02300 {
02301   int result;
02302 
02303   result = sasa_c_get_element_i(
02304     xml_element, *num_doc, 4,
02305     firstlevel,  len_firstlevel,     *firstno, 
02306     secondlevel, len_secondlevel,    *secondno, 
02307     thirdlevel,  len_thirdlevel,     *thirdno, 
02308     fourthlevel, len_fourthlevel,    *fourthno, 
02309     element,     len_element,        *elementno );
02310 
02311   return(result);
02312 }

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 2347 of file sasa_c_f90.c.

References sasa_c_get_element_c().

02369 {
02370   int result;
02371 
02372   result = sasa_c_get_element_c(
02373     xml_element, xml_element_length, *num_doc, 5,
02374     firstlevel,  len_firstlevel,     *firstno, 
02375     secondlevel, len_secondlevel,    *secondno, 
02376     thirdlevel,  len_thirdlevel,     *thirdno, 
02377     fourthlevel, len_fourthlevel,    *fourthno, 
02378     fifthlevel,  len_fifthlevel,     *fifthno, 
02379     element,     len_element,        *elementno );
02380 
02381   return(result);
02382 }

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 2421 of file sasa_c_f90.c.

References sasa_c_get_element_d().

02441 {
02442   int result;
02443 
02444   result = sasa_c_get_element_d(
02445     xml_element, *num_doc, 5,
02446     firstlevel,  len_firstlevel,     *firstno, 
02447     secondlevel, len_secondlevel,    *secondno, 
02448     thirdlevel,  len_thirdlevel,     *thirdno, 
02449     fourthlevel, len_fourthlevel,    *fourthno, 
02450     fifthlevel,  len_fifthlevel,     *fifthno, 
02451     element,     len_element,        *elementno );
02452 
02453   return(result);
02454 }

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 2385 of file sasa_c_f90.c.

References sasa_c_get_element_i().

02405 {
02406   int result;
02407 
02408   result = sasa_c_get_element_i(
02409     xml_element, *num_doc, 5,
02410     firstlevel,  len_firstlevel,     *firstno, 
02411     secondlevel, len_secondlevel,    *secondno, 
02412     thirdlevel,  len_thirdlevel,     *thirdno, 
02413     fourthlevel, len_fourthlevel,    *fourthno, 
02414     fifthlevel,  len_fifthlevel,     *fifthno, 
02415     element,     len_element,        *elementno );
02416 
02417   return(result);
02418 }

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 2457 of file sasa_c_f90.c.

References sasa_c_get_element_c().

02482 {
02483   int result;
02484 
02485   result = sasa_c_get_element_c(
02486     xml_element, xml_element_length, *num_doc, 6,
02487     firstlevel,  len_firstlevel,     *firstno, 
02488     secondlevel, len_secondlevel,    *secondno, 
02489     thirdlevel,  len_thirdlevel,     *thirdno, 
02490     fourthlevel, len_fourthlevel,    *fourthno, 
02491     fifthlevel,  len_fifthlevel,     *fifthno, 
02492     sixthlevel,  len_sixthlevel,     *sixthno, 
02493     element,     len_element,        *elementno );
02494 
02495   return(result);
02496 }

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 2539 of file sasa_c_f90.c.

References sasa_c_get_element_d().

02562 {
02563   int result;
02564 
02565   result = sasa_c_get_element_d(
02566     xml_element, *num_doc, 6,
02567     firstlevel,  len_firstlevel,     *firstno, 
02568     secondlevel, len_secondlevel,    *secondno, 
02569     thirdlevel,  len_thirdlevel,     *thirdno, 
02570     fourthlevel, len_fourthlevel,    *fourthno, 
02571     fifthlevel,  len_fifthlevel,     *fifthno, 
02572     sixthlevel,  len_sixthlevel,     *sixthno, 
02573     element,     len_element,        *elementno );
02574 
02575   return(result);
02576 }

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 2499 of file sasa_c_f90.c.

References sasa_c_get_element_i().

02522 {
02523   int result;
02524 
02525   result = sasa_c_get_element_i(
02526     xml_element, *num_doc, 6,
02527     firstlevel,  len_firstlevel,     *firstno, 
02528     secondlevel, len_secondlevel,    *secondno, 
02529     thirdlevel,  len_thirdlevel,     *thirdno, 
02530     fourthlevel, len_fourthlevel,    *fourthno, 
02531     fifthlevel,  len_fifthlevel,     *fifthno, 
02532     sixthlevel,  len_sixthlevel,     *sixthno, 
02533     element,     len_element,        *elementno );
02534 
02535   return(result);
02536 }

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 2579 of file sasa_c_f90.c.

References sasa_c_get_element_c().

02607 {
02608   int result;
02609 
02610   result = sasa_c_get_element_c(
02611     xml_element,  xml_element_length, *num_doc, 7,
02612     firstlevel,   len_firstlevel,     *firstno, 
02613     secondlevel,  len_secondlevel,    *secondno, 
02614     thirdlevel,   len_thirdlevel,     *thirdno, 
02615     fourthlevel,  len_fourthlevel,    *fourthno, 
02616     fifthlevel,   len_fifthlevel,     *fifthno, 
02617     sixthlevel,   len_sixthlevel,     *sixthno, 
02618     seventhlevel, len_seventhlevel,   *seventhno, 
02619     element,      len_element,        *elementno );
02620 
02621   return(result);
02622 }

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 2668 of file sasa_c_f90.c.

References sasa_c_get_element_d().

02694 {
02695   int result;
02696 
02697   result = sasa_c_get_element_d(
02698     xml_element,  *num_doc, 7,
02699     firstlevel,   len_firstlevel,     *firstno, 
02700     secondlevel,  len_secondlevel,    *secondno, 
02701     thirdlevel,   len_thirdlevel,     *thirdno, 
02702     fourthlevel,  len_fourthlevel,    *fourthno, 
02703     fifthlevel,   len_fifthlevel,     *fifthno, 
02704     sixthlevel,   len_sixthlevel,     *sixthno, 
02705     seventhlevel, len_seventhlevel,   *seventhno, 
02706     element,      len_element,        *elementno );
02707 
02708   return(result);
02709 }

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 2625 of file sasa_c_f90.c.

References sasa_c_get_element_i().

02651 {
02652   int result;
02653 
02654   result = sasa_c_get_element_i(
02655     xml_element,  *num_doc, 7,
02656     firstlevel,   len_firstlevel,     *firstno, 
02657     secondlevel,  len_secondlevel,    *secondno, 
02658     thirdlevel,   len_thirdlevel,     *thirdno, 
02659     fourthlevel,  len_fourthlevel,    *fourthno, 
02660     fifthlevel,   len_fifthlevel,     *fifthno, 
02661     sixthlevel,   len_sixthlevel,     *sixthno, 
02662     seventhlevel, len_seventhlevel,   *seventhno, 
02663     element,      len_element,        *elementno );
02664 
02665   return(result);
02666 }

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 2711 of file sasa_c_f90.c.

References sasa_c_get_element_c().

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

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 2808 of file sasa_c_f90.c.

References sasa_c_get_element_d().

02837 {
02838   int result;
02839 
02840   result = sasa_c_get_element_d(
02841     xml_element,  *num_doc, 8,
02842     firstlevel,   len_firstlevel,     *firstno, 
02843     secondlevel,  len_secondlevel,    *secondno, 
02844     thirdlevel,   len_thirdlevel,     *thirdno, 
02845     fourthlevel,  len_fourthlevel,    *fourthno, 
02846     fifthlevel,   len_fifthlevel,     *fifthno, 
02847     sixthlevel,   len_sixthlevel,     *sixthno, 
02848     seventhlevel, len_seventhlevel,   *seventhno, 
02849     eighthlevel,  len_eighthlevel,    *eighthno, 
02850     element,      len_element,        *elementno );
02851 
02852   return(result);
02853 }

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 2761 of file sasa_c_f90.c.

References sasa_c_get_element_i().

02790 {
02791   int result;
02792 
02793   result = sasa_c_get_element_i(
02794     xml_element,  *num_doc, 8,
02795     firstlevel,   len_firstlevel,     *firstno, 
02796     secondlevel,  len_secondlevel,    *secondno, 
02797     thirdlevel,   len_thirdlevel,     *thirdno, 
02798     fourthlevel,  len_fourthlevel,    *fourthno, 
02799     fifthlevel,   len_fifthlevel,     *fifthno, 
02800     sixthlevel,   len_sixthlevel,     *sixthno, 
02801     seventhlevel, len_seventhlevel,   *seventhno, 
02802     eighthlevel,  len_eighthlevel,    *eighthno, 
02803     element,      len_element,        *elementno );
02804 
02805   return(result);
02806 }

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 2855 of file sasa_c_f90.c.

References sasa_c_get_element_c().

02889 {
02890   int result;
02891 
02892   result = sasa_c_get_element_c(
02893     xml_element,  xml_element_length, *num_doc, 9,
02894     firstlevel,   len_firstlevel,     *firstno, 
02895     secondlevel,  len_secondlevel,    *secondno, 
02896     thirdlevel,   len_thirdlevel,     *thirdno, 
02897     fourthlevel,  len_fourthlevel,    *fourthno, 
02898     fifthlevel,   len_fifthlevel,     *fifthno, 
02899     sixthlevel,   len_sixthlevel,     *sixthno, 
02900     seventhlevel, len_seventhlevel,   *seventhno, 
02901     eighthlevel,  len_eighthlevel,    *eighthno, 
02902     ninthlevel,   len_ninthlevel,     *ninthno, 
02903     element,      len_element,        *elementno );
02904 
02905   return(result);
02906 }

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 2961 of file sasa_c_f90.c.

References sasa_c_get_element_d().

02993 {
02994   int result;
02995 
02996   result = sasa_c_get_element_d(
02997     xml_element,  *num_doc, 9,
02998     firstlevel,   len_firstlevel,     *firstno, 
02999     secondlevel,  len_secondlevel,    *secondno, 
03000     thirdlevel,   len_thirdlevel,     *thirdno, 
03001     fourthlevel,  len_fourthlevel,    *fourthno, 
03002     fifthlevel,   len_fifthlevel,     *fifthno, 
03003     sixthlevel,   len_sixthlevel,     *sixthno, 
03004     seventhlevel, len_seventhlevel,   *seventhno, 
03005     eighthlevel,  len_eighthlevel,    *eighthno, 
03006     ninthlevel,   len_ninthlevel,     *ninthno, 
03007     element,      len_element,        *elementno );
03008 
03009   return(result);
03010 }

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 2909 of file sasa_c_f90.c.

References sasa_c_get_element_i().

02941 {
02942   int result;
02943 
02944   result = sasa_c_get_element_i(
02945     xml_element,  *num_doc, 9,
02946     firstlevel,   len_firstlevel,     *firstno, 
02947     secondlevel,  len_secondlevel,    *secondno, 
02948     thirdlevel,   len_thirdlevel,     *thirdno, 
02949     fourthlevel,  len_fourthlevel,    *fourthno, 
02950     fifthlevel,   len_fifthlevel,     *fifthno, 
02951     sixthlevel,   len_sixthlevel,     *sixthno, 
02952     seventhlevel, len_seventhlevel,   *seventhno, 
02953     eighthlevel,  len_eighthlevel,    *eighthno, 
02954     ninthlevel,   len_ninthlevel,     *ninthno, 
02955     element,      len_element,        *elementno );
02956 
02957   return(result);
02958 }

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 889 of file sasa_c_f90.c.

References ASSERT, EXIT_FAILURE, EXIT_FOUND, EXIT_NOTFOUND, EXIT_SUCCESS, getXmlInfo(), 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(), and sasa_c_get_element_9th_level_c().

00894 {
00895   va_list nodes;
00896   int     rc=EXIT_SUCCESS;  /* return code */
00897   char    xpath_str[ XPATH_STR_LEN_MAX + 1 ];
00898   int     xpath_str_len;
00899   char    *elt=NULL;
00900   char    *att_name=NULL;
00901 
00902   ASSERT( xml_element != NULL );
00903   ASSERT( xml_element_length != NULL );
00904   ASSERT( parent_nodes_count >= 0 );
00905 
00906   va_start( nodes, parent_nodes_count );
00907 
00908   /* Build the xpath string */
00909   xpath_str_len = sasa_c_build_xpath_str(
00910     xpath_str,
00911     XPATH_START_DESCENDANT_OF_ROOT_NODE,
00912     XPATH_NODE_TYPE_ELEMENT,
00913     parent_nodes_count,
00914     nodes );
00915 
00916   va_end( nodes );
00917 
00918   if ( xpath_str_len > 0 )
00919   {
00920     /* get the string with xpath input */
00921     rc=getXmlInfo (num_doc, xpath_str, &elt);
00922     if (rc == EXIT_FOUND)
00923       {
00924         (void)strcpy (xml_element, (const char*)elt );
00925         *xml_element_length = strlen(xml_element);
00926         xml_element[strlen (xml_element)]=' '; /* the '\0' */
00927         rc = EXIT_SUCCESS;
00928       }
00929     else if (rc == EXIT_NOTFOUND)
00930       {
00931         strncpy(xml_element," ",255);
00932         xml_element[strlen (xml_element)]=' '; /* the '\0' */
00933       }
00934     free ((void*)elt); 
00935 
00936 #ifdef DEBUG
00937     printf("sasa_c_get_element_c (level %d) : xpath input : %s\n",
00938       parent_nodes_count, xpath_str);
00939     att_name = (char *) calloc (*xml_element_length+1,sizeof (char));
00940     (void)strncpy (att_name,xml_element,*xml_element_length);
00941     printf("sasa_c_get_element_c (level %d) : xml_element : %s\n",
00942       parent_nodes_count, att_name);
00943     free(att_name);
00944     puts("--------------------------------------------------------");
00945 #endif
00946   }
00947   else
00948   {
00949     rc = EXIT_FAILURE;
00950 
00951 #ifdef DEBUG
00952     printf("sasa_c_get_element_c (level %d) : ERROR : building xpath string\n",
00953       parent_nodes_count );
00954     printf("sasa_c_get_element_c (level %d) : return code %d\n",
00955       parent_nodes_count, xpath_str_len );
00956     puts("--------------------------------------------------------");
00957 #endif
00958   }
00959 
00960   return (rc);
00961 
00962 } /* 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 1165 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().

01169 {
01170   va_list nodes;
01171   int     rc=EXIT_SUCCESS;  /* return code */
01172   char    xpath_str[ XPATH_STR_LEN_MAX + 1 ];
01173   int     xpath_str_len;
01174   char    *elt=NULL;
01175 
01176   ASSERT( xml_element != NULL );
01177   ASSERT( parent_nodes_count >= 0 );
01178 
01179   va_start( nodes, parent_nodes_count );
01180 
01181   /* Build the xpath string */
01182   xpath_str_len = sasa_c_build_xpath_str(  
01183     xpath_str,
01184     XPATH_START_DESCENDANT_OF_ROOT_NODE,
01185     XPATH_NODE_TYPE_ELEMENT,
01186     parent_nodes_count,
01187     nodes );
01188 
01189   va_end( nodes );
01190 
01191   if ( xpath_str_len > 0 )
01192   {
01193     /* get the double with xpath input */
01194     rc=getXmlInfo (num_doc, xpath_str, &elt);
01195     if (rc == EXIT_FOUND) 
01196       {
01197         sscanf(elt,"%lf",xml_element);
01198         rc = EXIT_SUCCESS;
01199       }
01200     else if (rc == EXIT_NOTFOUND)
01201       {
01202         *xml_element = PSMILE_UNDEF;
01203       }    
01204     free ((void*)elt); 
01205 
01206 #ifdef DEBUG
01207     printf("sasa_c_get_element_d (level %d) : xpath input : %s\n",
01208       parent_nodes_count, xpath_str);
01209     printf("sasa_c_get_element_d (level %d) : xml_element : %lf\n",
01210       parent_nodes_count, *xml_element);
01211     puts("--------------------------------------------------------");
01212 #endif
01213   }
01214   else
01215   {
01216     rc = EXIT_FAILURE;
01217 
01218 #ifdef DEBUG
01219     printf("sasa_c_get_element_d (level %d) : ERROR : building xpath string\n",
01220       parent_nodes_count );
01221     printf("sasa_c_get_element_d (level %d) : return code %d\n",
01222       parent_nodes_count, xpath_str_len );
01223     puts("--------------------------------------------------------");
01224 #endif
01225   }
01226 
01227   return (rc);
01228 
01229 } /* 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 1033 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(), and sasa_c_get_element_9th_level_i().

01037 {
01038   va_list nodes;
01039   int     rc=EXIT_SUCCESS;  /* return code */
01040   char    xpath_str[ XPATH_STR_LEN_MAX + 1 ];
01041   int     xpath_str_len;
01042   char    *elt=NULL;
01043   
01044   ASSERT( xml_element != NULL );
01045   ASSERT( parent_nodes_count >= 0 );
01046 
01047   va_start( nodes, parent_nodes_count );
01048 
01049   /* Build the xpath string */
01050   xpath_str_len = sasa_c_build_xpath_str(  
01051     xpath_str,
01052     XPATH_START_DESCENDANT_OF_ROOT_NODE,
01053     XPATH_NODE_TYPE_ELEMENT,
01054     parent_nodes_count,
01055     nodes );
01056 
01057   va_end( nodes );
01058 
01059   if ( xpath_str_len > 0 )
01060   {
01061     /* get the integer with xpath input */
01062     rc=getXmlInfo (num_doc, xpath_str, &elt);
01063     if (rc == EXIT_FOUND) 
01064       {
01065         *xml_element = atoi(elt);
01066         rc = EXIT_SUCCESS;
01067       }
01068     else if (rc == EXIT_NOTFOUND)
01069       {
01070         *xml_element = PSMILE_UNDEF;
01071       }    
01072     free ((void*)elt); 
01073 
01074 #ifdef DEBUG
01075     printf("sasa_c_get_element_i (level %d) : xpath input : %s\n",
01076       parent_nodes_count, xpath_str);
01077     printf("sasa_c_get_element_i (level %d) : xml_element : %d\n",
01078       parent_nodes_count, *xml_element);
01079     puts("--------------------------------------------------------");
01080 #endif
01081   }
01082   else
01083   {
01084     rc = EXIT_FAILURE;
01085 
01086 #ifdef DEBUG
01087     printf("sasa_c_get_element_i (level %d) : ERROR : building xpath string\n",
01088       parent_nodes_count );
01089     printf("sasa_c_get_element_i (level %d) : return code %d\n",
01090       parent_nodes_count, xpath_str_len );
01091     puts("--------------------------------------------------------");
01092 #endif
01093   }
01094 
01095   return (rc);
01096 
01097 } /* sasa_c_get_element_i */  

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 614 of file sasa_c_f90.c.

References ASSERT, EXIT_FAILURE, EXIT_SUCCESS, getXmlNodeCount(), sasa_c_build_xpath_str(), 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().

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

References sasa_c_get_number().

01806 {
01807   int result;
01808 
01809   result = sasa_c_get_number(
01810     xml_number,   *num_doc,  10,
01811     firstlevel,   len_firstlevel,   *firstno,
01812     secondlevel,  len_secondlevel,  *secondno,
01813     thirdlevel,   len_thirdlevel,   *thirdno,
01814     fourthlevel,  len_fourthlevel,  *fourthno,
01815     fifthlevel,   len_fifthlevel,   *fifthno,
01816     sixthlevel,   len_sixthlevel,   *sixthno,
01817     seventhlevel, len_seventhlevel, *seventhno,
01818     eighthlevel,  len_eighthlevel,  *eighthno,
01819     ninthlevel,   len_ninthlevel,   *ninthno,
01820     tenthlevel,   len_tenthlevel,   0 );
01821 
01822   return(result);
01823 }

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 1825 of file sasa_c_f90.c.

References sasa_c_get_number().

01859 {
01860   int result;
01861 
01862   result = sasa_c_get_number(
01863     xml_number,   *num_doc,  11,
01864     firstlevel,   len_firstlevel,   *firstno,
01865     secondlevel,  len_secondlevel,  *secondno,
01866     thirdlevel,   len_thirdlevel,   *thirdno,
01867     fourthlevel,  len_fourthlevel,  *fourthno,
01868     fifthlevel,   len_fifthlevel,   *fifthno,
01869     sixthlevel,   len_sixthlevel,   *sixthno,
01870     seventhlevel, len_seventhlevel, *seventhno,
01871     eighthlevel,  len_eighthlevel,  *eighthno,
01872     ninthlevel,   len_ninthlevel,   *ninthno,
01873     tenthlevel,   len_tenthlevel,   *tenthno,
01874     elethlevel,   len_elethlevel,   0 );
01875 
01876   return(result);
01877 }

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 1497 of file sasa_c_f90.c.

References sasa_c_get_number().

01501 {
01502   int result;
01503 
01504   result = sasa_c_get_number(
01505     xml_number, *num_doc, 1,
01506     firstlevel, len_firstlevel, 0 );
01507 
01508   return(result);
01509 }

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 1512 of file sasa_c_f90.c.

References sasa_c_get_number().

01519 {
01520   int result;
01521 
01522   result = sasa_c_get_number(
01523     xml_number, *num_doc, 2,
01524     firstlevel,  len_firstlevel,  *firstno,
01525     secondlevel, len_secondlevel, 0 );
01526 
01527   return(result);
01528 }

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 1531 of file sasa_c_f90.c.

References sasa_c_get_number().

01541 {
01542   int result;
01543 
01544   result = sasa_c_get_number(
01545     xml_number, *num_doc, 3,
01546     firstlevel,  len_firstlevel,  *firstno,
01547     secondlevel, len_secondlevel, *secondno,
01548     thirdlevel,  len_thirdlevel,  0 );
01549 
01550   return(result);
01551 }

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 1554 of file sasa_c_f90.c.

References sasa_c_get_number().

01567 {
01568   int result;
01569 
01570   result = sasa_c_get_number(
01571     xml_number, *num_doc, 4,
01572     firstlevel,  len_firstlevel,  *firstno,
01573     secondlevel, len_secondlevel, *secondno,
01574     thirdlevel,  len_thirdlevel,  *thirdno,
01575     fourthlevel, len_fourthlevel, 0 );
01576 
01577   return(result);
01578 }

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 1581 of file sasa_c_f90.c.

References sasa_c_get_number().

01597 {
01598   int result;
01599 
01600   result = sasa_c_get_number(
01601     xml_number, *num_doc, 5,
01602     firstlevel,  len_firstlevel,  *firstno,
01603     secondlevel, len_secondlevel, *secondno,
01604     thirdlevel,  len_thirdlevel,  *thirdno,
01605     fourthlevel, len_fourthlevel, *fourthno,
01606     fifthlevel,  len_fifthlevel,  0 );
01607 
01608   return(result);
01609 }

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 1612 of file sasa_c_f90.c.

References sasa_c_get_number().

01631 {
01632   int result;
01633 
01634   result = sasa_c_get_number(
01635     xml_number, *num_doc, 6,
01636     firstlevel,  len_firstlevel,  *firstno,
01637     secondlevel, len_secondlevel, *secondno,
01638     thirdlevel,  len_thirdlevel,  *thirdno,
01639     fourthlevel, len_fourthlevel, *fourthno,
01640     fifthlevel,  len_fifthlevel,  *fifthno,
01641     sixthlevel,  len_sixthlevel,  0 );
01642 
01643   return(result);
01644 }

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 1647 of file sasa_c_f90.c.

References sasa_c_get_number().

01669 {
01670   int result;
01671 
01672   result = sasa_c_get_number(
01673     xml_number,   *num_doc,  7,
01674     firstlevel,   len_firstlevel,   *firstno,
01675     secondlevel,  len_secondlevel,  *secondno,
01676     thirdlevel,   len_thirdlevel,   *thirdno,
01677     fourthlevel,  len_fourthlevel,  *fourthno,
01678     fifthlevel,   len_fifthlevel,   *fifthno,
01679     sixthlevel,   len_sixthlevel,   *sixthno,
01680     seventhlevel, len_seventhlevel, 0 );
01681 
01682   return(result);
01683 }

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 1686 of file sasa_c_f90.c.

References sasa_c_get_number().

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

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 1729 of file sasa_c_f90.c.

References sasa_c_get_number().

01757 {
01758   int result;
01759 
01760   result = sasa_c_get_number(
01761     xml_number,   *num_doc,  9,
01762     firstlevel,   len_firstlevel,   *firstno,
01763     secondlevel,  len_secondlevel,  *secondno,
01764     thirdlevel,   len_thirdlevel,   *thirdno,
01765     fourthlevel,  len_fourthlevel,  *fourthno,
01766     fifthlevel,   len_fifthlevel,   *fifthno,
01767     sixthlevel,   len_sixthlevel,   *sixthno,
01768     seventhlevel, len_seventhlevel, *seventhno,
01769     eighthlevel,  len_eighthlevel,  *eighthno,
01770     ninthlevel,   len_ninthlevel,   0 );
01771 
01772   return(result);
01773 }

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 
00536 #ifdef DEBUG
00537   (void)printf("sasa_c_read_file : open file : %s\n", file_name);
00538 #endif
00539 
00540   doc = sasaOpenXml ((const char*)file_name);
00541 
00542   free(file_name);
00543 
00544   return(doc);
00545 
00546 }

Here is the call graph for this function:


Generated on 18 Mar 2011 for Oasis4 by  doxygen 1.6.1