blob: d28da73ade5a09d78f2b68e5a46d24627fd4621c [file] [log] [blame]
Daniel Veillard1e346af1999-02-22 10:33:01 +00001/*
2 * parserInternals.h : internals routines exported by the parser.
3 *
4 * See Copyright for the status of this software.
5 *
6 * Daniel.Veillard@w3.org
7 */
8
9#ifndef __XML_PARSER_INTERNALS_H__
10#define __XML_PARSER_INTERNALS_H__
11
12#include "parser.h"
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
18/*
Daniel Veillardd692aa41999-02-28 21:54:31 +000019 * Parser context
20 */
21xmlParserCtxtPtr
22xmlCreateDocParserCtxt(CHAR *cur);
23xmlParserCtxtPtr
24xmlCreateFileParserCtxt(const char *filename);
25xmlParserCtxtPtr
26xmlCreateMemoryParserCtxt(char *buffer, int size);
27void
28xmlFreeParserCtxt(xmlParserCtxtPtr ctxt);
29
30/*
Daniel Veillard1e346af1999-02-22 10:33:01 +000031 * Entities
32 */
33void
34xmlHandleEntity(xmlParserCtxtPtr ctxt, xmlEntityPtr entity);
35
36/*
37 * Namespaces.
38 */
39CHAR *
40xmlNamespaceParseNCName(xmlParserCtxtPtr ctxt);
41CHAR *
42xmlNamespaceParseQName(xmlParserCtxtPtr ctxt, CHAR **prefix);
43CHAR *
44xmlNamespaceParseNSDef(xmlParserCtxtPtr ctxt);
45CHAR *
46xmlParseQuotedString(xmlParserCtxtPtr ctxt);
47void
48xmlParseNamespace(xmlParserCtxtPtr ctxt);
49
50/*
51 * Generic production rules
52 */
53CHAR *
54xmlParseName(xmlParserCtxtPtr ctxt);
55CHAR *
56xmlParseNmtoken(xmlParserCtxtPtr ctxt);
57CHAR *
58xmlParseEntityValue(xmlParserCtxtPtr ctxt);
59CHAR *
60xmlParseAttValue(xmlParserCtxtPtr ctxt);
61CHAR *
62xmlParseSystemLiteral(xmlParserCtxtPtr ctxt);
63CHAR *
64xmlParsePubidLiteral(xmlParserCtxtPtr ctxt);
65void
66xmlParseCharData(xmlParserCtxtPtr ctxt, int cdata);
67CHAR *
68xmlParseExternalID(xmlParserCtxtPtr ctxt, CHAR **publicID, int strict);
69xmlNodePtr
70xmlParseComment(xmlParserCtxtPtr ctxt, int create);
71CHAR *
72xmlParsePITarget(xmlParserCtxtPtr ctxt);
73void
74xmlParsePI(xmlParserCtxtPtr ctxt);
75void
76xmlParseNotationDecl(xmlParserCtxtPtr ctxt);
77void
78xmlParseEntityDecl(xmlParserCtxtPtr ctxt);
79int
80xmlParseDefaultDecl(xmlParserCtxtPtr ctxt, CHAR **value);
81xmlEnumerationPtr
82xmlParseNotationType(xmlParserCtxtPtr ctxt);
83xmlEnumerationPtr
84xmlParseEnumerationType(xmlParserCtxtPtr ctxt);
85int
86xmlParseEnumeratedType(xmlParserCtxtPtr ctxt, xmlEnumerationPtr *tree);
87int
88xmlParseAttributeType(xmlParserCtxtPtr ctxt, xmlEnumerationPtr *tree);
89void
90xmlParseAttributeListDecl(xmlParserCtxtPtr ctxt);
91xmlElementContentPtr
92xmlParseElementMixedContentDecl(xmlParserCtxtPtr ctxt);
93xmlElementContentPtr
94xmlParseElementChildrenContentDecl(xmlParserCtxtPtr ctxt);
95int
96xmlParseElementContentDecl(xmlParserCtxtPtr ctxt, CHAR *name,
97 xmlElementContentPtr *result);
98int
99xmlParseElementDecl(xmlParserCtxtPtr ctxt);
100void
101xmlParseMarkupDecl(xmlParserCtxtPtr ctxt);
102CHAR *
103xmlParseCharRef(xmlParserCtxtPtr ctxt);
104CHAR *
105xmlParseEntityRef(xmlParserCtxtPtr ctxt);
106CHAR *
107xmlParseReference(xmlParserCtxtPtr ctxt);
108CHAR *
109xmlParsePEReference(xmlParserCtxtPtr ctxt);
110void
111xmlParseDocTypeDecl(xmlParserCtxtPtr ctxt);
112xmlAttrPtr
113xmlParseAttribute(xmlParserCtxtPtr ctxt, xmlNodePtr node);
114xmlNodePtr
115xmlParseStartTag(xmlParserCtxtPtr ctxt);
116void
117xmlParseEndTag(xmlParserCtxtPtr ctxt, xmlNsPtr *nsPtr, CHAR **tagPtr);
118void
119xmlParseCDSect(xmlParserCtxtPtr ctxt);
120void
121xmlParseContent(xmlParserCtxtPtr ctxt);
122xmlNodePtr
123xmlParseElement(xmlParserCtxtPtr ctxt);
124CHAR *
125xmlParseVersionNum(xmlParserCtxtPtr ctxt);
126CHAR *
127xmlParseVersionInfo(xmlParserCtxtPtr ctxt);
128CHAR *
129xmlParseEncName(xmlParserCtxtPtr ctxt);
130CHAR *
131xmlParseEncodingDecl(xmlParserCtxtPtr ctxt);
132int
133xmlParseSDDecl(xmlParserCtxtPtr ctxt);
134void
135xmlParseXMLDecl(xmlParserCtxtPtr ctxt);
136void
137xmlParseMisc(xmlParserCtxtPtr ctxt);
138
139
140#endif /* __XML_PARSER_INTERNALS_H__ */