=================================================================== RCS file: /cvs/docbook2mdoc/node.h,v retrieving revision 1.3 retrieving revision 1.16 diff -u -p -r1.3 -r1.16 --- docbook2mdoc/node.h 2019/03/26 21:52:09 1.3 +++ docbook2mdoc/node.h 2019/04/11 04:23:22 1.16 @@ -1,4 +1,4 @@ -/* $Id: node.h,v 1.3 2019/03/26 21:52:09 schwarze Exp $ */ +/* $Id: node.h,v 1.16 2019/04/11 04:23:22 schwarze Exp $ */ /* * Copyright (c) 2014 Kristaps Dzonsons * Copyright (c) 2019 Ingo Schwarze @@ -26,32 +26,37 @@ * More DocBook XML elements are recognized, but remapped or discarded. */ enum nodeid { - NODE_IGNORE = 0, /* Must come first. */ - NODE_WARN, + NODE_DELETE_WARN, + NODE_DELETE, + NODE_IGNORE, /* Alpha-ordered hereafter. */ NODE_AFFILIATION, + NODE_APPENDIX, NODE_APPLICATION, NODE_ARG, NODE_AUTHOR, NODE_AUTHORGROUP, NODE_BLOCKQUOTE, - NODE_BOOK, NODE_BOOKINFO, NODE_CAUTION, NODE_CITEREFENTRY, NODE_CITETITLE, NODE_CMDSYNOPSIS, - NODE_CODE, NODE_COLSPEC, NODE_COMMAND, NODE_CONSTANT, + NODE_CONTRIB, NODE_COPYRIGHT, NODE_DATE, + NODE_DOCTYPE, NODE_EDITOR, NODE_EMAIL, NODE_EMPHASIS, + NODE_ENTITY, NODE_ENTRY, NODE_ENVAR, + NODE_ERRORNAME, + NODE_ESCAPE, NODE_FIELDSYNOPSIS, NODE_FILENAME, NODE_FIRSTTERM, @@ -64,11 +69,10 @@ enum nodeid { NODE_GLOSSTERM, NODE_GROUP, NODE_HOLDER, + NODE_INCLUDE, NODE_INDEX, - NODE_INDEXTERM, NODE_INFO, NODE_INFORMALEQUATION, - NODE_INFORMALTABLE, NODE_INLINEEQUATION, NODE_ITEMIZEDLIST, NODE_KEYSYM, @@ -98,7 +102,6 @@ enum nodeid { NODE_PARAMETER, NODE_PERSONNAME, NODE_PREFACE, - NODE_PRIMARY, NODE_PROGRAMLISTING, NODE_PROMPT, NODE_QUOTE, @@ -119,12 +122,10 @@ enum nodeid { NODE_ROW, NODE_SBR, NODE_SCREEN, - NODE_SECONDARY, NODE_SECTION, NODE_SGMLTAG, NODE_SIMPLELIST, NODE_SPANSPEC, - NODE_STRUCTNAME, NODE_SUBTITLE, NODE_SYNOPSIS, NODE_TABLE, @@ -138,7 +139,6 @@ enum nodeid { NODE_TITLE, NODE_TYPE, NODE_ULINK, - NODE_USERINPUT, NODE_VARIABLELIST, NODE_VARLISTENTRY, NODE_VARNAME, @@ -157,10 +157,19 @@ enum attrkey { ATTRKEY_CHOICE = 0, ATTRKEY_CLASS, ATTRKEY_CLOSE, + ATTRKEY_COLS, + ATTRKEY_DEFINITION, + ATTRKEY_ENDTERM, + ATTRKEY_HREF, ATTRKEY_ID, ATTRKEY_LINKEND, + ATTRKEY_NAME, ATTRKEY_OPEN, + ATTRKEY_PUBLIC, ATTRKEY_REP, + ATTRKEY_SYSTEM, + ATTRKEY_URL, + ATTRKEY_XLINK_HREF, ATTRKEY__MAX }; @@ -198,8 +207,7 @@ struct pattr { struct pnode { enum nodeid node; /* Node type. */ char *b; /* String value. */ - char *real; /* Storage for "b". */ - size_t bsz; /* strlen(b) */ + int spc; /* Whitespace before this node. */ struct pnode *parent; /* Parent node or NULL. */ struct pnodeq childq; /* Queue of children. */ struct pattrq attrq; /* Attributes of the node. */ @@ -212,8 +220,10 @@ struct pnode { struct ptree { struct pnode *root; /* The document element. */ int flags; -#define TREE_FAIL (1 << 0) /* A fatal parse error occurred. */ -#define TREE_EQN (1 << 1) /* The document needs inline eqn(7). */ +#define TREE_ERROR (1 << 0) /* A parse error occurred. */ +#define TREE_WARN (1 << 1) /* A parser warning occurred. */ +#define TREE_EQN (1 << 2) /* The document needs inline eqn(7). */ +#define TREE_CLOSED (1 << 3) /* The document element was closed. */ };