[BACK]Return to node.h CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / docbook2mdoc

Diff for /docbook2mdoc/node.h between version 1.12 and 1.24

version 1.12, 2019/04/07 19:33:27 version 1.24, 2019/04/14 14:00:16
Line 22 
Line 22 
  */   */
   
 /*  /*
    * How the output from each node behaves
    * with respect to mdoc(7) structure.
    */
   enum    nodeclass {
           CLASS_VOID = 0, /* No output at all, children are skipped. */
           CLASS_TEXT,     /* Node prints only text, no macros. */
           CLASS_TRANS,    /* Transparent: only the children are shown. */
           CLASS_LINE,     /* Generates only simple in-line macros. */
           CLASS_ENCL,     /* Explicit or implicit partial blocks. */
           CLASS_BLOCK     /* Output linebreak before and after. */
   };
   
   /*
  * All node types used for formatting purposes.   * All node types used for formatting purposes.
  * More DocBook XML elements are recognized, but remapped or discarded.   * More DocBook XML elements are recognized, but remapped or discarded.
  */   */
 enum    nodeid {  enum    nodeid {
         NODE_DELETE_WARN,  
         NODE_DELETE,  
         NODE_IGNORE,  
         /* Alpha-ordered hereafter. */  
         NODE_AFFILIATION,          NODE_AFFILIATION,
         NODE_APPENDIX,          NODE_APPENDIX,
         NODE_APPLICATION,  
         NODE_ARG,          NODE_ARG,
         NODE_AUTHOR,          NODE_AUTHOR,
         NODE_AUTHORGROUP,          NODE_AUTHORGROUP,
Line 48  enum nodeid {
Line 56  enum nodeid {
         NODE_CONTRIB,          NODE_CONTRIB,
         NODE_COPYRIGHT,          NODE_COPYRIGHT,
         NODE_DATE,          NODE_DATE,
           NODE_DOCTYPE,
         NODE_EDITOR,          NODE_EDITOR,
         NODE_EMAIL,          NODE_EMAIL,
         NODE_EMPHASIS,          NODE_EMPHASIS,
           NODE_ENTITY,
         NODE_ENTRY,          NODE_ENTRY,
         NODE_ENVAR,          NODE_ENVAR,
         NODE_ERRORNAME,          NODE_ERRORNAME,
         NODE_ESCAPE,  
         NODE_FIELDSYNOPSIS,          NODE_FIELDSYNOPSIS,
         NODE_FILENAME,          NODE_FILENAME,
         NODE_FIRSTTERM,          NODE_FIRSTTERM,
Line 67  enum nodeid {
Line 76  enum nodeid {
         NODE_GLOSSTERM,          NODE_GLOSSTERM,
         NODE_GROUP,          NODE_GROUP,
         NODE_HOLDER,          NODE_HOLDER,
           NODE_INCLUDE,
         NODE_INDEX,          NODE_INDEX,
         NODE_INFO,          NODE_INFO,
         NODE_INFORMALEQUATION,          NODE_INFORMALEQUATION,
Line 79  enum nodeid {
Line 89  enum nodeid {
         NODE_LITERAL,          NODE_LITERAL,
         NODE_LITERALLAYOUT,          NODE_LITERALLAYOUT,
         NODE_MANVOLNUM,          NODE_MANVOLNUM,
           NODE_MARKUP,
         NODE_MEMBER,          NODE_MEMBER,
         NODE_MML_MATH,          NODE_MML_MATH,
         NODE_MML_MFENCED,          NODE_MML_MFENCED,
Line 101  enum nodeid {
Line 112  enum nodeid {
         NODE_PREFACE,          NODE_PREFACE,
         NODE_PROGRAMLISTING,          NODE_PROGRAMLISTING,
         NODE_PROMPT,          NODE_PROMPT,
           NODE_PUBDATE,
         NODE_QUOTE,          NODE_QUOTE,
         NODE_REFCLASS,          NODE_REFCLASS,
         NODE_REFDESCRIPTOR,          NODE_REFDESCRIPTOR,
Line 120  enum nodeid {
Line 132  enum nodeid {
         NODE_SBR,          NODE_SBR,
         NODE_SCREEN,          NODE_SCREEN,
         NODE_SECTION,          NODE_SECTION,
         NODE_SGMLTAG,  
         NODE_SIMPLELIST,          NODE_SIMPLELIST,
         NODE_SPANSPEC,          NODE_SPANSPEC,
         NODE_SUBTITLE,          NODE_SUBTITLE,
         NODE_SYNOPSIS,          NODE_SYNOPSIS,
           NODE_SYSTEMITEM,
         NODE_TABLE,          NODE_TABLE,
         NODE_TBODY,          NODE_TBODY,
         NODE_TERM,          NODE_TERM,
         NODE_TEXT,  
         NODE_TFOOT,          NODE_TFOOT,
         NODE_TGROUP,          NODE_TGROUP,
         NODE_THEAD,          NODE_THEAD,
         NODE_TIP,          NODE_TIP,
         NODE_TITLE,          NODE_TITLE,
         NODE_TYPE,          NODE_TYPE,
         NODE_ULINK,  
         NODE_VARIABLELIST,          NODE_VARIABLELIST,
         NODE_VARLISTENTRY,          NODE_VARLISTENTRY,
         NODE_VARNAME,          NODE_VARNAME,
         NODE_WARNING,          NODE_WARNING,
         NODE_WORDASWORD,          NODE_WORDASWORD,
         NODE_YEAR,          NODE_YEAR,
         NODE__MAX          NODE_UNKNOWN,
           NODE_TEXT,
           NODE_ESCAPE,
           NODE_IGNORE,
           NODE_DELETE,
           NODE_DELETE_WARN
 };  };
   
 /*  /*
Line 155  enum attrkey {
Line 170  enum attrkey {
         ATTRKEY_CLASS,          ATTRKEY_CLASS,
         ATTRKEY_CLOSE,          ATTRKEY_CLOSE,
         ATTRKEY_COLS,          ATTRKEY_COLS,
           ATTRKEY_DEFINITION,
         ATTRKEY_ENDTERM,          ATTRKEY_ENDTERM,
           ATTRKEY_HREF,
         ATTRKEY_ID,          ATTRKEY_ID,
         ATTRKEY_LINKEND,          ATTRKEY_LINKEND,
           ATTRKEY_NAME,
         ATTRKEY_OPEN,          ATTRKEY_OPEN,
           ATTRKEY_PUBLIC,
         ATTRKEY_REP,          ATTRKEY_REP,
           ATTRKEY_SYSTEM,
         ATTRKEY_URL,          ATTRKEY_URL,
         ATTRKEY_XLINK_HREF,          ATTRKEY_XLINK_HREF,
         ATTRKEY__MAX          ATTRKEY__MAX
Line 171  enum attrkey {
Line 191  enum attrkey {
  */   */
 enum    attrval {  enum    attrval {
         /* Alpha-order... */          /* Alpha-order... */
           ATTRVAL_EVENT,
           ATTRVAL_IPADDRESS,
         ATTRVAL_MONOSPACED,          ATTRVAL_MONOSPACED,
         ATTRVAL_NOREPEAT,          ATTRVAL_NOREPEAT,
         ATTRVAL_OPT,          ATTRVAL_OPT,
         ATTRVAL_PLAIN,          ATTRVAL_PLAIN,
         ATTRVAL_REPEAT,          ATTRVAL_REPEAT,
         ATTRVAL_REQ,          ATTRVAL_REQ,
           ATTRVAL_SYSTEMNAME,
         ATTRVAL__MAX          ATTRVAL__MAX
 };  };
   
Line 199  struct pattr {
Line 222  struct pattr {
 struct  pnode {  struct  pnode {
         enum nodeid      node;     /* Node type. */          enum nodeid      node;     /* Node type. */
         char            *b;        /* String value. */          char            *b;        /* String value. */
         char            *real;     /* Storage for "b". */  
         size_t           bsz;      /* strlen(b) */  
         int              spc;      /* Whitespace before this node. */          int              spc;      /* Whitespace before this node. */
         struct pnode    *parent;   /* Parent node or NULL. */          struct pnode    *parent;   /* Parent node or NULL. */
         struct pnodeq    childq;   /* Queue of children. */          struct pnodeq    childq;   /* Queue of children. */
Line 214  struct pnode {
Line 235  struct pnode {
 struct  ptree {  struct  ptree {
         struct pnode    *root;     /* The document element. */          struct pnode    *root;     /* The document element. */
         int              flags;          int              flags;
 #define TREE_FAIL        (1 << 0)  /* A fatal parse error occurred. */  #define TREE_ERROR       (1 << 0)  /* A parse error occurred. */
 #define TREE_EQN         (1 << 1)  /* The document needs inline eqn(7). */  #define TREE_WARN        (1 << 1)  /* A parser warning occurred. */
 #define TREE_CLOSED      (1 << 2)  /* The document element was closed. */  #define TREE_CLOSED      (1 << 3)  /* The document element was closed. */
 };  };
   
   
 enum attrkey     attrkey_parse(const char *);  enum attrkey     attrkey_parse(const char *);
   const char      *attrkey_name(enum attrkey);
 enum attrval     attrval_parse(const char *);  enum attrval     attrval_parse(const char *);
   const char      *attr_getval(const struct pattr *a);
   enum nodeid      pnode_parse(const char *name);
   const char      *pnode_name(enum nodeid);
   enum nodeclass   pnode_class(enum nodeid);
   
   struct pnode    *pnode_alloc(struct pnode *);
 void             pnode_unlink(struct pnode *);  void             pnode_unlink(struct pnode *);
 void             pnode_unlinksub(struct pnode *);  void             pnode_unlinksub(struct pnode *);
 enum attrval     pnode_getattr(struct pnode *, enum attrkey);  enum attrval     pnode_getattr(struct pnode *, enum attrkey);
 const char      *pnode_getattr_raw(struct pnode *, enum attrkey, const char *);  const char      *pnode_getattr_raw(struct pnode *, enum attrkey, const char *);
 struct pnode    *pnode_findfirst(struct pnode *, enum nodeid);  struct pnode    *pnode_findfirst(struct pnode *, enum nodeid);
   struct pnode    *pnode_takefirst(struct pnode *, enum nodeid);

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.24

CVSweb