1      * Summary: implementation of XInclude
2      * Description: API to handle XInclude processing,
3      * implements the
4      * World Wide Web Consortium Last Call Working Draft 10 November 2003
5      * http://www.w3.org/TR/2003/WD-xinclude-20031110
6      *
7      * Copy: See Copyright for the status of this software.
8      *
9      * Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A.
10
11      /if not defined(XML_XINCLUDE_H__)
12      /define XML_XINCLUDE_H__
13
14      /include "libxmlrpg/xmlversion"
15      /include "libxmlrpg/tree"
16
17      /if defined(LIBXML_XINCLUDE_ENABLED)
18
19      * XINCLUDE_NS:
20      *
21      * Macro defining the Xinclude namespace: http://www.w3.org/2003/XInclude
22
23     d XINCLUDE_NS     c                   'http://www.w3.org/2003/XInclude'
24
25
26      * XINCLUDE_OLD_NS:
27      *
28      * Define the draft Xinclude namespace: http://www.w3.org/2001/XInclude
29
30     d XINCLUDE_OLD_NS...
31     d                 c                   'http://www.w3.org/2001/XInclude'
32
33      * XINCLUDE_NODE:
34      *
35      * Macro defining "include"
36
37     d XINCLUDE_NODE   c                   'include'
38
39      * XINCLUDE_FALLBACK:
40      *
41      * Macro defining "fallback"
42
43     d XINCLUDE_FALLBACK...
44     d                 c                   'fallback'
45
46      * XINCLUDE_HREF:
47      *
48      * Macro defining "href"
49
50     d XINCLUDE_HREF   c                   'href'
51
52      * XINCLUDE_PARSE:
53      *
54      * Macro defining "parse"
55
56     d XINCLUDE_PARSE  c                   'parse'
57
58      * XINCLUDE_PARSE_XML:
59      *
60      * Macro defining "xml"
61
62     d XINCLUDE_PARSE_XML...
63     d                 c                   'xml'
64
65      * XINCLUDE_PARSE_TEXT:
66      *
67      * Macro defining "text"
68
69     d XINCLUDE_PARSE_TEXT...
70     d                 c                   'text'
71
72      * XINCLUDE_PARSE_ENCODING:
73      *
74      * Macro defining "encoding"
75
76     d XINCLUDE_PARSE_ENCODING...
77     d                 c                   'encoding'
78
79      * XINCLUDE_PARSE_XPOINTER:
80      *
81      * Macro defining "xpointer"
82
83     d XINCLUDE_PARSE_XPOINTER...
84     d                 c                   'xpointer'
85
86     d xmlXIncludeCtxtPtr...
87     d                 s               *   based(######typedef######)
88
89      * standalone processing
90
91     d xmlXIncludeProcess...
92     d                 pr            10i 0 extproc('xmlXIncludeProcess')
93     d  doc                                value like(xmlDocPtr)
94
95     d xmlXIncludeProcessFlags...
96     d                 pr            10i 0 extproc('xmlXIncludeProcessFlags')
97     d  doc                                value like(xmlDocPtr)
98     d  flags                        10i 0 value
99
100     d xmlXIncludeProcessFlagsData...
101     d                 pr            10i 0 extproc(
102     d                                     'xmlXIncludeProcessFlagsData')
103     d  doc                                value like(xmlDocPtr)
104     d  flags                        10i 0 value
105     d  data                           *   value                                void *
106
107     d xmlXIncludeProcessTreeFlagsData...
108     d                 pr            10i 0 extproc(
109     d                                     'xmlXIncludeProcessTreeFlagsData')
110     d  tree                               value like(xmlNodePtr)
111     d  flags                        10i 0 value
112     d  data                           *   value                                void *
113
114     d xmlXIncludeProcessTree...
115     d                 pr            10i 0 extproc('xmlXIncludeProcessTree')
116     d  tree                               value like(xmlNodePtr)
117
118     d xmlXIncludeProcessTreeFlags...
119     d                 pr            10i 0 extproc(
120     d                                     'xmlXIncludeProcessTreeFlags')
121     d  tree                               value like(xmlNodePtr)
122     d  flags                        10i 0 value
123
124
125      * contextual processing
126
127     d xmlXIncludeNewContext...
128     d                 pr                  extproc('xmlXIncludeNewContext')
129     d                                     like(xmlXIncludeCtxtPtr)
130     d  doc                                value like(xmlDocPtr)
131
132     d xmlXIncludeSetFlags...
133     d                 pr            10i 0 extproc('xmlXIncludeSetFlags')
134     d  ctxt                               value like(xmlXIncludeCtxtPtr)
135     d  flags                        10i 0 value
136
137     d xmlXIncludeFreeContext...
138     d                 pr                  extproc('xmlXIncludeFreeContext')
139     d  ctxt                               value like(xmlXIncludeCtxtPtr)
140
141     d xmlXIncludeProcessNode...
142     d                 pr            10i 0 extproc('xmlXIncludeProcessNode')
143     d  ctxt                               value like(xmlXIncludeCtxtPtr)
144     d  tree                               value like(xmlNodePtr)
145
146      /endif                                                                    XINCLUDE_ENABLED
147      /endif                                                                    XML_XINCLUDE_H__
148