Skip to content

File xml_parser.c

FileList > base > xml_parser.c

Go to the source code of this file

  • #include "config.h"
  • #include <stdio.h>
  • #include <stdlib.h>
  • #include <assert.h>
  • #include <string.h>
  • #include "xml_parser.h"
  • #include "utility.h"
  • #include "memory_wrapper.hpp"

Public Types

Type Name
enum XML_INS_POS

Public Attributes

Type Name
const XML_ELEMENT_DEF xml_elem_XML = { "XML", 0 , [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null), [**NULL**](freelistheap_8h.md#define-null) }

Public Functions

Type Name
int xml_check_att_value (const char ** attrs, const char * att_name, const char * att_value)
XML_PARSER_DATA * xml_create_subparser (XML_PARSER_DATA * pd, char * new_file)
void xml_destroy_parser (void * data)
void xml_destroy_parser_data (void * data)
int xml_get_att_value (const char ** attrs, const char * att_name, char ** p_att_value)
XML_Parser xml_init_parser (void * data, const char * xml_file, const char * encoding, const XML_ELEMENT_DEF ** element_array, const int count)
void xml_parser_exec (XML_PARSER_DATA * pd)

Public Static Functions

Type Name
int add_xml_element (XML_ELEMENT * xml_node, const XML_ELEMENT_DEF * new_elem_def)
int check_xml_elem_name (XML_ELEMENT * el, const char * check_el_name)
XML_ELEMENT * create_xml_node (const XML_ELEMENT_DEF * new_elem)
char * get_elem_path_token_at (const XML_ELEMENT_DEF * el_def, const int level, char * short_name)
const char * get_short_elem_name (const XML_ELEMENT_DEF * el_def)
XML_ELEMENT * select_xml_branch_node (XML_ELEMENT * xml_node, const char * sel_name)
XML_ELEMENT * select_xml_node_for_ins (XML_ELEMENT * xml_node, const char * sel_name, XML_INS_POS * insert_pos)
bool xml_check_include_loop (XML_PARSER_DATA * pd, char * new_file)
XML_ELEMENT * xml_clone_node (XML_ELEMENT * schema_src, XML_ELEMENT * parent, XML_ELEMENT * prev, bool * has_error)
bool xml_copy_schema_tree (XML_ELEMENT * src, XML_ELEMENT ** dest)
void XMLCALL xml_data_handler (void * data, const XML_Char * s, int len)
void xml_destroy_schema_tree (XML_ELEMENT * pt)
void XMLCALL xml_elem_end (void * data, const char * parsed_el_name)
void XMLCALL xml_elem_start (void * data, const char * parsed_el_name, const char ** attr)
void XMLCALL xml_header_validation_utf8 (void * userData, const XML_Char * version, const XML_Char * encoding, int standalone)
XML_Parser xml_init_parser_common (void * data, const char * xml_file, const char * encoding)
XML_ELEMENT * xml_init_schema_tree (const XML_ELEMENT_DEF ** element_array, const int count)
int xml_parse (void * data, FILE * fp, bool * is_finished)

Macros

Type Name
define IS_XML_ROOT (el) ([**el**](broker__monitor_8c.md#function-timeout)-&gt;def-&gt;depth == [**XML\_ROOT\_DEPTH**](xml__parser_8c.md#define-xml_root_depth))
define XML_READ_BUFFSIZE 8192
define XML_ROOT_DEPTH 0

Public Types Documentation

enum XML_INS_POS

enum XML_INS_POS {
    XML_INS_POS_UNDEF = 0,
    XML_INS_POS_AFTER,
    XML_INS_POS_BEFORE
};

Public Attributes Documentation

variable xml_elem_XML

const XML_ELEMENT_DEF xml_elem_XML;

Public Functions Documentation

function xml_check_att_value

int xml_check_att_value (
    const  char ** attrs,
    const  char * att_name,
    const  char * att_value
) 

function xml_create_subparser

XML_PARSER_DATA * xml_create_subparser (
    XML_PARSER_DATA * pd,
    char * new_file
) 

function xml_destroy_parser

void xml_destroy_parser (
    void * data
) 

function xml_destroy_parser_data

void xml_destroy_parser_data (
    void * data
) 

function xml_get_att_value

int xml_get_att_value (
    const  char ** attrs,
    const  char * att_name,
    char ** p_att_value
) 

function xml_init_parser

XML_Parser xml_init_parser (
    void * data,
    const  char * xml_file,
    const  char * encoding,
    const  XML_ELEMENT_DEF ** element_array,
    const  int count
) 

function xml_parser_exec

void xml_parser_exec (
    XML_PARSER_DATA * pd
) 

Public Static Functions Documentation

function add_xml_element

static int add_xml_element (
    XML_ELEMENT * xml_node,
    const  XML_ELEMENT_DEF * new_elem_def
) 

function check_xml_elem_name

static int check_xml_elem_name (
    XML_ELEMENT * el,
    const  char * check_el_name
) 

function create_xml_node

static XML_ELEMENT * create_xml_node (
    const  XML_ELEMENT_DEF * new_elem
) 

function get_elem_path_token_at

static char * get_elem_path_token_at (
    const  XML_ELEMENT_DEF * el_def,
    const  int level,
    char * short_name
) 

function get_short_elem_name

static const  char * get_short_elem_name (
    const  XML_ELEMENT_DEF * el_def
) 

function select_xml_branch_node

static XML_ELEMENT * select_xml_branch_node (
    XML_ELEMENT * xml_node,
    const  char * sel_name
) 

function select_xml_node_for_ins

static XML_ELEMENT * select_xml_node_for_ins (
    XML_ELEMENT * xml_node,
    const  char * sel_name,
    XML_INS_POS * insert_pos
) 

function xml_check_include_loop

static bool xml_check_include_loop (
    XML_PARSER_DATA * pd,
    char * new_file
) 

function xml_clone_node

static XML_ELEMENT * xml_clone_node (
    XML_ELEMENT * schema_src,
    XML_ELEMENT * parent,
    XML_ELEMENT * prev,
    bool * has_error
) 

function xml_copy_schema_tree

static bool xml_copy_schema_tree (
    XML_ELEMENT * src,
    XML_ELEMENT ** dest
) 

function xml_data_handler

static void  XMLCALL xml_data_handler (
    void * data,
    const  XML_Char * s,
    int len
) 

function xml_destroy_schema_tree

static void xml_destroy_schema_tree (
    XML_ELEMENT * pt
) 

function xml_elem_end

static void  XMLCALL xml_elem_end (
    void * data,
    const  char * parsed_el_name
) 

function xml_elem_start

static void  XMLCALL xml_elem_start (
    void * data,
    const  char * parsed_el_name,
    const  char ** attr
) 

function xml_header_validation_utf8

static void  XMLCALL xml_header_validation_utf8 (
    void * userData,
    const  XML_Char * version,
    const  XML_Char * encoding,
    int standalone
) 

function xml_init_parser_common

static XML_Parser xml_init_parser_common (
    void * data,
    const  char * xml_file,
    const  char * encoding
) 

function xml_init_schema_tree

static XML_ELEMENT * xml_init_schema_tree (
    const  XML_ELEMENT_DEF ** element_array,
    const  int count
) 

function xml_parse

static int xml_parse (
    void * data,
    FILE * fp,
    bool * is_finished
) 

Macro Definition Documentation

define IS_XML_ROOT

#define IS_XML_ROOT (
    el
) `( el ->def->depth == XML_ROOT_DEPTH )`

define XML_READ_BUFFSIZE

#define XML_READ_BUFFSIZE `8192`

define XML_ROOT_DEPTH

#define XML_ROOT_DEPTH `0`


The documentation for this class was generated from the following file cubrid/src/base/xml_parser.c