=================================================================== RCS file: /cvs/docbook2mdoc/Attic/rules.c,v retrieving revision 1.9 retrieving revision 1.20 diff -u -p -r1.9 -r1.20 --- docbook2mdoc/Attic/rules.c 2014/03/30 17:22:01 1.9 +++ docbook2mdoc/Attic/rules.c 2014/04/30 09:43:55 1.20 @@ -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,8 +69,11 @@ 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_QUOTE): case (NODE_REFDESCRIPTOR): case (NODE_REFENTRYTITLE): case (NODE_REFNAME): @@ -70,22 +87,74 @@ isparent(enum nodeid node, enum nodeid parent) break; } return(0); + case (NODE_ANCHOR): + /* We'll ignore this. */ + return(1); + case (NODE_APPLICATION): + switch (parent) { + case (NODE_EMPHASIS): + case (NODE_ENTRY): + case (NODE_FUNCSYNOPSISINFO): + case (NODE_LINK): + case (NODE_PARA): + case (NODE_PROGRAMLISTING): + case (NODE_QUOTE): + case (NODE_REFCLASS): + 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): + return(1); + default: + break; + } + return(0); case (NODE_ARG): switch (parent) { case (NODE_ARG): case (NODE_CMDSYNOPSIS): + case (NODE_GROUP): return(1); default: break; } return(0); + case (NODE_CAUTION): + switch (parent) { + case (NODE_CAUTION): + case (NODE_ENTRY): + case (NODE_ITEMIZEDLIST): + case (NODE_LISTITEM): + case (NODE_NOTE): + case (NODE_ORDEREDLIST): + case (NODE_PARA): + case (NODE_REFSECT1): + case (NODE_REFSECT2): + case (NODE_REFSECT3): + case (NODE_REFSECTION): + case (NODE_REFSYNOPSISDIV): + case (NODE_TIP): + case (NODE_VARIABLELIST): + case (NODE_WARNING): + return(1); + default: + break; + } + return(0); case (NODE_CITEREFENTRY): switch (parent) { case (NODE_EMPHASIS): + case (NODE_ENTRY): case (NODE_FUNCSYNOPSISINFO): case (NODE_LINK): case (NODE_PARA): case (NODE_PROGRAMLISTING): + case (NODE_QUOTE): case (NODE_REFDESCRIPTOR): case (NODE_REFENTRYTITLE): case (NODE_REFNAME): @@ -102,14 +171,21 @@ isparent(enum nodeid node, enum nodeid parent) return(0); case (NODE_CMDSYNOPSIS): switch (parent) { + case (NODE_CAUTION): + case (NODE_ENTRY): case (NODE_ITEMIZEDLIST): case (NODE_LISTITEM): case (NODE_ORDEREDLIST): + case (NODE_NOTE): case (NODE_PARA): case (NODE_REFSECT1): case (NODE_REFSECT2): + case (NODE_REFSECT3): + case (NODE_REFSECTION): case (NODE_REFSYNOPSISDIV): + case (NODE_TIP): case (NODE_VARIABLELIST): + case (NODE_WARNING): return(1); default: break; @@ -118,10 +194,12 @@ 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): case (NODE_PROGRAMLISTING): + case (NODE_QUOTE): case (NODE_REFDESCRIPTOR): case (NODE_REFENTRYTITLE): case (NODE_REFNAME): @@ -131,6 +209,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,10 +219,12 @@ 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): case (NODE_PROGRAMLISTING): + case (NODE_QUOTE): case (NODE_REFDESCRIPTOR): case (NODE_REFENTRYTITLE): case (NODE_REFNAME): @@ -153,18 +234,54 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_TERM): case (NODE_TITLE): case (NODE_ULINK): + case (NODE_USERINPUT): return(1); default: break; } return(0); + case (NODE_CONSTANT): + switch (parent) { + case (NODE_EMPHASIS): + case (NODE_ENTRY): + case (NODE_FUNCSYNOPSISINFO): + case (NODE_LINK): + case (NODE_ULINK): + case (NODE_PARA): + case (NODE_PROGRAMLISTING): + case (NODE_QUOTE): + 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_USERINPUT): + return(1); + default: + break; + } + return(0); + case (NODE_COPYRIGHT): + switch (parent) { + case (NODE_INFO): + return(1); + default: + break; + } + return(0); case (NODE_DATE): switch (parent) { case (NODE_EMPHASIS): + case (NODE_ENTRY): case (NODE_FUNCSYNOPSISINFO): + case (NODE_INFO): case (NODE_LINK): case (NODE_PARA): case (NODE_PROGRAMLISTING): + case (NODE_QUOTE): case (NODE_REFDESCRIPTOR): case (NODE_REFENTRYINFO): case (NODE_REFENTRYTITLE): @@ -182,10 +299,12 @@ 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): case (NODE_PROGRAMLISTING): + case (NODE_QUOTE): case (NODE_REFDESCRIPTOR): case (NODE_REFENTRYTITLE): case (NODE_REFNAME): @@ -200,13 +319,17 @@ 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): case (NODE_PROGRAMLISTING): + case (NODE_QUOTE): case (NODE_REFDESCRIPTOR): case (NODE_REFENTRYTITLE): case (NODE_REFNAME): @@ -216,6 +339,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,10 +348,12 @@ 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): case (NODE_PROGRAMLISTING): + case (NODE_QUOTE): case (NODE_REFDESCRIPTOR): case (NODE_REFENTRYTITLE): case (NODE_REFNAME): @@ -237,6 +363,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,14 +375,21 @@ isparent(enum nodeid node, enum nodeid parent) return(NODE_FUNCSYNOPSIS == parent); case (NODE_FUNCSYNOPSIS): switch (parent) { + case (NODE_CAUTION): + case (NODE_ENTRY): case (NODE_ITEMIZEDLIST): case (NODE_LISTITEM): case (NODE_ORDEREDLIST): + case (NODE_NOTE): case (NODE_PARA): case (NODE_REFSECT1): case (NODE_REFSECT2): + case (NODE_REFSECT3): + case (NODE_REFSECTION): case (NODE_REFSYNOPSISDIV): + case (NODE_TIP): case (NODE_VARIABLELIST): + case (NODE_WARNING): return(1); default: break; @@ -267,11 +401,13 @@ 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): case (NODE_PARA): case (NODE_PROGRAMLISTING): + case (NODE_QUOTE): case (NODE_REFDESCRIPTOR): case (NODE_REFENTRYTITLE): case (NODE_REFNAME): @@ -286,15 +422,69 @@ 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_HOLDER): + switch (parent) { + case (NODE_COPYRIGHT): + return(1); + default: + break; + } + return(0); + case (NODE_INFO): + switch (parent) { + case (NODE_CAUTION): + case (NODE_CMDSYNOPSIS): + case (NODE_FUNCSYNOPSIS): + case (NODE_FUNCSYNOPSISINFO): + case (NODE_INFORMALTABLE): + case (NODE_ITEMIZEDLIST): + case (NODE_NOTE): + case (NODE_ORDEREDLIST): + case (NODE_PARA): + case (NODE_PROGRAMLISTING): + case (NODE_REFENTRY): + case (NODE_REFSECT1): + case (NODE_REFSECT2): + case (NODE_REFSECT3): + case (NODE_REFSECTION): + case (NODE_REFSYNOPSISDIV): + case (NODE_SCREEN): + case (NODE_SYNOPSIS): + case (NODE_TABLE): + case (NODE_VARIABLELIST): + case (NODE_WARNING): + return(1); + default: + break; + } + return(0); case (NODE_ITEMIZEDLIST): switch (parent) { + case (NODE_CAUTION): + case (NODE_ENTRY): case (NODE_ITEMIZEDLIST): case (NODE_LISTITEM): + case (NODE_NOTE): case (NODE_ORDEREDLIST): + case (NODE_PARA): case (NODE_REFSECT1): case (NODE_REFSECT2): + case (NODE_REFSECT3): + case (NODE_REFSECTION): case (NODE_REFSYNOPSISDIV): + case (NODE_TIP): case (NODE_VARIABLELIST): + case (NODE_WARNING): return(1); default: break; @@ -304,15 +494,19 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_ULINK): /* Synonyms. */ switch (parent) { case (NODE_ACRONYM): + case (NODE_APPLICATION): case (NODE_ARG): case (NODE_CODE): case (NODE_COMMAND): + case (NODE_CONSTANT): case (NODE_EMPHASIS): + case (NODE_ENTRY): case (NODE_ENVAR): case (NODE_FILENAME): case (NODE_FUNCDEF): case (NODE_FUNCSYNOPSISINFO): case (NODE_FUNCTION): + case (NODE_HOLDER): case (NODE_LINK): case (NODE_LITERAL): case (NODE_MANVOLNUM): @@ -322,6 +516,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_PARAMETER): case (NODE_PROGRAMLISTING): case (NODE_PROMPT): + case (NODE_QUOTE): case (NODE_REFDESCRIPTOR): case (NODE_REFENTRYTITLE): case (NODE_REFMISCINFO): @@ -330,7 +525,12 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_SCREEN): case (NODE_SYNOPSIS): case (NODE_TERM): + case (NODE_TRADEMARK): case (NODE_ULINK): + case (NODE_USERINPUT): + case (NODE_VARNAME): + case (NODE_WORDASWORD): + case (NODE_YEAR): return(1); default: break; @@ -349,10 +549,12 @@ 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): case (NODE_PROGRAMLISTING): + case (NODE_QUOTE): case (NODE_REFDESCRIPTOR): case (NODE_REFENTRYTITLE): case (NODE_REFNAME): @@ -362,6 +564,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_TERM): case (NODE_TITLE): case (NODE_ULINK): + case (NODE_USERINPUT): return(1); default: break; @@ -376,14 +579,39 @@ isparent(enum nodeid node, enum nodeid parent) break; } return(0); + case (NODE_NOTE): + switch (parent) { + case (NODE_CAUTION): + case (NODE_ENTRY): + case (NODE_ITEMIZEDLIST): + case (NODE_LISTITEM): + case (NODE_NOTE): + case (NODE_ORDEREDLIST): + case (NODE_PARA): + case (NODE_REFSECT1): + case (NODE_REFSECT2): + case (NODE_REFSECT3): + case (NODE_REFSECTION): + case (NODE_REFSYNOPSISDIV): + case (NODE_TIP): + case (NODE_VARIABLELIST): + case (NODE_WARNING): + return(1); + default: + break; + } + return(0); case (NODE_OPTION): 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): + case (NODE_QUOTE): case (NODE_REFDESCRIPTOR): case (NODE_REFENTRYTITLE): case (NODE_REFNAME): @@ -393,6 +621,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,14 +629,21 @@ isparent(enum nodeid node, enum nodeid parent) return(0); case (NODE_ORDEREDLIST): switch (parent) { + case (NODE_CAUTION): + case (NODE_ENTRY): case (NODE_ITEMIZEDLIST): case (NODE_LISTITEM): case (NODE_ORDEREDLIST): + case (NODE_NOTE): case (NODE_PARA): case (NODE_REFSECT1): case (NODE_REFSECT2): + case (NODE_REFSECT3): + case (NODE_REFSECTION): case (NODE_REFSYNOPSISDIV): + case (NODE_TIP): case (NODE_VARIABLELIST): + case (NODE_WARNING): return(1); default: break; @@ -415,13 +651,20 @@ isparent(enum nodeid node, enum nodeid parent) return(0); case (NODE_PARA): switch (parent) { + case (NODE_CAUTION): + case (NODE_ENTRY): case (NODE_ITEMIZEDLIST): case (NODE_LISTITEM): + case (NODE_NOTE): case (NODE_ORDEREDLIST): case (NODE_REFSECT1): case (NODE_REFSECT2): + case (NODE_REFSECT3): + case (NODE_REFSECTION): case (NODE_REFSYNOPSISDIV): + case (NODE_TIP): case (NODE_VARIABLELIST): + case (NODE_WARNING): return(1); default: break; @@ -432,11 +675,13 @@ 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): case (NODE_PARAMDEF): case (NODE_PROGRAMLISTING): + case (NODE_QUOTE): case (NODE_REFDESCRIPTOR): case (NODE_REFENTRYTITLE): case (NODE_REFNAME): @@ -446,6 +691,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,14 +699,21 @@ isparent(enum nodeid node, enum nodeid parent) return(0); case (NODE_PROGRAMLISTING): switch (parent) { + case (NODE_CAUTION): + case (NODE_ENTRY): case (NODE_ITEMIZEDLIST): case (NODE_LISTITEM): case (NODE_ORDEREDLIST): + case (NODE_NOTE): case (NODE_PARA): case (NODE_REFSECT1): case (NODE_REFSECT2): + case (NODE_REFSECT3): + case (NODE_REFSECTION): case (NODE_REFSYNOPSISDIV): + case (NODE_TIP): case (NODE_VARIABLELIST): + case (NODE_WARNING): return(1); default: break; @@ -469,10 +722,12 @@ 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): case (NODE_PROGRAMLISTING): + case (NODE_QUOTE): case (NODE_REFDESCRIPTOR): case (NODE_REFENTRYTITLE): case (NODE_REFNAME): @@ -482,11 +737,35 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_TERM): case (NODE_TITLE): case (NODE_ULINK): + case (NODE_USERINPUT): return(1); default: break; } return(0); + case (NODE_QUOTE): + switch (parent) { + case (NODE_EMPHASIS): + case (NODE_ENTRY): + case (NODE_FUNCSYNOPSISINFO): + case (NODE_LINK): + case (NODE_PARA): + case (NODE_PROGRAMLISTING): + case (NODE_QUOTE): + 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): + return(1); + default: + break; + } + return(0); case (NODE_REFCLASS): return(parent == NODE_REFNAMEDIV); case (NODE_REFDESCRIPTOR): @@ -524,20 +803,37 @@ isparent(enum nodeid node, enum nodeid parent) break; } return(0); + case (NODE_REFSECT3): + return(parent == NODE_REFSECT2); + case (NODE_REFSECTION): + switch (parent) { + case (NODE_REFENTRY): + case (NODE_REFSECTION): + case (NODE_REFSYNOPSISDIV): + return(1); + default: + break; + } + return(0); case (NODE_REFSYNOPSISDIV): return(parent == NODE_REFENTRY); case (NODE_REPLACEABLE): switch (parent) { case (NODE_ACRONYM): + case (NODE_APPLICATION): case (NODE_ARG): case (NODE_CODE): case (NODE_COMMAND): + case (NODE_CONSTANT): 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_HOLDER): case (NODE_LINK): case (NODE_LITERAL): case (NODE_MANVOLNUM): @@ -547,6 +843,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_PARAMETER): case (NODE_PROGRAMLISTING): case (NODE_PROMPT): + case (NODE_QUOTE): case (NODE_REFDESCRIPTOR): case (NODE_REFENTRYTITLE): case (NODE_REFMISCINFO): @@ -554,18 +851,35 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_REFPURPOSE): case (NODE_REPLACEABLE): case (NODE_SCREEN): + case (NODE_SGMLTAG): case (NODE_SYNOPSIS): case (NODE_TERM): case (NODE_TITLE): + case (NODE_TRADEMARK): case (NODE_ULINK): + case (NODE_USERINPUT): + case (NODE_VARNAME): + case (NODE_WORDASWORD): + case (NODE_YEAR): 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,19 +887,57 @@ isparent(enum nodeid node, enum nodeid parent) return(0); case (NODE_SCREEN): switch (parent) { + case (NODE_CAUTION): + case (NODE_ENTRY): case (NODE_ITEMIZEDLIST): case (NODE_LISTITEM): case (NODE_ORDEREDLIST): + case (NODE_NOTE): case (NODE_PARA): case (NODE_REFSECT1): case (NODE_REFSECT2): + case (NODE_REFSECT3): + case (NODE_REFSECTION): case (NODE_REFSYNOPSISDIV): + case (NODE_TIP): case (NODE_VARIABLELIST): + case (NODE_WARNING): return(1); default: break; } return(0); + case (NODE_SGMLTAG): + switch (parent) { + case (NODE_APPLICATION): + case (NODE_CODE): + case (NODE_COMMAND): + case (NODE_EMPHASIS): + case (NODE_ENTRY): + case (NODE_FILENAME): + case (NODE_FUNCSYNOPSISINFO): + case (NODE_FUNCTION): + case (NODE_LINK): + case (NODE_LITERAL): + case (NODE_OPTION): + case (NODE_PARA): + case (NODE_PARAMETER): + case (NODE_PROGRAMLISTING): + case (NODE_QUOTE): + 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_USERINPUT): + return(1); + default: + break; + } + return(0); case (NODE_STRUCTNAME): switch (parent) { case (NODE_CODE): @@ -608,25 +960,77 @@ isparent(enum nodeid node, enum nodeid parent) return(0); case (NODE_SYNOPSIS): switch (parent) { + case (NODE_CAUTION): + case (NODE_ENTRY): case (NODE_ITEMIZEDLIST): case (NODE_LISTITEM): case (NODE_ORDEREDLIST): + case (NODE_NOTE): + case (NODE_PARA): case (NODE_REFSYNOPSISDIV): case (NODE_REFSECT1): case (NODE_REFSECT2): + case (NODE_REFSECT3): + case (NODE_REFSECTION): + case (NODE_TIP): + case (NODE_WARNING): return(1); default: break; } return(0); + case (NODE_INFORMALTABLE): + /* FALLTHROUGH */ + case (NODE_TABLE): + switch (parent) { + case (NODE_CAUTION): + case (NODE_ENTRY): + case (NODE_ITEMIZEDLIST): + case (NODE_LISTITEM): + case (NODE_ORDEREDLIST): + case (NODE_NOTE): + case (NODE_PARA): + case (NODE_REFSECT1): + case (NODE_REFSECT2): + case (NODE_REFSECT3): + case (NODE_REFSECTION): + case (NODE_REFSYNOPSISDIV): + case (NODE_TIP): + case (NODE_VARIABLELIST): + case (NODE_WARNING): + return(1); + default: + break; + } + return(0); + case (NODE_TBODY): + return(NODE_TGROUP == parent); + case (NODE_TFOOT): + return(NODE_TGROUP == parent); + case (NODE_TGROUP): + switch (parent) { + case (NODE_INFORMALTABLE): + case (NODE_TABLE): + return(1); + default: + break; + } + return(0); + case (NODE_THEAD): + return(NODE_TGROUP == parent); case (NODE_TITLE): switch (parent) { + case (NODE_INFO): + case (NODE_INFORMALTABLE): case (NODE_ITEMIZEDLIST): case (NODE_ORDEREDLIST): case (NODE_REFENTRYINFO): case (NODE_REFSECT1): case (NODE_REFSECT2): + case (NODE_REFSECT3): + case (NODE_REFSECTION): case (NODE_REFSYNOPSISDIV): + case (NODE_TABLE): case (NODE_VARIABLELIST): return(1); default: @@ -637,22 +1041,176 @@ isparent(enum nodeid node, enum nodeid parent) return(NODE_VARLISTENTRY == parent); case (NODE_TEXT): return(1); + case (NODE_TIP): + switch (parent) { + case (NODE_CAUTION): + case (NODE_ENTRY): + case (NODE_ITEMIZEDLIST): + case (NODE_LISTITEM): + case (NODE_NOTE): + case (NODE_ORDEREDLIST): + case (NODE_PARA): + case (NODE_REFSECT1): + case (NODE_REFSECT2): + case (NODE_REFSECT3): + case (NODE_REFSECTION): + case (NODE_REFSYNOPSISDIV): + case (NODE_TIP): + case (NODE_VARIABLELIST): + case (NODE_WARNING): + return(1); + default: + break; + } + return(0); + case (NODE_TRADEMARK): + switch (parent) { + case (NODE_ACRONYM): + case (NODE_EMPHASIS): + case (NODE_ENTRY): + case (NODE_FUNCSYNOPSISINFO): + case (NODE_LINK): + case (NODE_ULINK): + case (NODE_PARA): + case (NODE_PROGRAMLISTING): + case (NODE_QUOTE): + case (NODE_REFDESCRIPTOR): + case (NODE_REFENTRYTITLE): + case (NODE_REFNAME): + case (NODE_REFPURPOSE): + case (NODE_SCREEN): + case (NODE_SYNOPSIS): + case (NODE_TERM): + case (NODE_TITLE): + return(1); + default: + break; + } + return(0); + 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_QUOTE): + 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_CAUTION): + case (NODE_ENTRY): case (NODE_ITEMIZEDLIST): case (NODE_ORDEREDLIST): + case (NODE_NOTE): case (NODE_PARA): case (NODE_REFSECT1): case (NODE_REFSECT2): + case (NODE_REFSECT3): + case (NODE_REFSECTION): case (NODE_REFSYNOPSISDIV): + case (NODE_TIP): case (NODE_VARIABLELIST): + case (NODE_WARNING): return(1); default: break; } return(0); + case (NODE_VARNAME): + switch (parent) { + case (NODE_CODE): + case (NODE_EMPHASIS): + case (NODE_ENTRY): + case (NODE_FUNCSYNOPSISINFO): + case (NODE_LINK): + case (NODE_PARA): + case (NODE_PROGRAMLISTING): + case (NODE_QUOTE): + 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): + return(1); + default: + break; + } + return(0); case (NODE_VARLISTENTRY): return (NODE_VARIABLELIST == parent); + case (NODE_WARNING): + switch (parent) { + case (NODE_CAUTION): + case (NODE_ENTRY): + case (NODE_ITEMIZEDLIST): + case (NODE_LISTITEM): + case (NODE_NOTE): + case (NODE_ORDEREDLIST): + case (NODE_PARA): + case (NODE_REFSECT1): + case (NODE_REFSECT2): + case (NODE_REFSECT3): + case (NODE_REFSECTION): + case (NODE_REFSYNOPSISDIV): + case (NODE_TIP): + case (NODE_VARIABLELIST): + case (NODE_WARNING): + return(1); + default: + break; + } + return(0); + case (NODE_WORDASWORD): + switch (parent) { + case (NODE_EMPHASIS): + case (NODE_ENTRY): + case (NODE_FUNCSYNOPSISINFO): + case (NODE_LINK): + case (NODE_PARA): + case (NODE_PROGRAMLISTING): + case (NODE_QUOTE): + 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): + return(1); + default: + break; + } + return(0); + case (NODE_YEAR): + switch (parent) { + case (NODE_COPYRIGHT): + return(1); + default: + break; + } + return(0); case (NODE__MAX): break; }