source: trunk/src/ilax.h @ 35

Last change on this file since 35 was 7, checked in by cameron, 11 years ago

Reference extraction; checking ]]> in text; < in atts.

File size: 2.8 KB
Line 
1/*  ilax.h - In-Line API for XML
2    Copyright (c) 2007, Robert D. Cameron.
3    Licensed to the public under the Open Software License 3.0.
4    Licensed to International Characters, Inc., under the Academic
5    Free License 3.0.
6*/
7
8/* Headers for parsing action routines.  To use, YOU MUST PROVIDE
9   your own implementations of these routines.  They will be called
10   during parsing.  In each case, positions are returned identifying
11   the code unit positions of (a) the first code unit of a particular
12   markup item (start_pos), and (b) the first code unit position
13   after the end of a markup item (end_pos).  Code unit positions
14   are relative to the beginning of the document entity being parsed.
15
16*/
17#ifndef ILAX_H
18#define ILAX_H
19
20/* Action routine for an XML comment in "<!--"  "-->" brackets. */
21static inline void Comment_action(int start_pos, int end_pos);
22
23/* Action routine for a CDATA section enclosed in "<![CDATA[" and "]]>" brackets. */
24static inline void CDATA_action(int start_pos, int end_pos);
25
26/* Action routine for an XML processing instruction enclosed in "<?" and "?>" brackets. */
27static inline void PI_action(int start_pos, int end_pos);
28
29/* Action routine for an empty element enclosed in "<" and "/>" brackets. */
30static inline void EmptyElement_action(int start_pos, int end_pos);
31
32/* Action routine for a start tag enclosed in "<" and ">" brackets. */
33static inline void StartTag_action(int start_pos, int end_pos);
34
35/* Action routine for an end tag enclosed in "</" and ">" brackets. */
36static inline void EndTag_action(int start_pos, int end_pos);
37
38/* Action routine for an error item */
39static inline void Error_action(int start_pos, int end_pos);
40
41/* Action routine for a text item */
42static inline void Text_action(int start_pos, int end_pos);
43
44/* Action routine for a character or entity reference.*/
45static inline void Reference_action(int start_pos, int end_pos);
46
47/* Action routine for an element name occurring immediately after the
48   opening "<" of a start tag or empty element tag. */
49static inline void ElementName_action(int start_pos, int end_pos);
50
51/* Action routine for a processing instruction target name occurring immediately
52   after the opening "<?" of a processing instruction. */
53static inline void PI_Target_action(int start_pos, int end_pos);
54
55/* Action routine for an individual attribute/value pair occurring in
56   a element start tag or an empty element tag. */
57static inline void AttributeValue_action(int name_start, int name_end, 
58                                  int val_start, int val_end);
59
60/* Action routine for an individual namespace binding occurring in
61   a element start tag or an empty element tag. */
62static inline void Namespace_action(int name_start, int name_end, 
63                             int URI_start, int URI_end);
64
65static inline void FinalizeBuffer_action();
66
67
68#endif
Note: See TracBrowser for help on using the repository browser.