=================================================================== RCS file: /cvs/docbook2mdoc/Attic/rules.c,v retrieving revision 1.12 retrieving revision 1.24 diff -u -p -r1.12 -r1.24 --- docbook2mdoc/Attic/rules.c 2014/04/02 07:48:34 1.12 +++ docbook2mdoc/Attic/rules.c 2014/10/12 15:34:44 1.24 @@ -16,6 +16,9 @@ isattrkey(enum nodeid node, enum attrkey key) break; } return(0); + case (ATTRKEY_OPEN): + case (ATTRKEY_CLOSE): + return(node == NODE_MML_MFENCED); case (ATTRKEY_ID): /* Common to all. */ return(1); @@ -73,6 +76,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_FUNCSYNOPSISINFO): case (NODE_PARA): case (NODE_PROGRAMLISTING): + case (NODE_QUOTE): case (NODE_REFDESCRIPTOR): case (NODE_REFENTRYTITLE): case (NODE_REFNAME): @@ -86,6 +90,33 @@ 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): @@ -96,6 +127,28 @@ isparent(enum nodeid node, enum nodeid parent) 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): @@ -104,6 +157,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_LINK): case (NODE_PARA): case (NODE_PROGRAMLISTING): + case (NODE_QUOTE): case (NODE_REFDESCRIPTOR): case (NODE_REFENTRYTITLE): case (NODE_REFNAME): @@ -120,15 +174,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; @@ -142,6 +202,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_LINK): case (NODE_PARA): case (NODE_PROGRAMLISTING): + case (NODE_QUOTE): case (NODE_REFDESCRIPTOR): case (NODE_REFENTRYTITLE): case (NODE_REFNAME): @@ -157,6 +218,16 @@ isparent(enum nodeid node, enum nodeid parent) break; } return(0); + case (NODE_COLSPEC): + switch (parent) { + case (NODE_TFOOT): + case (NODE_THEAD): + case (NODE_TGROUP): + return(1); + default: + break; + } + return(0); case (NODE_COMMAND): switch (parent) { case (NODE_CMDSYNOPSIS): @@ -166,6 +237,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_LINK): case (NODE_PARA): case (NODE_PROGRAMLISTING): + case (NODE_QUOTE): case (NODE_REFDESCRIPTOR): case (NODE_REFENTRYTITLE): case (NODE_REFNAME): @@ -181,14 +253,50 @@ isparent(enum nodeid node, enum nodeid parent) 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): + case (NODE_REFENTRYINFO): + case (NODE_REFMETAINFO): + 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): @@ -211,6 +319,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_LINK): case (NODE_PARA): case (NODE_PROGRAMLISTING): + case (NODE_QUOTE): case (NODE_REFDESCRIPTOR): case (NODE_REFENTRYTITLE): case (NODE_REFNAME): @@ -235,6 +344,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_LINK): case (NODE_PARA): case (NODE_PROGRAMLISTING): + case (NODE_QUOTE): case (NODE_REFDESCRIPTOR): case (NODE_REFENTRYTITLE): case (NODE_REFNAME): @@ -250,6 +360,28 @@ isparent(enum nodeid node, enum nodeid parent) break; } return(0); + case (NODE_FIELDSYNOPSIS): + 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_FILENAME): switch (parent) { case (NODE_EMPHASIS): @@ -258,6 +390,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_LINK): case (NODE_PARA): case (NODE_PROGRAMLISTING): + case (NODE_QUOTE): case (NODE_REFDESCRIPTOR): case (NODE_REFENTRYTITLE): case (NODE_REFNAME): @@ -279,15 +412,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; @@ -305,6 +444,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_LINK): case (NODE_PARA): case (NODE_PROGRAMLISTING): + case (NODE_QUOTE): case (NODE_REFDESCRIPTOR): case (NODE_REFENTRYTITLE): case (NODE_REFNAME): @@ -319,38 +459,124 @@ isparent(enum nodeid node, enum nodeid parent) break; } return(0); - case (NODE_ITEMIZEDLIST): + 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_INFORMALEQUATION): + 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_VARIABLELIST): + case (NODE_WARNING): return(1); default: break; } return(0); - case (NODE_GROUP): + case (NODE_INLINEEQUATION): switch (parent) { - case (NODE_ARG): - case (NODE_CMDSYNOPSIS): - case (NODE_GROUP): + case (NODE_APPLICATION): + case (NODE_EMPHASIS): + case (NODE_ENTRY): + case (NODE_LINK): + case (NODE_PARA): + case (NODE_PROGRAMLISTING): + case (NODE_QUOTE): + case (NODE_REFENTRYTITLE): + case (NODE_SCREEN): + case (NODE_SYNOPSIS): + case (NODE_TERM): + case (NODE_TITLE): + case (NODE_ULINK): 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; + } + return(0); case (NODE_LINK): 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): @@ -358,15 +584,18 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_FUNCDEF): case (NODE_FUNCSYNOPSISINFO): case (NODE_FUNCTION): + case (NODE_HOLDER): case (NODE_LINK): case (NODE_LITERAL): case (NODE_MANVOLNUM): + case (NODE_MODIFIER): case (NODE_OPTION): case (NODE_PARA): case (NODE_PARAMDEF): case (NODE_PARAMETER): case (NODE_PROGRAMLISTING): case (NODE_PROMPT): + case (NODE_QUOTE): case (NODE_REFDESCRIPTOR): case (NODE_REFENTRYTITLE): case (NODE_REFMISCINFO): @@ -375,8 +604,13 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_SCREEN): case (NODE_SYNOPSIS): case (NODE_TERM): + case (NODE_TRADEMARK): + case (NODE_TYPE): case (NODE_ULINK): case (NODE_USERINPUT): + case (NODE_VARNAME): + case (NODE_WORDASWORD): + case (NODE_YEAR): return(1); default: break; @@ -400,6 +634,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_LINK): case (NODE_PARA): case (NODE_PROGRAMLISTING): + case (NODE_QUOTE): case (NODE_REFDESCRIPTOR): case (NODE_REFENTRYTITLE): case (NODE_REFNAME): @@ -424,6 +659,85 @@ isparent(enum nodeid node, enum nodeid parent) break; } return(0); + case (NODE_MML_MATH): + switch (parent) { + case (NODE_INFORMALEQUATION): + case (NODE_INLINEEQUATION): + return(1); + default: + break; + } + return(0); + case (NODE_MML_MFENCED): + case (NODE_MML_MFRAC): + case (NODE_MML_MI): + case (NODE_MML_MN): + case (NODE_MML_MO): + case (NODE_MML_MROW): + case (NODE_MML_MSUB): + case (NODE_MML_MSUP): + switch (parent) { + case (NODE_MML_MATH): + case (NODE_MML_MFENCED): + case (NODE_MML_MFRAC): + case (NODE_MML_MI): + case (NODE_MML_MN): + case (NODE_MML_MO): + case (NODE_MML_MROW): + case (NODE_MML_MSUB): + case (NODE_MML_MSUP): + return(1); + default: + break; + } + return(0); + case (NODE_MODIFIER): + switch (parent) { + case (NODE_CODE): + case (NODE_EMPHASIS): + case (NODE_ENTRY): + case (NODE_FIELDSYNOPSIS): + 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_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): @@ -434,6 +748,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_LINK): case (NODE_PARA): case (NODE_PROGRAMLISTING): + case (NODE_QUOTE): case (NODE_REFDESCRIPTOR): case (NODE_REFENTRYTITLE): case (NODE_REFNAME): @@ -451,15 +766,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; @@ -467,14 +788,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; @@ -485,12 +812,14 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_PARAMETER): switch (parent) { case (NODE_CODE): + case (NODE_EMPHASIS): 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): @@ -508,15 +837,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; @@ -530,6 +865,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_LINK): case (NODE_PARA): case (NODE_PROGRAMLISTING): + case (NODE_QUOTE): case (NODE_REFDESCRIPTOR): case (NODE_REFENTRYTITLE): case (NODE_REFNAME): @@ -545,6 +881,29 @@ isparent(enum nodeid node, enum nodeid parent) 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): @@ -563,6 +922,8 @@ isparent(enum nodeid node, enum nodeid parent) } case (NODE_REFMETA): return(parent == NODE_REFENTRY); + case (NODE_REFMETAINFO): + return(parent == NODE_REFMETA); case (NODE_REFMISCINFO): return(parent == NODE_REFMETA); case (NODE_REFNAME): @@ -582,14 +943,28 @@ 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): @@ -598,15 +973,18 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_FUNCSYNOPSISINFO): case (NODE_FUNCTION): case (NODE_GROUP): + case (NODE_HOLDER): case (NODE_LINK): case (NODE_LITERAL): case (NODE_MANVOLNUM): + case (NODE_MODIFIER): case (NODE_OPTION): case (NODE_PARA): case (NODE_PARAMDEF): case (NODE_PARAMETER): case (NODE_PROGRAMLISTING): case (NODE_PROMPT): + case (NODE_QUOTE): case (NODE_REFDESCRIPTOR): case (NODE_REFENTRYTITLE): case (NODE_REFMISCINFO): @@ -614,11 +992,17 @@ 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_TYPE): case (NODE_ULINK): case (NODE_USERINPUT): + case (NODE_VARNAME): + case (NODE_WORDASWORD): + case (NODE_YEAR): default: return(1); } @@ -645,20 +1029,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): @@ -681,28 +1102,44 @@ 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; @@ -713,16 +1150,27 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_TFOOT): return(NODE_TGROUP == parent); case (NODE_TGROUP): - return(NODE_TABLE == parent); + 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): @@ -735,6 +1183,77 @@ 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_TYPE): + switch (parent) { + case (NODE_CODE): + case (NODE_EMPHASIS): + case (NODE_ENTRY): + case (NODE_FIELDSYNOPSIS): + 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): @@ -743,6 +1262,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_LINK): case (NODE_PARA): case (NODE_PROGRAMLISTING): + case (NODE_QUOTE): case (NODE_REFDESCRIPTOR): case (NODE_REFENTRYTITLE): case (NODE_REFNAME): @@ -760,21 +1280,105 @@ isparent(enum nodeid node, enum nodeid parent) 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_FIELDSYNOPSIS): + 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; }