00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00039 #ifndef __NUSMV_CORE_HRC_DUMPERS_HRC_DUMPER_XML_PRIVATE_H__
00040 #define __NUSMV_CORE_HRC_DUMPERS_HRC_DUMPER_XML_PRIVATE_H__
00041
00042
00043 #include "nusmv/core/hrc/dumpers/HrcDumperXml.h"
00044 #include "nusmv/core/hrc/dumpers/HrcDumper.h"
00045 #include "nusmv/core/hrc/dumpers/HrcDumper_private.h"
00046 #include "nusmv/core/utils/utils.h"
00047
00048
00058 typedef struct HrcDumperXml_TAG
00059 {
00060
00061 INHERITS_FROM(HrcDumper);
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072 } HrcDumperXml;
00073
00074
00075
00076
00077
00078
00079
00085 #define SMV_XSD_NS "http://es.fbk.eu/xsd"
00086
00087
00088
00089
00090
00091 #undef _HRC_DUMP_STR_NL
00092 #define _HRC_DUMP_STR_NL(x) \
00093 { \
00094 hrc_dumper_dump_indent(self); \
00095 fprintf(self->fout, x); \
00096 if (self->use_indentation) { \
00097 hrc_dumper_nl(self); \
00098 } \
00099 }
00100
00101 #undef _HRC_DUMP_NL
00102 #define _HRC_DUMP_NL() \
00103 { \
00104 if (self->use_indentation) { \
00105 hrc_dumper_nl(self); \
00106 } \
00107 }
00108
00109 #define _HRC_DUMP_XML_TAG_BEGIN(t) \
00110 { \
00111 _HRC_DUMP_STR("<"); \
00112 _HRC_DUMP_STR(t); \
00113 _HRC_DUMP_STR(">"); \
00114 }
00115
00116 #define _HRC_DUMP_XML_TAG_END(t) \
00117 { \
00118 _HRC_DUMP_STR("</"); \
00119 _HRC_DUMP_STR(t); \
00120 _HRC_DUMP_STR_NL(">"); \
00121 }
00122
00123 #define _HRC_DUMP_XML_TAG_BEGIN_END(t, s) \
00124 { \
00125 _HRC_DUMP_XML_TAG_BEGIN(t); \
00126 if ((char*) NULL != (char*) s) { \
00127 _HRC_DUMP_STR(s); \
00128 } \
00129 _HRC_DUMP_XML_TAG_END(t); \
00130 }
00131
00132 #define _HRC_DUMP_XML_NODE(n) \
00133 hrc_dumper_xml_dump_escaped_node(HRC_DUMPER_XML(self), n)
00134
00135 #define _HRC_DUMP_XML_NODE_BEGIN_END(t, n) \
00136 { \
00137 _HRC_DUMP_STR("<"); \
00138 _HRC_DUMP_STR(t); \
00139 _HRC_DUMP_STR(">"); \
00140 _HRC_DUMP_XML_NODE(n); \
00141 _HRC_DUMP_STR("</"); \
00142 _HRC_DUMP_STR(t); \
00143 _HRC_DUMP_STR_NL(">"); \
00144 }
00145
00146
00147
00148
00149
00150
00159 void hrc_dumper_xml_init(HrcDumperXml_ptr self,
00160 const NuSMVEnv_ptr env,
00161 FILE* fout);
00162
00171 void hrc_dumper_xml_deinit(HrcDumperXml_ptr self);
00172
00179 void hrc_dumper_xml_dump_snippet(HrcDumper_ptr self,
00180 HrcDumperSnippet snippet,
00181 const HrcDumperInfo* info);
00182
00189 void hrc_dumper_xml_dump_comment(HrcDumper_ptr self,
00190 const char* msg);
00191
00192
00193 #endif