31#define _hideLBfromEditor {
32#define _hideRBfromEditor }
229typedef bool (*
XMQWrite)(
void *writer_state,
const char *start,
const char *stop);
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})
740 const char *old_prefix,
741 const char *new_prefix);
1089 const char *implicit_root,
1100 const char *implicit_root,
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);
1158 const char *use_class);
1169 const char *render_style,
NamespaceAction action
Definition xmq.h:628
const char * uri
Definition xmq.h:630
void * reader_state
Definition xmq.h:215
size_t(* read)(void *reader_state, char *start, char *stop)
Definition xmq.h:217
XMQStatus status
Definition xmq.h:363
XMQAttr * attr
Definition xmq.h:364
XMQStatus status
Definition xmq.h:377
const char * string
Definition xmq.h:378
XMQStatus status
Definition xmq.h:349
XMQDoc * doc
Definition xmq.h:350
XMQNode * node
Definition xmq.h:357
XMQStatus status
Definition xmq.h:356
XMQStatus status
Definition xmq.h:370
char * string
Definition xmq.h:371
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 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()
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 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)
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
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)
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)