From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from localhost (fantadrom.bsd.lv [local]) by fantadrom.bsd.lv (OpenSMTPD) with ESMTPA id 85f47a5c for ; Mon, 8 Apr 2019 20:39:40 -0500 (EST) Date: Mon, 8 Apr 2019 20:39:40 -0500 (EST) X-Mailinglist: mandoc-source Reply-To: source@mandoc.bsd.lv MIME-Version: 1.0 From: schwarze@mandoc.bsd.lv To: source@mandoc.bsd.lv Subject: docbook2mdoc: implement file inclusion via X-Mailer: activitymail 1.26, http://search.cpan.org/dist/activitymail/ Content-Type: text/plain; charset=utf-8 Message-ID: Log Message: ----------- implement file inclusion via Modified Files: -------------- docbook2mdoc: node.c node.h parse.c Revision Data ------------- Index: node.h =================================================================== RCS file: /home/cvs/mdocml/docbook2mdoc/node.h,v retrieving revision 1.13 retrieving revision 1.14 diff -Lnode.h -Lnode.h -u -p -r1.13 -r1.14 --- node.h +++ node.h @@ -69,6 +69,7 @@ enum nodeid { NODE_GLOSSTERM, NODE_GROUP, NODE_HOLDER, + NODE_INCLUDE, NODE_INDEX, NODE_INFO, NODE_INFORMALEQUATION, @@ -159,6 +160,7 @@ enum attrkey { ATTRKEY_COLS, ATTRKEY_DEFINITION, ATTRKEY_ENDTERM, + ATTRKEY_HREF, ATTRKEY_ID, ATTRKEY_LINKEND, ATTRKEY_NAME, Index: parse.c =================================================================== RCS file: /home/cvs/mdocml/docbook2mdoc/parse.c,v retrieving revision 1.25 retrieving revision 1.26 diff -Lparse.c -Lparse.c -u -p -r1.25 -r1.26 --- parse.c +++ parse.c @@ -213,7 +213,7 @@ static const struct element elements[] = { "varname", NODE_VARNAME }, { "warning", NODE_WARNING }, { "wordasword", NODE_WORDASWORD }, - { "xi:include", NODE_DELETE_WARN }, + { "xi:include", NODE_INCLUDE }, { "year", NODE_YEAR }, { NULL, NODE_IGNORE } }; @@ -641,6 +641,8 @@ static void xml_elem_end(struct parse *ps, const char *name) { const struct element *elem; + struct pnode *n; + const char *cp; enum nodeid node; /* @@ -670,6 +672,18 @@ xml_elem_end(struct parse *ps, const cha ps->del--; break; case NODE_IGNORE: + break; + case NODE_INCLUDE: + n = ps->cur; + ps->cur = ps->cur->parent; + cp = pnode_getattr_raw(n, ATTRKEY_HREF, NULL); + if (cp == NULL) + error_msg(ps, " element " + "without href attribute"); + else + parse_file(ps, -1, cp); + pnode_unlink(n); + ps->flags &= ~PFLAG_SPC; break; case NODE_DOCTYPE: ps->flags &= ~PFLAG_EEND; Index: node.c =================================================================== RCS file: /home/cvs/mdocml/docbook2mdoc/node.c,v retrieving revision 1.5 retrieving revision 1.6 diff -Lnode.c -Lnode.c -u -p -r1.5 -r1.6 --- node.c +++ node.c @@ -31,6 +31,7 @@ static const char *const attrkeys[ATTRKE "cols", "DEFINITION", "endterm", + "href", "id", "linkend", "NAME", -- To unsubscribe send an email to source+unsubscribe@mandoc.bsd.lv