From 7aea09077aad335ac32bfd9858ded60ffd4d8a5b Mon Sep 17 00:00:00 2001 From: Sadeep Madurange Date: Sun, 17 May 2026 13:25:17 +0800 Subject: Parse HTML. --- dom.c | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 dom.c (limited to 'dom.c') diff --git a/dom.c b/dom.c new file mode 100644 index 0000000..a4d75e1 --- /dev/null +++ b/dom.c @@ -0,0 +1,37 @@ +#include + +#include "dom.h" +#include "parse.h" + +void init_dom(const char *html) +{ + parse(html); +} + +/* Parser event handlers */ +extern void on_open(const char *tag, size_t n) +{ + printf("Tag opened: %.*s\n", (int)n, tag); +} + +extern void on_close(const char *tag, size_t n) +{ + printf("Tag closed: %.*s\n", (int)n, tag); +} + +extern void on_text(const char *text, size_t n) +{ + printf("Text: %.*s\n", (int)n, text); +} + +extern void on_attr(const char *name, size_t nname, const char *val, + size_t nval) +{ + printf("Attribute: name=%.*s", (int)nname, name); + + if (val && nval > 0) + printf(", value=%.*s", (int)nval, val); + + printf("\n"); +} + -- cgit v1.2.3