/* ***************************************************************************** * * $RCSfile: parsutil.h,v $ * $Date: 1999/05/22 15:02:53 $ * $Source: /home/richard/Xml/RCS/parsutil.h,v $ * $Revision: 1.14 $ * $Author: richard $ * ***************************************************************************** * * Copyright 1998, 1999 Brown University and Richard Goerwitz * ***************************************************************************** * * Header file for parsutil.c, which contains parsing, validating * routines for xml_file structs (initializers and destructors for * these are in fileutil.c). * ***************************************************************************** */ #ifndef PARSUTIL_H_INCLUDED #define PARSUTIL_H_INCLUDED #include "general.h" #include "fileutil.h" extern int expecting_system_literal; extern int expecting_cpseq_or_choice; extern int in_document_content; extern int seen_doctype_decl; enum scan_objects { file, string, entity_replacement_text }; /* Used by various state machines that check entity replacement text */ enum where_am_i { nowhere, in_markup, in_single_quote, in_double_quote, in_pi, in_comment, in_marked_section, in_entity, in_cdsect }; /* in the lexer */ extern enum scan_objects what_are_we_scanning (void); extern int push_xml_file (struct xml_file *, int); extern int push_entity_text (struct xml_file *, my_wchar_t *, int); extern int pop_xml_file (void); /* in the parser */ extern int parse_xml_file (xml_file *); extern int in_external_dtd_subset (xml_file *); extern int validating (xml_file *); extern int is_builtin (my_wchar_t *); #endif /* PARSUTIL_H_INCLUDED */