summaryrefslogtreecommitdiffstats
path: root/dom.c
diff options
context:
space:
mode:
authorSadeep Madurange <sadeep@asciimx.com>2026-05-17 13:25:17 +0800
committerSadeep Madurange <sadeep@asciimx.com>2026-05-23 14:09:19 +0800
commit7aea09077aad335ac32bfd9858ded60ffd4d8a5b (patch)
treecdca24a43f348afca8cbb5fbc43db95e91a1b066 /dom.c
parente1a2e4150e1b1e6ddedde72dcb9c7146f6eaf85a (diff)
downloadglacier-7aea09077aad335ac32bfd9858ded60ffd4d8a5b.tar.gz
Parse HTML.
Diffstat (limited to 'dom.c')
-rw-r--r--dom.c37
1 files changed, 37 insertions, 0 deletions
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 <stdio.h>
+
+#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");
+}
+