diff options
| author | steven-vd <steven@vandorp.lu> | 2026-08-16 15:00:32 +0200 |
|---|---|---|
| committer | steven-vd <steven@vandorp.lu> | 2026-08-17 09:31:42 +0200 |
| commit | ee081ca70322cd01d0642fdb1860e6bfbfb48e85 (patch) | |
| tree | 295fdba93b08b24562c6d49e971bbf3425eac50c /examples/c89.c | |
Diffstat (limited to 'examples/c89.c')
| -rw-r--r-- | examples/c89.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/examples/c89.c b/examples/c89.c new file mode 100644 index 0000000..4b0eaf6 --- /dev/null +++ b/examples/c89.c @@ -0,0 +1,33 @@ +#include <assert.h> +#include <stdio.h> +#define ASSERT assert +#define IMXML_SIMD_DEFAULT SSE2 +#define IMXML_IMPLEMENTATION +#include "imxml.h" + +int main (void) { + ImxmlString s, from, to, msg; + XmlContent content; + ImxmlCharSequence const xml = "<msg from=\"John\" to=\"Jane\">Hello, World!</msg>"IMXML_LIT_PAD; + XmlParser p = {0}; + p.head = xml; + + imxml_strlit89(s, "msg"); + assert(xml_tag_expect_str(&p, s)); + imxml_strlit89(s, "from"); + assert(xml_attr_expect_str(&p, s)); + from = xml_value(&p); + imxml_strlit89(s, "to"); + assert(xml_attr_expect_str(&p, s)); + to = xml_value(&p); + + content = xml_content(&p); + assert(content.type == XML_CONTENT_TEXT); + msg = content.data; + assert(xml_content(&p).type == XML_CONTENT_TAG); + + printf("%.*s->%.*s: '%.*s'\n", (int)from.count, from.items, (int)to.count, to.items, (int)msg.count, msg.items); + + return 0; +} + |
