libxmq
Libxmq C API
Loading...
Searching...
No Matches
xmq.h
Go to the documentation of this file.
1/* libxmq - Copyright (C) 2023-2026 Fredrik Öhrström (spdx: MIT)
2
3Permission is hereby granted, free of charge, to any person obtaining
4a copy of this software and associated documentation files (the
5"Software"), to deal in the Software without restriction, including
6without limitation the rights to use, copy, modify, merge, publish,
7distribute, sublicense, and/or sell copies of the Software, and to
8permit persons to whom the Software is furnished to do so, subject to
9the following conditions:
10
11The above copyright notice and this permission notice shall be
12included in all copies or substantial portions of the Software.
13
14THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
22*/
23
24#ifndef XMQ_H
25#define XMQ_H
26
27// #define XMQ_NO_XMQ_PRINTING
28// #define XMQ_NO_LIBXML
29// #define XMQ_NO_JSON
30
31#define _hideLBfromEditor {
32#define _hideRBfromEditor }
33
34#ifdef __cplusplus
35extern "C" _hideLBfromEditor
36#endif
37
38#include<stdarg.h>
39#include<stdbool.h>
40#include<stdlib.h>
41#include<stdint.h>
42
46
50typedef struct XMQDoc XMQDoc;
51
57typedef struct XMQNode XMQNode;
58
62typedef struct XMQAttr XMQAttr;
63
69
76
81
108
126
166
198
213{
217 size_t (*read)(void *reader_state, char *start, char *stop);
218};
219typedef struct XMQReader XMQReader;
220
229typedef bool (*XMQWrite)(void *writer_state, const char *start, const char *stop);
230
243typedef struct XMQWriter XMQWriter;
244
248typedef enum
249{
254} XMQProceed;
255
262typedef XMQProceed (*XMQNodeCallback)(XMQDoc *doc, XMQNode *node, void *user_data);
263
346
353
360
367
374
376{
378 const char *string;
379};
381
435
437
441
449XMQContentType xmqDetectContentType(const char *start, const char *stop);
450
456
463
470
477
484
491
493bool xmqTokenizeBuffer(XMQParseState *state, const char *start, const char *stop);
494
496bool xmqTokenizeFile(XMQParseState *state, const char *file);
497
500
510
517
526void xmqSetStateSourceName(XMQParseState *state, const char *source_name);
527
535
542const char *xmqStateErrorMsg(XMQParseState *state);
543
551void xmqSetPrintAllParsesIXML(XMQParseState *state, bool all_parses);
552
560void xmqSetTryToRecoverIXML(XMQParseState *state, bool try_recover);
561
570
578void xmqSetDocSourceName(XMQDoc *doq, const char *source_name);
579
587const char *xmqGetDocSourceName(XMQDoc *doq);
588
595
602
608void xmqSetOriginalSize(XMQDoc *doq, size_t size);
609
616
625
626typedef struct XMQNS XMQNS;
627struct XMQNS {
629 // A prefix (xyz) can be encoded into the uri: "{xyz}urn:myapp"
630 const char *uri;
631};
632
634#define NS_NONE ((XMQNS){XMQ_NS_NONE,NULL})
636#define NS_PARENT ((XMQNS){XMQ_NS_PARENT,NULL})
638#define NS_HERE(uri) ((XMQNS){XMQ_NS_HERE,uri})
641#define NS_ANCESTOR(uri) ((XMQNS){XMQ_NS_ANCESTOR,uri})
642
658XMQReturnNode xmqAddRootElement(XMQDoc *doq, const char *name, XMQNS ns);
659
677XMQReturnNode xmqAddElement(XMQDoc *doq, XMQNode *parent, const char *name, XMQNS ns);
678
697XMQReturnNode xmqAddKeyValue(XMQDoc *doq, XMQNode *parent, const char *key, const char *value, XMQNS ns);
698
711XMQReturnAttr xmqSetAttribute(XMQDoc *doq, XMQNode *node, const char *name, const char *value, XMQNS ns);
712
731
738 XMQNode *node,
739 const char *ns_uri,
740 const char *old_prefix,
741 const char *new_prefix);
742
749
755void xmqSetImplementationDoc(XMQDoc *doq, void *doc);
756
763
770
779bool xmqParseFile(XMQDoc *doc, const char *file, const char *implicit_root, int flags);
780
791bool xmqParseBuffer(XMQDoc *doc, const char *start, const char *stop, const char *implicit_root, int flags);
792
803bool xmqParseReader(XMQDoc *doc, XMQReader *reader, void *reader_state, const char *implicit_root, int flags);
804
807
810
811void xmqSetAddIndent(XMQOutputSettings *os, int add_indent);
812void xmqSetCompact(XMQOutputSettings *os, bool compact);
813void xmqSetUseColor(XMQOutputSettings *os, bool use_color);
814void xmqSetTrueColor(XMQOutputSettings *os, bool truecolor);
815void xmqSetBackgroundMode(XMQOutputSettings *os, bool bg_dark_mode);
816void xmqSetPreferDoubleQuotes(XMQOutputSettings *os, bool prefer_double_quotes);
817void xmqSetEscapeNewlines(XMQOutputSettings *os, bool escape_newlines);
818void xmqSetEscapeNon7bit(XMQOutputSettings *os, bool escape_non_7bit);
819void xmqSetEscapeTabs(XMQOutputSettings *os, bool escape_tabs);
821void xmqSetOmitDecl(XMQOutputSettings *os, bool omit_decl);
823void xmqSetRenderTheme(XMQOutputSettings *os, const char *theme_spec);
824void xmqSetRenderRaw(XMQOutputSettings *os, bool render_raw);
825void xmqSetRenderOnlyStyle(XMQOutputSettings *os, bool only_style);
828
831
833void xmqSetupPrintFile(XMQOutputSettings *ps, const char *file);
834
837
839void xmqSetupPrintMemory(XMQOutputSettings *ps, char **start, char **stop);
840
842void xmqSetupPrintSkip(XMQOutputSettings *ps, size_t *skip);
843
845void xmqPrint(XMQDoc *doc, XMQOutputSettings *settings);
846
852void xmqAnnotateOffsets(XMQDoc *doc, const char *attribute_name, const char *ns);
853
855void xmqTrimWhitespace(XMQDoc *doc, int flags);
856
865char *xmqCompactQuote(const char *content);
866
874const char *xmqDocError(XMQDoc *doc);
875
884
889const char *xmqGetName(XMQNode *node);
890
895const char *xmqGetContent(XMQNode *node);
896
901void xmqSetContent(XMQNode *node, const char *raw_content);
902
908XMQNode *xmqGetNode(XMQDoc *doc, const char *xpath);
909
916XMQNode *xmqGetNodeRel(XMQDoc *doc, const char *xpath, XMQNode *relative);
917
923int32_t xmqGetInt(XMQDoc *doc, const char *xpath);
924
931int32_t xmqGetIntRel(XMQDoc *doc, const char *xpath, XMQNode *relative);
932
938int64_t xmqGetLong(XMQDoc *doc, const char *xpath);
939
946int64_t xmqGetLongRel(XMQDoc *doc, const char *xpath, XMQNode *relative);
947
953double xmqGetDouble(XMQDoc *doc, const char *xpath);
954
961double xmqGetDoubleRel(XMQDoc *doc, const char *xpath, XMQNode *relative);
962
968const char *xmqGetString(XMQDoc *doc, const char *xpath);
969
976const char *xmqGetStringRel(XMQDoc *doc, const char *xpath, XMQNode *relative);
977
986int xmqForeach(XMQDoc *doq, const char *xpath, XMQNodeCallback cb, void *user_data);
987
997int xmqForeachRel(XMQDoc *doq, const char *xpath, XMQNodeCallback cb, void *user_data, XMQNode *relative);
998
1006int xmqReplaceEntity(XMQDoc *doq, const char *entity, const char *content);
1007
1015int xmqReplaceEntityWithNode(XMQDoc *doq, const char *entity, XMQDoc *idoq, XMQNode *inode);
1016
1022const char *xmqVersion();
1023
1029void xmqSetVerbose(bool e);
1030
1036void xmqSetDebug(bool e);
1037
1043void xmqSetTrace(bool e);
1044
1050void xmqLogFilter(const char *log_filter);
1051
1058
1065
1073
1080
1087 const char *start,
1088 const char *stop,
1089 const char *implicit_root,
1090 XMQContentType ct,
1091 int flags);
1092
1099 const char *file,
1100 const char *implicit_root,
1101 XMQContentType ct,
1102 int flags);
1103
1110 const char *start,
1111 const char *stop,
1112 XMQDoc *ixml_grammar,
1113 int flags);
1114
1121 const char *file,
1122 XMQDoc *ixml_grammar,
1123 int flags);
1124
1131
1144 const char *indentation_space,
1145 const char *explicit_space,
1146 const char *explicit_tab,
1147 const char *explicit_cr,
1148 const char *explicit_nl);
1149
1157 const char *use_id,
1158 const char *use_class);
1159
1169 const char *render_style,
1170 XMQColorName cn,
1171 const char *pre,
1172 const char *post,
1173 const char *ns);
1174
1175
1182
1189
1196
1203
1218char *xmqLinePrintf(XMQLineConfig *lc, const char *element_name, ...);
1219char *xmqLineVPrintf(XMQLineConfig *lc, const char *element_name, va_list ap);
1220
1221#ifdef __cplusplus
1223#endif
1224
1225#endif
Definition xmq.h:627
NamespaceAction action
Definition xmq.h:628
const char * uri
Definition xmq.h:630
Definition xmq.h:213
void * reader_state
Definition xmq.h:215
size_t(* read)(void *reader_state, char *start, char *stop)
Definition xmq.h:217
Definition xmq.h:362
XMQStatus status
Definition xmq.h:363
XMQAttr * attr
Definition xmq.h:364
Definition xmq.h:376
XMQStatus status
Definition xmq.h:377
const char * string
Definition xmq.h:378
Definition xmq.h:348
XMQStatus status
Definition xmq.h:349
XMQDoc * doc
Definition xmq.h:350
Definition xmq.h:355
XMQNode * node
Definition xmq.h:357
XMQStatus status
Definition xmq.h:356
Definition xmq.h:369
XMQStatus status
Definition xmq.h:370
char * string
Definition xmq.h:371
Definition xmq.h:237
XMQWrite write
Definition xmq.h:241
void * writer_state
Definition xmq.h:239
void xmqFreeOutputSettings(XMQOutputSettings *os)
XMQReturnNode xmqAddRootElement(XMQDoc *doq, const char *name, XMQNS ns)
const char * xmqDocError(XMQDoc *doc)
void xmqSetTrace(bool e)
void xmqSetAddIndent(XMQOutputSettings *os, int add_indent)
void xmqSetWriterError(XMQOutputSettings *os, XMQWriter error)
XMQContentType xmqDetectContentType(const char *start, const char *stop)
XMQStatus xmqDocErrno(XMQDoc *doc)
void xmqFreeParseCallbacks(XMQParseCallbacks *cb)
void xmqSetupPrintSkip(XMQOutputSettings *ps, size_t *skip)
bool xmqParseFileWithIXML(XMQDoc *doc, const char *file, XMQDoc *ixml_grammar, int flags)
const char * xmqGetDocSourceName(XMQDoc *doq)
XMQOutputSettings * xmqNewOutputSettings()
int xmqStateErrno(XMQParseState *state)
void xmqOverrideColor(XMQOutputSettings *settings, const char *render_style, XMQColorName cn, const char *pre, const char *post, const char *ns)
void xmqSetEscapeNewlines(XMQOutputSettings *os, bool escape_newlines)
#define _hideLBfromEditor
Definition xmq.h:31
void xmqSetStateSourceName(XMQParseState *state, const char *source_name)
bool xmqTokenizeBuffer(XMQParseState *state, const char *start, const char *stop)
struct XMQOutputSettings XMQOutputSettings
Definition xmq.h:80
const char * xmqVersion()
void xmqSetDebug(bool e)
XMQContentType
Specify the file/buffer content type both for input and for output.
Definition xmq.h:86
@ XMQ_CONTENT_JSON
Definition xmq.h:100
@ XMQ_CONTENT_IXML
Definition xmq.h:102
@ XMQ_CONTENT_DETECT
Definition xmq.h:90
@ XMQ_CONTENT_HTML
Definition xmq.h:98
@ XMQ_CONTENT_CLINES
Definition xmq.h:106
@ XMQ_CONTENT_TEXT
Definition xmq.h:104
@ XMQ_CONTENT_HTMQ
Definition xmq.h:94
@ XMQ_CONTENT_XMQ
Definition xmq.h:92
@ XMQ_CONTENT_UNKNOWN
Definition xmq.h:88
@ XMQ_CONTENT_XML
Definition xmq.h:96
void xmqFreeLineConfig(XMQLineConfig *lc)
bool xmqTokenizeFile(XMQParseState *state, const char *file)
void xmqAnnotateOffsets(XMQDoc *doc, const char *attribute_name, const char *ns)
int xmqForeachRel(XMQDoc *doq, const char *xpath, XMQNodeCallback cb, void *user_data, XMQNode *relative)
bool xmqLoggingXMQ()
bool xmqParseFileWithType(XMQDoc *doc, const char *file, const char *implicit_root, XMQContentType ct, int flags)
struct XMQParseCallbacks XMQParseCallbacks
Definition xmq.h:75
void xmqSetBackgroundMode(XMQOutputSettings *os, bool bg_dark_mode)
void xmqTrimWhitespace(XMQDoc *doc, int flags)
XMQNode * xmqGetNode(XMQDoc *doc, const char *xpath)
void xmqSetupPrintFileDescriptor(XMQOutputSettings *ps, int fd)
void xmqSetupDefaultColors(XMQOutputSettings *settings)
struct XMQParseState XMQParseState
Definition xmq.h:68
#define _hideRBfromEditor
Definition xmq.h:32
int32_t xmqGetInt(XMQDoc *doc, const char *xpath)
void xmqSetupPrintFile(XMQOutputSettings *ps, const char *file)
int64_t xmqGetLong(XMQDoc *doc, const char *xpath)
char * xmqLineVPrintf(XMQLineConfig *lc, const char *element_name, va_list ap)
const char * xmqGetString(XMQDoc *doc, const char *xpath)
XMQRenderFormat
XMQRenderFormat decides how to format the xmq output: PLAIN, or for human consumption in TERMINAL,...
Definition xmq.h:114
@ XMQ_RENDER_PLAIN
Definition xmq.h:116
@ XMQ_RENDER_TERMINAL
Definition xmq.h:118
@ XMQ_RENDER_HTML
Definition xmq.h:120
@ XMQ_RENDER_TEX
Definition xmq.h:124
@ XMQ_RENDER_HTMQ
Definition xmq.h:122
const char * xmqGetContent(XMQNode *node)
void xmqSetContent(XMQNode *node, const char *raw_content)
char * xmqLinePrintf(XMQLineConfig *lc, const char *element_name,...)
void xmqSetLineHumanReadable(XMQLineConfig *lc, bool enable)
void xmqFreeParseState(XMQParseState *state)
char * xmqLineDoc(XMQLineConfig *lc, XMQDoc *doc)
void xmqSetupPrintStdOutStdErr(XMQOutputSettings *ps)
void xmqSetEscapeNon7bit(XMQOutputSettings *os, bool escape_non_7bit)
XMQReturnNode xmqAddElement(XMQDoc *doq, XMQNode *parent, const char *name, XMQNS ns)
int xmqForeach(XMQDoc *doq, const char *xpath, XMQNodeCallback cb, void *user_data)
struct XMQDoc XMQDoc
Definition xmq.h:50
const char * xmqParseErrorToString(XMQStatus e)
void xmqFreeDoc(XMQDoc *doc)
char * xmqCompactQuote(const char *content)
XMQStatus xmqAddNamespace(XMQDoc *doq, XMQNode *node, XMQNS ns)
XMQProceed(* XMQNodeCallback)(XMQDoc *doc, XMQNode *node, void *user_data)
Definition xmq.h:262
void xmqSetWriterContent(XMQOutputSettings *os, XMQWriter content)
XMQParseState * xmqNewParseState(XMQParseCallbacks *callbacks, XMQOutputSettings *settings)
void xmqSetDocSourceName(XMQDoc *doq, const char *source_name)
void xmqSetTryToRecoverIXML(XMQParseState *state, bool try_recover)
void xmqSetPreferDoubleQuotes(XMQOutputSettings *os, bool prefer_double_quotes)
int32_t xmqGetIntRel(XMQDoc *doc, const char *xpath, XMQNode *relative)
size_t xmqGetOriginalSize(XMQDoc *doq)
XMQLineConfig * xmqNewLineConfig()
bool(* XMQWrite)(void *writer_state, const char *start, const char *stop)
Definition xmq.h:229
void xmqSetOriginalSize(XMQDoc *doq, size_t size)
bool xmqTracing()
void xmqClearDoc(XMQDoc *doc)
double xmqGetDouble(XMQDoc *doc, const char *xpath)
bool xmqParseBuffer(XMQDoc *doc, const char *start, const char *stop, const char *implicit_root, int flags)
XMQContentType xmqGetOriginalContentType(XMQDoc *doq)
void xmqSetTrueColor(XMQOutputSettings *os, bool truecolor)
bool xmqParseReader(XMQDoc *doc, XMQReader *reader, void *reader_state, const char *implicit_root, int flags)
int xmqReplaceEntityWithNode(XMQDoc *doq, const char *entity, XMQDoc *idoq, XMQNode *inode)
void xmqSetLogHumanReadable(bool e)
void xmqSetUseColor(XMQOutputSettings *os, bool use_color)
int64_t xmqGetLongRel(XMQDoc *doc, const char *xpath, XMQNode *relative)
void xmqSetupParseCallbacksDebugContent(XMQParseCallbacks *state)
void xmqLogFilter(const char *log_filter)
void xmqPrint(XMQDoc *doc, XMQOutputSettings *settings)
void xmqSetRenderFormat(XMQOutputSettings *os, XMQRenderFormat render_to)
void xmqSetVerbose(bool e)
void xmqSetOmitDecl(XMQOutputSettings *os, bool omit_decl)
XMQFlagBits
Definition xmq.h:150
@ XMQ_FLAG_TRIM_HEURISTIC
Definition xmq.h:154
@ XMQ_FLAG_TRIM_EXACT
Definition xmq.h:156
@ XMQ_FLAG_IXML_ALL_PARSES
Definition xmq.h:160
@ XMQ_FLAG_NOMERGE
Definition xmq.h:158
@ XMQ_FLAG_TRIM_NONE
Definition xmq.h:152
@ XMQ_FLAG_IXML_FAIL_SILENT
Definition xmq.h:164
@ XMQ_FLAG_IXML_TRY_TO_RECOVER
Definition xmq.h:162
struct XMQNode XMQNode
Definition xmq.h:57
int xmqReplaceEntity(XMQDoc *doq, const char *entity, const char *content)
const char * xmqGetName(XMQNode *node)
void xmqSetEscapeTabs(XMQOutputSettings *os, bool escape_tabs)
bool xmqParseBufferWithIXML(XMQDoc *doc, const char *start, const char *stop, XMQDoc *ixml_grammar, int flags)
XMQStatus
Definition xmq.h:268
@ XMQ_ERROR_JSON_INVALID_CHAR
Definition xmq.h:308
@ XMQ_ERROR_EXPECTED_HTMQ
Definition xmq.h:318
@ XMQ_ERROR_OOM
Definition xmq.h:274
@ XMQ_ERROR_PARSING_HTML
Definition xmq.h:328
@ XMQ_ERROR_COMPOUND_MAY_NOT_CONTAIN
Definition xmq.h:292
@ XMQ_ERROR_INVALID_CHAR
Definition xmq.h:302
@ XMQ_ERROR_PARSING_XML
Definition xmq.h:326
@ XMQ_ERROR_INVALID_NAMESPACE_URI
Definition xmq.h:332
@ XMQ_ERROR_CANNOT_READ_FILE
Definition xmq.h:272
@ XMQ_ERROR_COMPOUND_NOT_CLOSED
Definition xmq.h:290
@ XMQ_OK
Definition xmq.h:270
@ XMQ_ERROR_CANNOT_HANDLE_XML
Definition xmq.h:310
@ XMQ_ERROR_BAD_RANGE
Definition xmq.h:338
@ XMQ_ERROR_UNEXPECTED_CLOSING_BRACE
Definition xmq.h:296
@ XMQ_ERROR_BAD_DOCTYPE
Definition xmq.h:304
@ XMQ_ERROR_EXPECTED_HTML
Definition xmq.h:322
@ XMQ_ERROR_QUOTE_NOT_CLOSED
Definition xmq.h:278
@ XMQ_ERROR_VALUE_CANNOT_START_WITH
Definition xmq.h:330
@ XMQ_ERROR_JSON_INVALID_ESCAPE
Definition xmq.h:306
@ XMQ_ERROR_CANNOT_HANDLE_JSON
Definition xmq.h:314
@ XMQ_ERROR_COMMENT_CLOSED_WITH_TOO_MANY_SLASHES
Definition xmq.h:284
@ XMQ_WARNING_QUOTES_NEEDED
Definition xmq.h:344
@ XMQ_ERROR_EXPECTED_XML
Definition xmq.h:320
@ XMQ_ERROR_BODY_NOT_CLOSED
Definition xmq.h:286
@ XMQ_ERROR_NAMESPACE_PREFIX_ALREADY_TAKEN
Definition xmq.h:336
@ XMQ_ERROR_EXPECTED_CONTENT_AFTER_EQUALS
Definition xmq.h:298
@ XMQ_ERROR_BAD_VALUE
Definition xmq.h:340
@ XMQ_ERROR_EXPECTED_JSON
Definition xmq.h:324
@ XMQ_ERROR_UNEXPECTED_TAB
Definition xmq.h:300
@ XMQ_ERROR_INVALID_NAMESPACE_PREFIX
Definition xmq.h:334
@ XMQ_ERROR_NOT_XMQ
Definition xmq.h:276
@ XMQ_ERROR_CANNOT_HANDLE_HTML
Definition xmq.h:312
@ XMQ_ERROR_IXML_SYNTAX_ERROR
Definition xmq.h:342
@ XMQ_ERROR_ATTRIBUTES_NOT_CLOSED
Definition xmq.h:288
@ XMQ_ERROR_QUOTE_CLOSED_WITH_TOO_MANY_QUOTES
Definition xmq.h:294
@ XMQ_ERROR_ENTITY_NOT_CLOSED
Definition xmq.h:280
@ XMQ_ERROR_COMMENT_NOT_CLOSED
Definition xmq.h:282
@ XMQ_ERROR_EXPECTED_XMQ
Definition xmq.h:316
XMQReturnDoc xmqNewDoc()
void xmqSetRenderRaw(XMQOutputSettings *os, bool render_raw)
double xmqGetDoubleRel(XMQDoc *doc, const char *xpath, XMQNode *relative)
bool xmqParseBufferWithType(XMQDoc *doc, const char *start, const char *stop, const char *implicit_root, XMQContentType ct, int flags)
XMQReturnString xmqChangePrefix(XMQDoc *doq, XMQNode *node, const char *ns_uri, const char *old_prefix, const char *new_prefix)
void * xmqGetImplementationDoc(XMQDoc *doq)
void xmqSetImplementationDoc(XMQDoc *doq, void *doc)
struct XMQAttr XMQAttr
Definition xmq.h:62
XMQNode * xmqGetRootNode(XMQDoc *doq)
void xmqSetRenderTheme(XMQOutputSettings *os, const char *theme_spec)
XMQProceed
Definition xmq.h:249
@ XMQ_STOP
Definition xmq.h:253
@ XMQ_CONTINUE
Definition xmq.h:251
void xmqSetCompact(XMQOutputSettings *os, bool compact)
bool xmqParseFile(XMQDoc *doc, const char *file, const char *implicit_root, int flags)
const char * xmqStateErrorMsg(XMQParseState *state)
XMQReturnAttr xmqSetAttribute(XMQDoc *doq, XMQNode *node, const char *name, const char *value, XMQNS ns)
void xmqSetOutputFormat(XMQOutputSettings *os, XMQContentType output_format)
NamespaceAction
Definition xmq.h:618
@ XMQ_NS_ANCESTOR
Definition xmq.h:622
@ XMQ_NS_HERE
Definition xmq.h:621
@ XMQ_NS_NONE
Definition xmq.h:619
@ XMQ_NS_PARENT
Definition xmq.h:620
struct XMQLineConfig XMQLineConfig
Definition xmq.h:436
XMQReturnNode xmqAddKeyValue(XMQDoc *doq, XMQNode *parent, const char *key, const char *value, XMQNS ns)
void xmqSetupParseCallbacksDebugTokens(XMQParseCallbacks *state)
XMQColorName
Definition xmq.h:170
@ XMQ_COLOR_EKV
Definition xmq.h:184
@ XMQ_COLOR_NSD
Definition xmq.h:192
@ XMQ_COLOR_Q
Definition xmq.h:174
@ XMQ_COLOR_EN
Definition xmq.h:180
@ XMQ_COLOR_NS
Definition xmq.h:178
@ XMQ_COLOR_C
Definition xmq.h:172
@ XMQ_COLOR_UW
Definition xmq.h:194
@ XMQ_COLOR_AK
Definition xmq.h:186
@ XMQ_COLOR_XLS
Definition xmq.h:196
@ XMQ_COLOR_E
Definition xmq.h:176
@ XMQ_COLOR_EK
Definition xmq.h:182
@ XMQ_COLOR_AKV
Definition xmq.h:188
@ XMQ_COLOR_CP
Definition xmq.h:190
void xmqSetPrintAllParsesIXML(XMQParseState *state, bool all_parses)
bool xmqTokenizeFileDescriptor(XMQParseState *state, int fd)
void xmqSetupParseCallbacksColorizeTokens(XMQParseCallbacks *state, XMQRenderFormat render_format)
bool xmqDebugging()
XMQCoreType
Definition xmq.h:387
@ XMQ_CORE_U8
Definition xmq.h:400
@ XMQ_CORE_U16
Definition xmq.h:402
@ XMQ_CORE_URI
Definition xmq.h:420
@ XMQ_CORE_IPV6_ADDRESS
Definition xmq.h:429
@ XMQ_CORE_EMAIL
Definition xmq.h:418
@ XMQ_CORE_U128
Definition xmq.h:408
@ XMQ_CORE_F64
Definition xmq.h:413
@ XMQ_CORE_I16
Definition xmq.h:392
@ XMQ_CORE_IPV4_ADDRESS
Definition xmq.h:427
@ XMQ_CORE_U32
Definition xmq.h:404
@ XMQ_CORE_F32
Definition xmq.h:411
@ XMQ_CORE_U64
Definition xmq.h:406
@ XMQ_CORE_I64
Definition xmq.h:396
@ XMQ_CORE_BOOL
Definition xmq.h:388
@ XMQ_BINARY_BASE64
Definition xmq.h:432
@ XMQ_CORE_URL
Definition xmq.h:422
@ XMQ_CORE_I32
Definition xmq.h:394
@ XMQ_CORE_I8
Definition xmq.h:390
@ XMQ_CORE_IP_ADDRESS
Definition xmq.h:425
@ XMQ_CORE_STRING
Definition xmq.h:416
@ XMQ_CORE_I128
Definition xmq.h:398
void xmqOverrideSettings(XMQOutputSettings *settings, const char *indentation_space, const char *explicit_space, const char *explicit_tab, const char *explicit_cr, const char *explicit_nl)
void xmqRenderHtmlSettings(XMQOutputSettings *settings, const char *use_id, const char *use_class)
XMQNode * xmqGetNodeRel(XMQDoc *doc, const char *xpath, XMQNode *relative)
void xmqSetupPrintMemory(XMQOutputSettings *ps, char **start, char **stop)
void xmqSetRenderOnlyStyle(XMQOutputSettings *os, bool only_style)
XMQParseCallbacks * xmqNewParseCallbacks()
const char * xmqGetStringRel(XMQDoc *doc, const char *xpath, XMQNode *relative)