• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1      * Summary: interface for the XML entities handling
2      * Description: this module provides some of the entity API needed
3      *              for the parser and applications.
4      *
5      * Copy: See Copyright for the status of this software.
6      *
7      * Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A.
8
9      /if not defined(XML_ENTITIES_H__)
10      /define XML_ENTITIES_H__
11
12      /include "libxmlrpg/xmlversion"
13      /include "libxmlrpg/xmlTypesC"
14      /include "libxmlrpg/tree"
15
16      * The different valid entity types.
17
18     d xmlEntityType   s                   based(######typedef######)
19     d                                     like(xmlCenum)
20     d  XML_INTERNAL_GENERAL_ENTITY...
21     d                 c                   1
22     d  XML_EXTERNAL_GENERAL_PARSED_ENTITY...
23     d                 c                   2
24     d  XML_EXTERNAL_GENERAL_UNPARSED_ENTITY...
25     d                 c                   3
26     d  XML_INTERNAL_PARAMETER_ENTITY...
27     d                 c                   4
28     d  XML_EXTERNAL_PARAMETER_ENTITY...
29     d                 c                   5
30     d  XML_INTERNAL_PREDEFINED_ENTITY...
31     d                 c                   6
32
33      * An unit of storage for an entity, contains the string, the value
34      * and the linkind data needed for the linking in the hash table.
35
36     d xmlEntity       ds                  based(xmlEntityPtr)
37     d                                     align qualified
38     d  #private                       *                                        void *
39     d  type                               like(xmlElementType)                 XML_ENTITY_DECL
40     d  name                           *                                        const xmlChar *
41     d  children                           like(xmlNodePtr)                     First child link
42     d  last                               like(xmlNodePtr)                     Last child link
43     d  parent                             like(xmlDtdPtr)                      -> DTD
44     d  next                               like(xmlNodePtr)                     next sibling link
45     d  prev                               like(xmlNodePtr)                     prev sibling link
46     d  doc                                like(xmlDocPtr)                      containing document
47     d  orig                           *                                        xmlChar *
48     d  content                        *                                        xmlChar *
49     d  length                             like(xmlCint)                        content length
50     d  etype                              like(xmlEntityType)                  The entity type
51     d  ExternalID                     *                                        const xmlChar *
52     d  SystemlID                      *                                        const xmlChar *
53     d  nexte                              like(xmlEntityPtr)                   unused
54     d  URI                            *                                        const xmlChar *
55     d  owner                              like(xmlCint)                        Owns children ?
56     d  checked                            like(xmlCint)                        Content checked ?
57
58      * All entities are stored in an hash table.
59      * There is 2 separate hash tables for global and parameter entities.
60
61     d xmlEntitiesTablePtr...
62     d                 s               *   based(######typedef######)
63
64      * External functions:
65
66      /if defined(LIBXML_LEGACY_ENABLED)
67     d xmlInitializePredefinedEntities...
68     d                 pr                  extproc(
69     d                                      'xmlInitializePredefinedEntities')
70      /endif                                                                    LIBXML_LEGACY_ENABLD
71
72     d xmlNewEntity    pr                  extproc('xmlNewEntity')
73     d                                     like(xmlEntityPtr)
74     d  doc                                value like(xmlDocPtr)
75     d  name                           *   value options(*string)               const xmlChar *
76     d  type                               value like(xmlCint)
77     d  ExternalID                     *   value options(*string)               const xmlChar *
78     d  SystemID                       *   value options(*string)               const xmlChar *
79     d  content                        *   value options(*string)               const xmlChar *
80
81     d xmlAddDocEntity...
82     d                 pr                  extproc('xmlAddDocEntity')
83     d                                     like(xmlEntityPtr)
84     d  doc                                value like(xmlDocPtr)
85     d  name                           *   value options(*string)               const xmlChar *
86     d  type                               value like(xmlCint)
87     d  ExternalID                     *   value options(*string)               const xmlChar *
88     d  SystemID                       *   value options(*string)               const xmlChar *
89     d  content                        *   value options(*string)               const xmlChar *
90
91     d xmlAddDtdEntity...
92     d                 pr                  extproc('xmlAddDtdEntity')
93     d                                     like(xmlEntityPtr)
94     d  doc                                value like(xmlDocPtr)
95     d  name                           *   value options(*string)               const xmlChar *
96     d  type                               value like(xmlCint)
97     d  ExternalID                     *   value options(*string)               const xmlChar *
98     d  SystemID                       *   value options(*string)               const xmlChar *
99     d  content                        *   value options(*string)               const xmlChar *
100
101     d xmlGetPredefinedEntity...
102     d                 pr                  extproc('xmlGetPredefinedEntity')
103     d                                     like(xmlEntityPtr)
104     d  name                           *   value options(*string)               const xmlChar *
105
106     d xmlGetDocEntity...
107     d                 pr                  extproc('xmlGetDocEntity')
108     d                                     like(xmlEntityPtr)
109     d  doc                                value like(xmlDocPtr)
110     d  name                           *   value options(*string)               const xmlChar *
111
112     d xmlGetDtdEntity...
113     d                 pr                  extproc('xmlGetDtdEntity')
114     d                                     like(xmlEntityPtr)
115     d  doc                                value like(xmlDocPtr)
116     d  name                           *   value options(*string)               const xmlChar *
117
118     d xmlGetParameterEntity...
119     d                 pr                  extproc('xmlGetParameterEntity')
120     d                                     like(xmlEntityPtr)
121     d  doc                                value like(xmlDocPtr)
122     d  name                           *   value options(*string)               const xmlChar *
123
124
125      /if defined(LIBXML_LEGACY_ENABLED)
126     d xmlEncodeEntities...
127     d                 pr              *   extproc('xmlEncodeEntities')         xmlChar *
128     d  doc                                value like(xmlDocPtr)
129     d  input                          *   value options(*string)               const xmlChar *
130      /endif                                                                    LIBXML_LEGACY_ENABLD
131
132     d xmlEncodeEntitiesReentrant...
133     d                 pr              *   extproc(                             xmlChar *
134     d                                      'xmlEncodeEntitiesReentrant')
135     d  doc                                value like(xmlDocPtr)
136     d  input                          *   value options(*string)               const xmlChar *
137XMLPU
138     d xmlEncodeSpecialChars...
139     d                 pr              *   extproc('xmlSpecialChars')           xmlChar *
140     d  doc                                value like(xmlDocPtr)
141     d  input                          *   value options(*string)               const xmlChar *
142XMLPU
143     d xmlCreateEntitiesTable...
144     d                 pr                  extproc('xmlCreateEntitiesTable')
145     d                                     like(xmlEntitiesTablePtr)
146
147      /if defined(LIBXML_TREE_ENABLED)
148     d xmlCopyEntitiesTable...
149     d                 pr                  extproc('xmlCopyEntitiesTable')
150     d                                     like(xmlEntitiesTablePtr)
151     d  table                              value like(xmlEntitiesTablePtr)
152      /endif                                                                    LIBXML_TREE_ENABLED
153
154     d xmlFreeEntitiesTable...
155     d                 pr                  extproc('xmlFreeEntitiesTable')
156     d  table                              value like(xmlEntitiesTablePtr)
157XMLPU
158      /if defined(LIBXML_OUTPUT_ENABLED)
159     d xmlDumpEntitiesTable...
160     d                 pr                  extproc('xmlDumpEntitiesTable')
161     d  buf                                value like(xmlBufferPtr)
162     d  table                              value like(xmlEntitiesTablePtr)
163XMLPU
164     d xmlDumpEntityDecl...
165     d                 pr                  extproc('xmlDumpEntityDecl')
166     d  buf                                value like(xmlBufferPtr)
167     d  ent                                value like(xmlEntityPtr)
168      /endif                                                                    LIBXML_OUTPUT_ENABLD
169
170      /if defined(LIBXML_LEGACY_ENABLED)
171     d xmlCleanupPredefinedEntities...
172     d                 pr                  extproc(
173XMLPUd                                      'xmlCleanupPredefinedEntities')
174      /endif                                                                    LIBXML_LEGACY_ENABLD
175
176      /endif                                                                    XML_ENTITIES_H__
177