version 1.16, 2019/04/06 22:37:57 |
version 1.19, 2019/04/07 17:39:26 |
Line 190 static const struct element elements[] = { |
|
Line 190 static const struct element elements[] = { |
|
{ "title", NODE_TITLE }, |
{ "title", NODE_TITLE }, |
{ "trademark", NODE_IGNORE }, |
{ "trademark", NODE_IGNORE }, |
{ "type", NODE_TYPE }, |
{ "type", NODE_TYPE }, |
{ "ulink", NODE_ULINK }, |
{ "ulink", NODE_LINK }, |
{ "userinput", NODE_LITERAL }, |
{ "userinput", NODE_LITERAL }, |
{ "variablelist", NODE_VARIABLELIST }, |
{ "variablelist", NODE_VARIABLELIST }, |
{ "varlistentry", NODE_VARLISTENTRY }, |
{ "varlistentry", NODE_VARLISTENTRY }, |
Line 456 xml_elem_start(struct parse *ps, const char *name) |
|
Line 456 xml_elem_start(struct parse *ps, const char *name) |
|
perror(NULL); |
perror(NULL); |
exit(1); |
exit(1); |
} |
} |
dat->node = elem->node; |
|
dat->spc = ps->spc; |
/* |
|
* Nodes that begin a new macro or request line or start by |
|
* printing text always want whitespace before themselves. |
|
*/ |
|
|
|
switch (dat->node = elem->node) { |
|
case NODE_AUTHORGROUP: |
|
case NODE_BOOKINFO: |
|
case NODE_CAUTION: |
|
case NODE_EDITOR: |
|
case NODE_ENTRY: |
|
case NODE_FUNCDEF: |
|
case NODE_FUNCPROTOTYPE: |
|
case NODE_INFORMALEQUATION: |
|
case NODE_INLINEEQUATION: |
|
case NODE_ITEMIZEDLIST: |
|
case NODE_LEGALNOTICE: |
|
case NODE_LITERALLAYOUT: |
|
case NODE_NOTE: |
|
case NODE_ORDEREDLIST: |
|
case NODE_PARA: |
|
case NODE_PREFACE: |
|
case NODE_PROGRAMLISTING: |
|
case NODE_REFMETA: |
|
case NODE_REFNAMEDIV: |
|
case NODE_REFSYNOPSISDIV: |
|
case NODE_ROW: |
|
case NODE_SBR: |
|
case NODE_SCREEN: |
|
case NODE_SECTION: |
|
case NODE_SYNOPSIS: |
|
case NODE_TGROUP: |
|
case NODE_TIP: |
|
case NODE_TITLE: |
|
case NODE_VARIABLELIST: |
|
case NODE_VARLISTENTRY: |
|
case NODE_WARNING: |
|
dat->spc = 1; |
|
break; |
|
default: |
|
dat->spc = ps->spc; |
|
break; |
|
} |
dat->parent = ps->cur; |
dat->parent = ps->cur; |
TAILQ_INIT(&dat->childq); |
TAILQ_INIT(&dat->childq); |
TAILQ_INIT(&dat->attrq); |
TAILQ_INIT(&dat->attrq); |
Line 476 xml_attrkey(struct parse *ps, const char *name) |
|
Line 518 xml_attrkey(struct parse *ps, const char *name) |
|
struct pattr *attr; |
struct pattr *attr; |
enum attrkey key; |
enum attrkey key; |
|
|
if (ps->del > 0 || *name == '\0') |
if (ps->del > 0 || ps->ncur == NODE_IGNORE || *name == '\0') |
return; |
return; |
if ((key = attrkey_parse(name)) == ATTRKEY__MAX) { |
if ((key = attrkey_parse(name)) == ATTRKEY__MAX) { |
ps->attr = 0; |
ps->attr = 0; |
Line 498 xml_attrval(struct parse *ps, const char *name) |
|
Line 540 xml_attrval(struct parse *ps, const char *name) |
|
{ |
{ |
struct pattr *attr; |
struct pattr *attr; |
|
|
if (ps->del > 0 || ps->attr == 0) |
if (ps->del > 0 || ps->ncur == NODE_IGNORE || ps->attr == 0) |
return; |
return; |
if ((attr = TAILQ_LAST(&ps->cur->attrq, pattrq)) == NULL) |
if ((attr = TAILQ_LAST(&ps->cur->attrq, pattrq)) == NULL) |
return; |
return; |