version 1.16, 2019/04/06 22:37:57 |
version 1.22, 2019/04/07 19:33:27 |
Line 66 static const struct element elements[] = { |
|
Line 66 static const struct element elements[] = { |
|
{ "acronym", NODE_IGNORE }, |
{ "acronym", NODE_IGNORE }, |
{ "affiliation", NODE_AFFILIATION }, |
{ "affiliation", NODE_AFFILIATION }, |
{ "anchor", NODE_DELETE }, |
{ "anchor", NODE_DELETE }, |
|
{ "appendix", NODE_APPENDIX }, |
{ "application", NODE_APPLICATION }, |
{ "application", NODE_APPLICATION }, |
{ "arg", NODE_ARG }, |
{ "arg", NODE_ARG }, |
|
{ "article", NODE_SECTION }, |
{ "author", NODE_AUTHOR }, |
{ "author", NODE_AUTHOR }, |
{ "authorgroup", NODE_AUTHORGROUP }, |
{ "authorgroup", NODE_AUTHORGROUP }, |
{ "blockquote", NODE_BLOCKQUOTE }, |
{ "blockquote", NODE_BLOCKQUOTE }, |
{ "book", NODE_BOOK }, |
{ "book", NODE_SECTION }, |
{ "bookinfo", NODE_BOOKINFO }, |
{ "bookinfo", NODE_BOOKINFO }, |
{ "caution", NODE_CAUTION }, |
{ "caution", NODE_CAUTION }, |
{ "chapter", NODE_SECTION }, |
{ "chapter", NODE_SECTION }, |
Line 101 static const struct element elements[] = { |
|
Line 103 static const struct element elements[] = { |
|
{ "funcsynopsis", NODE_FUNCSYNOPSIS }, |
{ "funcsynopsis", NODE_FUNCSYNOPSIS }, |
{ "funcsynopsisinfo", NODE_FUNCSYNOPSISINFO }, |
{ "funcsynopsisinfo", NODE_FUNCSYNOPSISINFO }, |
{ "function", NODE_FUNCTION }, |
{ "function", NODE_FUNCTION }, |
|
{ "glossary", NODE_VARIABLELIST }, |
|
{ "glossdef", NODE_IGNORE }, |
|
{ "glossdiv", NODE_IGNORE }, |
|
{ "glossentry", NODE_VARLISTENTRY }, |
|
{ "glosslist", NODE_VARIABLELIST }, |
{ "glossterm", NODE_GLOSSTERM }, |
{ "glossterm", NODE_GLOSSTERM }, |
{ "group", NODE_GROUP }, |
{ "group", NODE_GROUP }, |
{ "holder", NODE_HOLDER }, |
{ "holder", NODE_HOLDER }, |
Line 190 static const struct element elements[] = { |
|
Line 197 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 463 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_APPENDIX: |
|
case NODE_AUTHORGROUP: |
|
case NODE_BLOCKQUOTE: |
|
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 527 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 549 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; |