version 1.24, 2019/04/08 22:47:34 |
version 1.26, 2019/04/09 01:39:09 |
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 409 xml_entity(struct parse *p, const char *name) |
|
Line 409 xml_entity(struct parse *p, const char *name) |
|
TAILQ_FOREACH(dat, &p->doctype->childq, child) { |
TAILQ_FOREACH(dat, &p->doctype->childq, child) { |
if ((ccp = pnode_getattr_raw(dat, |
if ((ccp = pnode_getattr_raw(dat, |
ATTRKEY_NAME, NULL)) == NULL || |
ATTRKEY_NAME, NULL)) == NULL || |
strcmp(ccp, name) != 0 || |
strcmp(ccp, name) != 0) |
(ccp = pnode_getattr_raw(dat, |
continue; |
|
if ((ccp = pnode_getattr_raw(dat, |
|
ATTRKEY_SYSTEM, NULL)) != NULL) { |
|
parse_file(p, -1, ccp); |
|
p->flags &= ~PFLAG_SPC; |
|
return; |
|
} |
|
if ((ccp = pnode_getattr_raw(dat, |
ATTRKEY_DEFINITION, NULL)) == NULL) |
ATTRKEY_DEFINITION, NULL)) == NULL) |
continue; |
continue; |
if ((cp = strdup(ccp)) == NULL) { |
if ((cp = strdup(ccp)) == NULL) { |
|
|
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 663 xml_elem_end(struct parse *ps, const char *name) |
|
Line 672 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; |