freebsd-nq/usr.bin/sgmls/sgmlsasp/replace.h
1995-05-30 06:41:30 +00:00

36 lines
699 B
C

/* replace.h
Interface to replacement file parser. */
enum replacement_type {
DATA_REPL,
ATTR_REPL
};
struct replacement_item {
union {
char *attr;
struct {
char *s;
unsigned n;
} data;
} u;
enum replacement_type type;
struct replacement_item *next;
};
#define NEWLINE_BEGIN 01
#define NEWLINE_END 02
struct replacement {
unsigned flags;
struct replacement_item *items;
};
enum event_type { START_ELEMENT, END_ELEMENT };
struct replacement_table *make_replacement_table P((void));
void load_replacement_file P((struct replacement_table *, char *));
struct replacement *
lookup_replacement P((struct replacement_table *, enum event_type, char *));