#include #include "extern.h" int isattrkey(enum nodeid node, enum attrkey key) { switch (key) { case (ATTRKEY_CHOICE): switch (node) { case (NODE_ARG): case (NODE_GROUP): return(1); default: break; } return(0); case (ATTRKEY_OPEN): case (ATTRKEY_CLOSE): return(node == NODE_MML_MFENCED); case (ATTRKEY_ID): /* Common to all. */ return(1); case (ATTRKEY_REP): switch (node) { case (NODE_ARG): case (NODE_GROUP): return(1); default: break; } return(0); default: break; } abort(); return(0); } int isattrval(enum attrkey key, enum attrval val) { switch (val) { case (ATTRVAL_OPT): case (ATTRVAL_PLAIN): case (ATTRVAL_REQ): return(key == ATTRKEY_CHOICE); case (ATTRVAL_REPEAT): case (ATTRVAL_NOREPEAT): return(key == ATTRKEY_REP); default: break; } abort(); return(0); }