Apache Portable Runtime
apr_xml_internal.h
1 /* Licensed to the Apache Software Foundation (ASF) under one or more
2  * contributor license agreements. See the NOTICE file distributed with
3  * this work for additional information regarding copyright ownership.
4  * The ASF licenses this file to You under the Apache License, Version 2.0
5  * (the "License"); you may not use this file except in compliance with
6  * the License. You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef APR_XML_INTERNAL_H
18 #define APR_XML_INTERNAL_H
19 
20 
21 struct XMLParserImpl {
22  apr_status_t (*Parse)(apr_xml_parser*, const char*, apr_size_t, int);
23  apr_status_t (*cleanup)(void*);
24 };
25 typedef struct XMLParserImpl XMLParserImpl;
26 XMLParserImpl* apr_xml_get_parser_impl(void);
27 
28 
29 /* the real (internal) definition of the parser context */
31  apr_xml_doc *doc; /* the doc we're parsing */
32  apr_pool_t *p; /* the pool we allocate from */
33  apr_xml_elem *cur_elem; /* current element */
34 
35  int error; /* an error has occurred */
36 #define APR_XML_ERROR_EXPAT 1
37 #define APR_XML_ERROR_PARSE_DONE 2
38 /* also: public APR_XML_NS_ERROR_* values (if any) */
39 
40  XML_Parser xp; /* the actual (Expat) XML parser */
41  XML_Error xp_err; /* stored Expat error code */
42  const char *xp_msg;
43  XMLParserImpl *impl;
44 };
45 
46 apr_xml_parser* apr_xml_parser_create_internal(apr_pool_t*, void*, void*, void*);
47 
48 #endif
Definition: apr_xml_internal.h:30
Definition: apr_xml.h:200
Definition: apr_xml.h:162
struct apr_pool_t apr_pool_t
Definition: apr_pools.h:60
int apr_status_t
Definition: apr_errno.h:44
Definition: apr_xml_internal.h:21