version 1.25, 2019/04/08 23:40:17 |
version 1.27, 2019/04/09 12:23:34 |
Line 213 static const struct element elements[] = { |
|
Line 213 static const struct element elements[] = { |
|
{ "varname", NODE_VARNAME }, |
{ "varname", NODE_VARNAME }, |
{ "warning", NODE_WARNING }, |
{ "warning", NODE_WARNING }, |
{ "wordasword", NODE_WORDASWORD }, |
{ "wordasword", NODE_WORDASWORD }, |
{ "xi:include", NODE_DELETE_WARN }, |
{ "xi:include", NODE_INCLUDE }, |
{ "year", NODE_YEAR }, |
{ "year", NODE_YEAR }, |
{ NULL, NODE_IGNORE } |
{ NULL, NODE_IGNORE } |
}; |
}; |
Line 631 xml_attrval(struct parse *ps, const char *name) |
|
Line 631 xml_attrval(struct parse *ps, const char *name) |
|
perror(NULL); |
perror(NULL); |
exit(1); |
exit(1); |
} |
} |
|
ps->flags &= ~PFLAG_ATTR; |
} |
} |
|
|
/* |
/* |
|
|
xml_elem_end(struct parse *ps, const char *name) |
xml_elem_end(struct parse *ps, const char *name) |
{ |
{ |
const struct element *elem; |
const struct element *elem; |
|
struct pnode *n; |
|
const char *cp; |
enum nodeid node; |
enum nodeid node; |
|
|
/* |
/* |
Line 670 xml_elem_end(struct parse *ps, const char *name) |
|
Line 673 xml_elem_end(struct parse *ps, const char *name) |
|
ps->del--; |
ps->del--; |
break; |
break; |
case NODE_IGNORE: |
case NODE_IGNORE: |
|
break; |
|
case NODE_INCLUDE: |
|
n = ps->cur; |
|
ps->cur = ps->cur->parent; |
|
cp = pnode_getattr_raw(n, ATTRKEY_HREF, NULL); |
|
if (cp == NULL) |
|
error_msg(ps, "<xi:include> element " |
|
"without href attribute"); |
|
else |
|
parse_file(ps, -1, cp); |
|
pnode_unlink(n); |
|
ps->flags &= ~PFLAG_SPC; |
break; |
break; |
case NODE_DOCTYPE: |
case NODE_DOCTYPE: |
ps->flags &= ~PFLAG_EEND; |
ps->flags &= ~PFLAG_EEND; |