blob: 33d8a810ce243f5c42973b0a45a239c3e223ecd5 [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
Daniel Veillardbc50b591999-03-01 12:28:53 +000018/**
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
Daniel Veillardbc50b591999-03-01 12:28:53 +000030/**
Daniel Veillard1e346af1999-02-22 10:33:01 +000031 * Entities
32 */
33void
34xmlHandleEntity(xmlParserCtxtPtr ctxt, xmlEntityPtr entity);
35
Daniel Veillardbc50b591999-03-01 12:28:53 +000036/**
37 * Input Streams
38 */
39xmlParserInputPtr
40xmlNewEntityInputStream(xmlParserCtxtPtr ctxt, xmlEntityPtr entity);
41void
42xmlPushInput(xmlParserCtxtPtr ctxt, xmlParserInputPtr input);
43CHAR
44xmlPopInput(xmlParserCtxtPtr ctxt);
45void
46xmlFreeInputStream(xmlParserInputPtr input);
47
48/**
Daniel Veillard1e346af1999-02-22 10:33:01 +000049 * Namespaces.
50 */
51CHAR *
52xmlNamespaceParseNCName(xmlParserCtxtPtr ctxt);
53CHAR *
54xmlNamespaceParseQName(xmlParserCtxtPtr ctxt, CHAR **prefix);
55CHAR *
56xmlNamespaceParseNSDef(xmlParserCtxtPtr ctxt);
57CHAR *
58xmlParseQuotedString(xmlParserCtxtPtr ctxt);
59void
60xmlParseNamespace(xmlParserCtxtPtr ctxt);
61
Daniel Veillardbc50b591999-03-01 12:28:53 +000062/**
Daniel Veillard1e346af1999-02-22 10:33:01 +000063 * Generic production rules
64 */
65CHAR *
66xmlParseName(xmlParserCtxtPtr ctxt);
67CHAR *
68xmlParseNmtoken(xmlParserCtxtPtr ctxt);
69CHAR *
70xmlParseEntityValue(xmlParserCtxtPtr ctxt);
71CHAR *
72xmlParseAttValue(xmlParserCtxtPtr ctxt);
73CHAR *
74xmlParseSystemLiteral(xmlParserCtxtPtr ctxt);
75CHAR *
76xmlParsePubidLiteral(xmlParserCtxtPtr ctxt);
77void
78xmlParseCharData(xmlParserCtxtPtr ctxt, int cdata);
79CHAR *
80xmlParseExternalID(xmlParserCtxtPtr ctxt, CHAR **publicID, int strict);
81xmlNodePtr
82xmlParseComment(xmlParserCtxtPtr ctxt, int create);
83CHAR *
84xmlParsePITarget(xmlParserCtxtPtr ctxt);
85void
86xmlParsePI(xmlParserCtxtPtr ctxt);
87void
88xmlParseNotationDecl(xmlParserCtxtPtr ctxt);
89void
90xmlParseEntityDecl(xmlParserCtxtPtr ctxt);
91int
92xmlParseDefaultDecl(xmlParserCtxtPtr ctxt, CHAR **value);
93xmlEnumerationPtr
94xmlParseNotationType(xmlParserCtxtPtr ctxt);
95xmlEnumerationPtr
96xmlParseEnumerationType(xmlParserCtxtPtr ctxt);
97int
98xmlParseEnumeratedType(xmlParserCtxtPtr ctxt, xmlEnumerationPtr *tree);
99int
100xmlParseAttributeType(xmlParserCtxtPtr ctxt, xmlEnumerationPtr *tree);
101void
102xmlParseAttributeListDecl(xmlParserCtxtPtr ctxt);
103xmlElementContentPtr
104xmlParseElementMixedContentDecl(xmlParserCtxtPtr ctxt);
105xmlElementContentPtr
106xmlParseElementChildrenContentDecl(xmlParserCtxtPtr ctxt);
107int
108xmlParseElementContentDecl(xmlParserCtxtPtr ctxt, CHAR *name,
109 xmlElementContentPtr *result);
110int
111xmlParseElementDecl(xmlParserCtxtPtr ctxt);
112void
113xmlParseMarkupDecl(xmlParserCtxtPtr ctxt);
114CHAR *
115xmlParseCharRef(xmlParserCtxtPtr ctxt);
116CHAR *
117xmlParseEntityRef(xmlParserCtxtPtr ctxt);
118CHAR *
119xmlParseReference(xmlParserCtxtPtr ctxt);
120CHAR *
121xmlParsePEReference(xmlParserCtxtPtr ctxt);
122void
123xmlParseDocTypeDecl(xmlParserCtxtPtr ctxt);
124xmlAttrPtr
125xmlParseAttribute(xmlParserCtxtPtr ctxt, xmlNodePtr node);
126xmlNodePtr
127xmlParseStartTag(xmlParserCtxtPtr ctxt);
128void
129xmlParseEndTag(xmlParserCtxtPtr ctxt, xmlNsPtr *nsPtr, CHAR **tagPtr);
130void
131xmlParseCDSect(xmlParserCtxtPtr ctxt);
132void
133xmlParseContent(xmlParserCtxtPtr ctxt);
134xmlNodePtr
135xmlParseElement(xmlParserCtxtPtr ctxt);
136CHAR *
137xmlParseVersionNum(xmlParserCtxtPtr ctxt);
138CHAR *
139xmlParseVersionInfo(xmlParserCtxtPtr ctxt);
140CHAR *
141xmlParseEncName(xmlParserCtxtPtr ctxt);
142CHAR *
143xmlParseEncodingDecl(xmlParserCtxtPtr ctxt);
144int
145xmlParseSDDecl(xmlParserCtxtPtr ctxt);
146void
147xmlParseXMLDecl(xmlParserCtxtPtr ctxt);
148void
149xmlParseMisc(xmlParserCtxtPtr ctxt);
150
151
152#endif /* __XML_PARSER_INTERNALS_H__ */