=================================================================== RCS file: /cvs/docbook2mdoc/Attic/rules.c,v retrieving revision 1.9 retrieving revision 1.12 diff -u -p -r1.9 -r1.12 --- docbook2mdoc/Attic/rules.c 2014/03/30 17:22:01 1.9 +++ docbook2mdoc/Attic/rules.c 2014/04/02 07:48:34 1.12 @@ -8,12 +8,26 @@ isattrkey(enum nodeid node, enum attrkey key) switch (key) { case (ATTRKEY_CHOICE): - return(node == NODE_ARG); + switch (node) { + case (NODE_ARG): + case (NODE_GROUP): + return(1); + default: + break; + } + return(0); case (ATTRKEY_ID): /* Common to all. */ return(1); case (ATTRKEY_REP): - return(node == NODE_ARG); + switch (node) { + case (NODE_ARG): + case (NODE_GROUP): + return(1); + default: + break; + } + return(0); default: break; } @@ -55,7 +69,9 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_ACRONYM): switch (parent) { case (NODE_EMPHASIS): + case (NODE_ENTRY): case (NODE_FUNCSYNOPSISINFO): + case (NODE_PARA): case (NODE_PROGRAMLISTING): case (NODE_REFDESCRIPTOR): case (NODE_REFENTRYTITLE): @@ -74,6 +90,7 @@ isparent(enum nodeid node, enum nodeid parent) switch (parent) { case (NODE_ARG): case (NODE_CMDSYNOPSIS): + case (NODE_GROUP): return(1); default: break; @@ -82,6 +99,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_CITEREFENTRY): switch (parent) { case (NODE_EMPHASIS): + case (NODE_ENTRY): case (NODE_FUNCSYNOPSISINFO): case (NODE_LINK): case (NODE_PARA): @@ -102,6 +120,7 @@ isparent(enum nodeid node, enum nodeid parent) return(0); case (NODE_CMDSYNOPSIS): switch (parent) { + case (NODE_ENTRY): case (NODE_ITEMIZEDLIST): case (NODE_LISTITEM): case (NODE_ORDEREDLIST): @@ -118,6 +137,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_CODE): switch (parent) { case (NODE_EMPHASIS): + case (NODE_ENTRY): case (NODE_FUNCSYNOPSISINFO): case (NODE_LINK): case (NODE_PARA): @@ -131,6 +151,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_TERM): case (NODE_TITLE): case (NODE_ULINK): + case (NODE_USERINPUT): return(1); default: break; @@ -140,6 +161,7 @@ isparent(enum nodeid node, enum nodeid parent) switch (parent) { case (NODE_CMDSYNOPSIS): case (NODE_EMPHASIS): + case (NODE_ENTRY): case (NODE_FUNCSYNOPSISINFO): case (NODE_LINK): case (NODE_PARA): @@ -153,6 +175,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_TERM): case (NODE_TITLE): case (NODE_ULINK): + case (NODE_USERINPUT): return(1); default: break; @@ -161,6 +184,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_DATE): switch (parent) { case (NODE_EMPHASIS): + case (NODE_ENTRY): case (NODE_FUNCSYNOPSISINFO): case (NODE_LINK): case (NODE_PARA): @@ -182,6 +206,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_EMPHASIS): switch (parent) { case (NODE_EMPHASIS): + case (NODE_ENTRY): case (NODE_FUNCSYNOPSISINFO): case (NODE_LINK): case (NODE_PARA): @@ -200,9 +225,12 @@ isparent(enum nodeid node, enum nodeid parent) break; } return(0); + case (NODE_ENTRY): + return(NODE_ROW == parent); case (NODE_ENVAR): switch (parent) { case (NODE_EMPHASIS): + case (NODE_ENTRY): case (NODE_FUNCSYNOPSISINFO): case (NODE_LINK): case (NODE_PARA): @@ -216,6 +244,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_TERM): case (NODE_TITLE): case (NODE_ULINK): + case (NODE_USERINPUT): return(1); default: break; @@ -224,6 +253,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_FILENAME): switch (parent) { case (NODE_EMPHASIS): + case (NODE_ENTRY): case (NODE_FUNCSYNOPSISINFO): case (NODE_LINK): case (NODE_PARA): @@ -237,6 +267,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_TERM): case (NODE_TITLE): case (NODE_ULINK): + case (NODE_USERINPUT): return(1); default: break; @@ -248,6 +279,7 @@ isparent(enum nodeid node, enum nodeid parent) return(NODE_FUNCSYNOPSIS == parent); case (NODE_FUNCSYNOPSIS): switch (parent) { + case (NODE_ENTRY): case (NODE_ITEMIZEDLIST): case (NODE_LISTITEM): case (NODE_ORDEREDLIST): @@ -267,6 +299,7 @@ isparent(enum nodeid node, enum nodeid parent) switch (parent) { case (NODE_CODE): case (NODE_EMPHASIS): + case (NODE_ENTRY): case (NODE_FUNCDEF): case (NODE_FUNCSYNOPSISINFO): case (NODE_LINK): @@ -288,6 +321,7 @@ isparent(enum nodeid node, enum nodeid parent) return(0); case (NODE_ITEMIZEDLIST): switch (parent) { + case (NODE_ENTRY): case (NODE_ITEMIZEDLIST): case (NODE_LISTITEM): case (NODE_ORDEREDLIST): @@ -300,6 +334,16 @@ isparent(enum nodeid node, enum nodeid parent) break; } return(0); + case (NODE_GROUP): + switch (parent) { + case (NODE_ARG): + case (NODE_CMDSYNOPSIS): + case (NODE_GROUP): + return(1); + default: + break; + } + return(0); case (NODE_LINK): case (NODE_ULINK): /* Synonyms. */ switch (parent) { @@ -308,6 +352,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_CODE): case (NODE_COMMAND): case (NODE_EMPHASIS): + case (NODE_ENTRY): case (NODE_ENVAR): case (NODE_FILENAME): case (NODE_FUNCDEF): @@ -331,6 +376,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_SYNOPSIS): case (NODE_TERM): case (NODE_ULINK): + case (NODE_USERINPUT): return(1); default: break; @@ -349,6 +395,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_LITERAL): switch (parent) { case (NODE_EMPHASIS): + case (NODE_ENTRY): case (NODE_FUNCSYNOPSISINFO): case (NODE_LINK): case (NODE_PARA): @@ -362,6 +409,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_TERM): case (NODE_TITLE): case (NODE_ULINK): + case (NODE_USERINPUT): return(1); default: break; @@ -380,7 +428,9 @@ isparent(enum nodeid node, enum nodeid parent) switch (parent) { case (NODE_ARG): case (NODE_EMPHASIS): + case (NODE_ENTRY): case (NODE_FUNCSYNOPSISINFO): + case (NODE_GROUP): case (NODE_LINK): case (NODE_PARA): case (NODE_PROGRAMLISTING): @@ -393,6 +443,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_TERM): case (NODE_TITLE): case (NODE_ULINK): + case (NODE_USERINPUT): return(1); default: break; @@ -400,6 +451,7 @@ isparent(enum nodeid node, enum nodeid parent) return(0); case (NODE_ORDEREDLIST): switch (parent) { + case (NODE_ENTRY): case (NODE_ITEMIZEDLIST): case (NODE_LISTITEM): case (NODE_ORDEREDLIST): @@ -415,6 +467,7 @@ isparent(enum nodeid node, enum nodeid parent) return(0); case (NODE_PARA): switch (parent) { + case (NODE_ENTRY): case (NODE_ITEMIZEDLIST): case (NODE_LISTITEM): case (NODE_ORDEREDLIST): @@ -432,6 +485,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_PARAMETER): switch (parent) { case (NODE_CODE): + case (NODE_ENTRY): case (NODE_FUNCSYNOPSISINFO): case (NODE_LINK): case (NODE_PARA): @@ -446,6 +500,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_TERM): case (NODE_TITLE): case (NODE_ULINK): + case (NODE_USERINPUT): return(1); default: break; @@ -453,6 +508,7 @@ isparent(enum nodeid node, enum nodeid parent) return(0); case (NODE_PROGRAMLISTING): switch (parent) { + case (NODE_ENTRY): case (NODE_ITEMIZEDLIST): case (NODE_LISTITEM): case (NODE_ORDEREDLIST): @@ -469,6 +525,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_PROMPT): switch (parent) { case (NODE_EMPHASIS): + case (NODE_ENTRY): case (NODE_FUNCSYNOPSISINFO): case (NODE_LINK): case (NODE_PARA): @@ -482,6 +539,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_TERM): case (NODE_TITLE): case (NODE_ULINK): + case (NODE_USERINPUT): return(1); default: break; @@ -533,11 +591,13 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_CODE): case (NODE_COMMAND): case (NODE_EMPHASIS): + case (NODE_ENTRY): case (NODE_ENVAR): case (NODE_FILENAME): case (NODE_FUNCDEF): case (NODE_FUNCSYNOPSISINFO): case (NODE_FUNCTION): + case (NODE_GROUP): case (NODE_LINK): case (NODE_LITERAL): case (NODE_MANVOLNUM): @@ -558,14 +618,26 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_TERM): case (NODE_TITLE): case (NODE_ULINK): + case (NODE_USERINPUT): default: return(1); } return(0); + case (NODE_ROW): + switch (parent) { + case (NODE_TBODY): + case (NODE_TFOOT): + case (NODE_THEAD): + return(1); + default: + break; + } + return(0); case (NODE_SBR): switch (parent) { case (NODE_ARG): case (NODE_CMDSYNOPSIS): + case (NODE_GROUP): return(1); default: break; @@ -573,6 +645,7 @@ isparent(enum nodeid node, enum nodeid parent) return(0); case (NODE_SCREEN): switch (parent) { + case (NODE_ENTRY): case (NODE_ITEMIZEDLIST): case (NODE_LISTITEM): case (NODE_ORDEREDLIST): @@ -608,6 +681,7 @@ isparent(enum nodeid node, enum nodeid parent) return(0); case (NODE_SYNOPSIS): switch (parent) { + case (NODE_ENTRY): case (NODE_ITEMIZEDLIST): case (NODE_LISTITEM): case (NODE_ORDEREDLIST): @@ -619,6 +693,29 @@ isparent(enum nodeid node, enum nodeid parent) break; } return(0); + case (NODE_TABLE): + switch (parent) { + case (NODE_ENTRY): + case (NODE_ITEMIZEDLIST): + case (NODE_LISTITEM): + case (NODE_ORDEREDLIST): + case (NODE_PARA): + case (NODE_REFSECT1): + case (NODE_REFSYNOPSISDIV): + case (NODE_VARIABLELIST): + return(1); + default: + break; + } + return(0); + case (NODE_TBODY): + return(NODE_TGROUP == parent); + case (NODE_TFOOT): + return(NODE_TGROUP == parent); + case (NODE_TGROUP): + return(NODE_TABLE == parent); + case (NODE_THEAD): + return(NODE_TGROUP == parent); case (NODE_TITLE): switch (parent) { case (NODE_ITEMIZEDLIST): @@ -627,6 +724,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_REFSECT1): case (NODE_REFSECT2): case (NODE_REFSYNOPSISDIV): + case (NODE_TABLE): case (NODE_VARIABLELIST): return(1); default: @@ -637,8 +735,32 @@ isparent(enum nodeid node, enum nodeid parent) return(NODE_VARLISTENTRY == parent); case (NODE_TEXT): return(1); + case (NODE_USERINPUT): + switch (parent) { + case (NODE_EMPHASIS): + case (NODE_ENTRY): + case (NODE_FUNCSYNOPSISINFO): + case (NODE_LINK): + case (NODE_PARA): + case (NODE_PROGRAMLISTING): + case (NODE_REFDESCRIPTOR): + case (NODE_REFENTRYTITLE): + case (NODE_REFNAME): + case (NODE_REFPURPOSE): + case (NODE_SCREEN): + case (NODE_SYNOPSIS): + case (NODE_TERM): + case (NODE_TITLE): + case (NODE_ULINK): + case (NODE_USERINPUT): + return(1); + default: + break; + } + return(0); case (NODE_VARIABLELIST): switch (parent) { + case (NODE_ENTRY): case (NODE_ITEMIZEDLIST): case (NODE_ORDEREDLIST): case (NODE_PARA):