=================================================================== RCS file: /cvs/docbook2mdoc/Attic/rules.c,v retrieving revision 1.1 retrieving revision 1.6 diff -u -p -r1.1 -r1.6 --- docbook2mdoc/Attic/rules.c 2014/03/30 11:48:10 1.1 +++ docbook2mdoc/Attic/rules.c 2014/03/30 16:44:13 1.6 @@ -65,6 +65,7 @@ isparent(enum nodeid node, enum nodeid parent) switch (parent) { case (NODE_EMPHASIS): case (NODE_FUNCSYNOPSISINFO): + case (NODE_LINK): case (NODE_PARA): case (NODE_PROGRAMLISTING): case (NODE_REFDESCRIPTOR): @@ -74,6 +75,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_SYNOPSIS): case (NODE_TERM): case (NODE_TITLE): + case (NODE_ULINK): return(1); default: break; @@ -81,6 +83,7 @@ isparent(enum nodeid node, enum nodeid parent) return(0); case (NODE_CMDSYNOPSIS): switch (parent) { + case (NODE_ITEMIZEDLIST): case (NODE_LISTITEM): case (NODE_PARA): case (NODE_REFSECT1): @@ -95,6 +98,7 @@ isparent(enum nodeid node, enum nodeid parent) switch (parent) { case (NODE_EMPHASIS): case (NODE_FUNCSYNOPSISINFO): + case (NODE_LINK): case (NODE_PARA): case (NODE_PROGRAMLISTING): case (NODE_REFDESCRIPTOR): @@ -104,6 +108,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_SYNOPSIS): case (NODE_TERM): case (NODE_TITLE): + case (NODE_ULINK): return(1); default: break; @@ -114,6 +119,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_CMDSYNOPSIS): case (NODE_EMPHASIS): case (NODE_FUNCSYNOPSISINFO): + case (NODE_LINK): case (NODE_PARA): case (NODE_PROGRAMLISTING): case (NODE_REFDESCRIPTOR): @@ -123,15 +129,37 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_SYNOPSIS): case (NODE_TERM): case (NODE_TITLE): + case (NODE_ULINK): return(1); default: break; } return(0); + case (NODE_DATE): + switch (parent) { + case (NODE_EMPHASIS): + case (NODE_FUNCSYNOPSISINFO): + case (NODE_LINK): + case (NODE_PARA): + case (NODE_PROGRAMLISTING): + case (NODE_REFDESCRIPTOR): + case (NODE_REFENTRYINFO): + case (NODE_REFENTRYTITLE): + case (NODE_REFNAME): + case (NODE_REFPURPOSE): + case (NODE_SYNOPSIS): + case (NODE_TITLE): + case (NODE_ULINK): + return(1); + default: + break; + } + return(0); case (NODE_EMPHASIS): switch (parent) { case (NODE_EMPHASIS): case (NODE_FUNCSYNOPSISINFO): + case (NODE_LINK): case (NODE_PARA): case (NODE_PROGRAMLISTING): case (NODE_REFDESCRIPTOR): @@ -141,17 +169,39 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_SYNOPSIS): case (NODE_TERM): case (NODE_TITLE): + case (NODE_ULINK): return(1); default: break; } return(0); + case (NODE_FILENAME): + switch (parent) { + case (NODE_EMPHASIS): + 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_SYNOPSIS): + case (NODE_TERM): + case (NODE_TITLE): + case (NODE_ULINK): + return(1); + default: + break; + } + return(0); case (NODE_FUNCDEF): return(NODE_FUNCPROTOTYPE == parent); case (NODE_FUNCPROTOTYPE): return(NODE_FUNCSYNOPSIS == parent); case (NODE_FUNCSYNOPSIS): switch (parent) { + case (NODE_ITEMIZEDLIST): case (NODE_LISTITEM): case (NODE_PARA): case (NODE_REFSECT1): @@ -170,6 +220,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_EMPHASIS): case (NODE_FUNCDEF): case (NODE_FUNCSYNOPSISINFO): + case (NODE_LINK): case (NODE_PARA): case (NODE_PROGRAMLISTING): case (NODE_REFDESCRIPTOR): @@ -179,13 +230,85 @@ isparent(enum nodeid node, enum nodeid parent) 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_ITEMIZEDLIST): + case (NODE_LISTITEM): + case (NODE_REFSECT1): + case (NODE_REFSYNOPSISDIV): + case (NODE_VARIABLELIST): + return(1); + default: + break; + } + return(0); + case (NODE_LINK): + case (NODE_ULINK): /* Synonyms. */ + switch (parent) { + case (NODE_ARG): + case (NODE_CODE): + case (NODE_COMMAND): + case (NODE_EMPHASIS): + case (NODE_FILENAME): + case (NODE_FUNCDEF): + case (NODE_FUNCSYNOPSISINFO): + case (NODE_FUNCTION): + case (NODE_LINK): + case (NODE_LITERAL): + case (NODE_MANVOLNUM): + case (NODE_OPTION): + case (NODE_PARA): + case (NODE_PARAMDEF): + case (NODE_PARAMETER): + case (NODE_PROGRAMLISTING): + case (NODE_REFDESCRIPTOR): + case (NODE_REFENTRYTITLE): + case (NODE_REFMISCINFO): + case (NODE_REFNAME): + case (NODE_REPLACEABLE): + case (NODE_SYNOPSIS): + case (NODE_TERM): + case (NODE_ULINK): + return(1); + default: + break; + } + return(0); case (NODE_LISTITEM): - return(NODE_VARLISTENTRY == parent); + switch (parent) { + case (NODE_ITEMIZEDLIST): + case (NODE_VARLISTENTRY): + return(1); + default: + break; + } + return(0); + case (NODE_LITERAL): + switch (parent) { + case (NODE_EMPHASIS): + 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_SYNOPSIS): + case (NODE_TERM): + case (NODE_TITLE): + case (NODE_ULINK): + return(1); + default: + break; + } + return(0); case (NODE_MANVOLNUM): switch (parent) { case (NODE_CITEREFENTRY): @@ -200,6 +323,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_ARG): case (NODE_EMPHASIS): case (NODE_FUNCSYNOPSISINFO): + case (NODE_LINK): case (NODE_PARA): case (NODE_PROGRAMLISTING): case (NODE_REFDESCRIPTOR): @@ -209,6 +333,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_SYNOPSIS): case (NODE_TERM): case (NODE_TITLE): + case (NODE_ULINK): return(1); default: break; @@ -216,6 +341,7 @@ isparent(enum nodeid node, enum nodeid parent) return(0); case (NODE_PARA): switch (parent) { + case (NODE_ITEMIZEDLIST): case (NODE_LISTITEM): case (NODE_REFSECT1): case (NODE_REFSYNOPSISDIV): @@ -231,6 +357,7 @@ isparent(enum nodeid node, enum nodeid parent) switch (parent) { case (NODE_CODE): case (NODE_FUNCSYNOPSISINFO): + case (NODE_LINK): case (NODE_PARA): case (NODE_PARAMDEF): case (NODE_PROGRAMLISTING): @@ -241,6 +368,7 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_SYNOPSIS): case (NODE_TERM): case (NODE_TITLE): + case (NODE_ULINK): return(1); default: break; @@ -248,6 +376,7 @@ isparent(enum nodeid node, enum nodeid parent) return(0); case (NODE_PROGRAMLISTING): switch (parent) { + case (NODE_ITEMIZEDLIST): case (NODE_LISTITEM): case (NODE_PARA): case (NODE_REFSECT1): @@ -263,6 +392,8 @@ isparent(enum nodeid node, enum nodeid parent) return(parent == NODE_REFNAMEDIV); case (NODE_REFENTRY): return(parent == NODE_ROOT); + case (NODE_REFENTRYINFO): + return(parent == NODE_REFENTRY); case (NODE_REFENTRYTITLE): switch (parent) { case (NODE_CITEREFENTRY): @@ -291,9 +422,12 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_CODE): case (NODE_COMMAND): case (NODE_EMPHASIS): + case (NODE_FILENAME): case (NODE_FUNCDEF): case (NODE_FUNCSYNOPSISINFO): case (NODE_FUNCTION): + case (NODE_LINK): + case (NODE_LITERAL): case (NODE_MANVOLNUM): case (NODE_OPTION): case (NODE_PARA): @@ -309,10 +443,20 @@ isparent(enum nodeid node, enum nodeid parent) case (NODE_SYNOPSIS): case (NODE_TERM): case (NODE_TITLE): + case (NODE_ULINK): default: return(1); } return(0); + case (NODE_SBR): + switch (parent) { + case (NODE_ARG): + case (NODE_CMDSYNOPSIS): + return(1); + default: + break; + } + return(0); case (NODE_STRUCTNAME): switch (parent) { case (NODE_CODE): @@ -335,6 +479,7 @@ isparent(enum nodeid node, enum nodeid parent) return(0); case (NODE_SYNOPSIS): switch (parent) { + case (NODE_ITEMIZEDLIST): case (NODE_LISTITEM): case (NODE_REFSYNOPSISDIV): case (NODE_REFSECT1): @@ -345,6 +490,8 @@ isparent(enum nodeid node, enum nodeid parent) return(0); case (NODE_TITLE): switch (parent) { + case (NODE_ITEMIZEDLIST): + case (NODE_REFENTRYINFO): case (NODE_REFSECT1): case (NODE_REFSYNOPSISDIV): case (NODE_VARIABLELIST): @@ -359,6 +506,7 @@ isparent(enum nodeid node, enum nodeid parent) return(1); case (NODE_VARIABLELIST): switch (parent) { + case (NODE_ITEMIZEDLIST): case (NODE_PARA): case (NODE_REFSECT1): case (NODE_REFSYNOPSISDIV):