00001 /***************************************************************************** 00002 * xmlns.h 00003 * This file defines macros and constants which are used in xml namespace 00004 * processing. 00005 * 00006 ****************************************************************************/ 00007 00008 #ifndef XMLNS_H_INCLUDED 00009 #define XMLNS_H_INCLUDED 00010 00011 typedef struct _xmlns 00012 { dtd_symbol *name; /* Prefix of the NS */ 00013 dtd_symbol *url; /* pointed-to URL */ 00014 struct _xmlns *next; /* next name */ 00015 } xmlns; 00016 00017 void xmlns_free(sgml_environment *env); 00018 xmlns* xmlns_find(sgml_environment *env, dtd_symbol *ns); 00019 void update_xmlns(dtd_parser *p, dtd_element *e, 00020 int natts, sgml_attribute *atts); 00021 int xmlns_resolve_attribute(dtd_parser *p, dtd_symbol *id, 00022 const ichar **local, const ichar **url); 00023 int xmlns_resolve_element(dtd_parser *p, 00024 const ichar **local, const ichar **url); 00025 00026 #endif /*XMLNS_H_INCLUDED*/