d6fd6babc943589c5b6be79f7412486fea278250
[platform/upstream/libxslt.git] / doc / libxslt-decl.txt
1 <MACRO>
2 <NAME>LIBXSLT_DOTTED_VERSION</NAME>
3 #define LIBXSLT_DOTTED_VERSION "1.0.31"
4 </MACRO>
5 <MACRO>
6 <NAME>LIBXSLT_VERSION</NAME>
7 #define LIBXSLT_VERSION 10031
8 </MACRO>
9 <MACRO>
10 <NAME>LIBXSLT_VERSION_STRING</NAME>
11 #define LIBXSLT_VERSION_STRING "10031"
12 </MACRO>
13 <MACRO>
14 <NAME>WITH_XSLT_DEBUG</NAME>
15 #define WITH_XSLT_DEBUG
16 </MACRO>
17 <MACRO>
18 <NAME>DEBUG_MEMORY</NAME>
19 #define DEBUG_MEMORY
20 </MACRO>
21 <MACRO>
22 <NAME>DEBUG_MEMORY_LOCATION</NAME>
23 #define DEBUG_MEMORY_LOCATION
24 </MACRO>
25 <MACRO>
26 <NAME>XSLT_NEED_TRIO</NAME>
27 #define XSLT_NEED_TRIO
28 </MACRO>
29 <MACRO>
30 <NAME>XSLT_NEED_TRIO</NAME>
31 #define XSLT_NEED_TRIO
32 </MACRO>
33 <MACRO>
34 <NAME>WITH_DEBUGGER</NAME>
35 #define WITH_DEBUGGER
36 </MACRO>
37 <MACRO>
38 <NAME>ATTRIBUTE_UNUSED</NAME>
39 #define ATTRIBUTE_UNUSED
40 </MACRO>
41 <MACRO>
42 <NAME>ATTRIBUTE_UNUSED</NAME>
43 #define ATTRIBUTE_UNUSED
44 </MACRO>
45 <MACRO>
46 <NAME>LIBXSLT_PUBLIC</NAME>
47 #define LIBXSLT_PUBLIC __declspec(dllimport)
48 </MACRO>
49 <MACRO>
50 <NAME>LIBXSLT_PUBLIC</NAME>
51 #define LIBXSLT_PUBLIC
52 </MACRO>
53 <FUNCTION>
54 <NAME>xsltParseStylesheetAttributeSet</NAME>
55 <RETURNS>void   </RETURNS>
56 xsltStylesheetPtr style,xmlNodePtr cur
57 </FUNCTION>
58 <FUNCTION>
59 <NAME>xsltFreeAttributeSetsHashes</NAME>
60 <RETURNS>void   </RETURNS>
61 xsltStylesheetPtr style
62 </FUNCTION>
63 <FUNCTION>
64 <NAME>xsltApplyAttributeSet</NAME>
65 <RETURNS>void   </RETURNS>
66 xsltTransformContextPtr ctxt,xmlNodePtr node,xmlNodePtr inst,xmlChar *attributes
67 </FUNCTION>
68 <FUNCTION>
69 <NAME>xsltResolveStylesheetAttributeSet</NAME>
70 <RETURNS>void   </RETURNS>
71 xsltStylesheetPtr style
72 </FUNCTION>
73 <MACRO>
74 <NAME>XSLT_LIBXSLT_NAMESPACE</NAME>
75 #define XSLT_LIBXSLT_NAMESPACE ((xmlChar *) "http://xmlsoft.org/XSLT/namespace")
76 </MACRO>
77 <MACRO>
78 <NAME>XSLT_SAXON_NAMESPACE</NAME>
79 #define XSLT_SAXON_NAMESPACE ((xmlChar *) "http://icl.com/saxon")
80 </MACRO>
81 <MACRO>
82 <NAME>XSLT_XT_NAMESPACE</NAME>
83 #define XSLT_XT_NAMESPACE ((xmlChar *) "http://www.jclark.com/xt")
84 </MACRO>
85 <MACRO>
86 <NAME>XSLT_XALAN_NAMESPACE</NAME>
87 #define XSLT_XALAN_NAMESPACE ((xmlChar *)       \
88                                 "org.apache.xalan.xslt.extensions.Redirect")
89 </MACRO>
90 <MACRO>
91 <NAME>XSLT_NORM_SAXON_NAMESPACE</NAME>
92 #define XSLT_NORM_SAXON_NAMESPACE ((xmlChar *)  \
93         "http://nwalsh.com/xslt/ext/com.nwalsh.saxon.CVS")
94 </MACRO>
95 <FUNCTION>
96 <NAME>xsltFunctionNodeSet</NAME>
97 <RETURNS>void   </RETURNS>
98 xmlXPathParserContextPtr ctxt,int nargs
99 </FUNCTION>
100 <FUNCTION>
101 <NAME>xsltDebug</NAME>
102 <RETURNS>void   </RETURNS>
103 xsltTransformContextPtr ctxt,xmlNodePtr node,xmlNodePtr inst,xsltStylePreCompPtr comp
104 </FUNCTION>
105 <FUNCTION>
106 <NAME>xsltRegisterExtras</NAME>
107 <RETURNS>void   </RETURNS>
108 xsltTransformContextPtr ctxt
109 </FUNCTION>
110 <FUNCTION>
111 <NAME>xsltRegisterAllExtras</NAME>
112 <RETURNS>void   </RETURNS>
113 void
114 </FUNCTION>
115 <FUNCTION>
116 <NAME>xsltNewDocument</NAME>
117 <RETURNS>xsltDocumentPtr        </RETURNS>
118 xsltTransformContextPtr ctxt,xmlDocPtr doc
119 </FUNCTION>
120 <FUNCTION>
121 <NAME>xsltLoadDocument</NAME>
122 <RETURNS>xsltDocumentPtr        </RETURNS>
123 xsltTransformContextPtr ctxt,const xmlChar *URI
124 </FUNCTION>
125 <FUNCTION>
126 <NAME>xsltFindDocument</NAME>
127 <RETURNS>xsltDocumentPtr        </RETURNS>
128 xsltTransformContextPtr ctxt,xmlDocPtr doc
129 </FUNCTION>
130 <FUNCTION>
131 <NAME>xsltFreeDocuments</NAME>
132 <RETURNS>void   </RETURNS>
133 xsltTransformContextPtr ctxt
134 </FUNCTION>
135 <FUNCTION>
136 <NAME>xsltLoadStyleDocument</NAME>
137 <RETURNS>xsltDocumentPtr        </RETURNS>
138 xsltStylesheetPtr style,const xmlChar *URI
139 </FUNCTION>
140 <FUNCTION>
141 <NAME>xsltNewStyleDocument</NAME>
142 <RETURNS>xsltDocumentPtr        </RETURNS>
143 xsltStylesheetPtr style,xmlDocPtr doc
144 </FUNCTION>
145 <FUNCTION>
146 <NAME>xsltFreeStyleDocuments</NAME>
147 <RETURNS>void   </RETURNS>
148 xsltStylesheetPtr style
149 </FUNCTION>
150 <USER_FUNCTION>
151 <NAME>xsltStyleExtInitFunction</NAME>
152 <RETURNS>void *</RETURNS>
153 xsltStylesheetPtr style,
154                                                  const xmlChar *URI
155 </USER_FUNCTION>
156 <USER_FUNCTION>
157 <NAME>xsltStyleExtShutdownFunction</NAME>
158 <RETURNS>void </RETURNS>
159 xsltStylesheetPtr style,
160                                                  const xmlChar *URI,
161                                                  void *data
162 </USER_FUNCTION>
163 <USER_FUNCTION>
164 <NAME>xsltExtInitFunction</NAME>
165 <RETURNS>void *</RETURNS>
166 xsltTransformContextPtr ctxt,
167                                          const xmlChar *URI
168 </USER_FUNCTION>
169 <USER_FUNCTION>
170 <NAME>xsltExtShutdownFunction</NAME>
171 <RETURNS>void </RETURNS>
172 xsltTransformContextPtr ctxt,
173                                          const xmlChar *URI,
174                                          void *data
175 </USER_FUNCTION>
176 <FUNCTION>
177 <NAME>xsltRegisterExtModule</NAME>
178 <RETURNS>int    </RETURNS>
179 const xmlChar *URI,xsltExtInitFunction initFunc,xsltExtShutdownFunction shutdownFunc
180 </FUNCTION>
181 <FUNCTION>
182 <NAME>xsltRegisterExtModuleFull</NAME>
183 <RETURNS>int    </RETURNS>
184 const xmlChar * URI,xsltExtInitFunction initFunc,xsltExtShutdownFunction shutdownFunc,xsltStyleExtInitFunction styleInitFunc,xsltStyleExtShutdownFunction styleShutdownFunc
185 </FUNCTION>
186 <FUNCTION>
187 <NAME>xsltUnregisterExtModule</NAME>
188 <RETURNS>int    </RETURNS>
189 const xmlChar * URI
190 </FUNCTION>
191 <FUNCTION>
192 <NAME>xsltGetExtData</NAME>
193 <RETURNS>void  *</RETURNS>
194 xsltTransformContextPtr ctxt,const xmlChar *URI
195 </FUNCTION>
196 <FUNCTION>
197 <NAME>xsltStyleGetExtData</NAME>
198 <RETURNS>void  *</RETURNS>
199 xsltStylesheetPtr style,const xmlChar *URI
200 </FUNCTION>
201 <FUNCTION>
202 <NAME>xsltShutdownCtxtExts</NAME>
203 <RETURNS>void   </RETURNS>
204 xsltTransformContextPtr ctxt
205 </FUNCTION>
206 <FUNCTION>
207 <NAME>xsltShutdownExts</NAME>
208 <RETURNS>void   </RETURNS>
209 xsltStylesheetPtr style
210 </FUNCTION>
211 <FUNCTION>
212 <NAME>xsltXPathGetTransformContext</NAME>
213 <RETURNS>xsltTransformContextPtr  </RETURNS>
214 xmlXPathParserContextPtr ctxt
215 </FUNCTION>
216 <FUNCTION>
217 <NAME>xsltRegisterExtModuleFunction</NAME>
218 <RETURNS>int    </RETURNS>
219 const xmlChar *name,const xmlChar *URI,xmlXPathFunction function
220 </FUNCTION>
221 <FUNCTION>
222 <NAME>xsltExtFunctionLookup</NAME>
223 <RETURNS>xmlXPathFunction</RETURNS>
224 xsltTransformContextPtr ctxt,const xmlChar *name,const xmlChar *URI
225 </FUNCTION>
226 <FUNCTION>
227 <NAME>xsltExtModuleFunctionLookup</NAME>
228 <RETURNS>xmlXPathFunction</RETURNS>
229 const xmlChar *name,const xmlChar *URI
230 </FUNCTION>
231 <FUNCTION>
232 <NAME>xsltUnregisterExtModuleFunction</NAME>
233 <RETURNS>int    </RETURNS>
234 const xmlChar *name,const xmlChar *URI
235 </FUNCTION>
236 <FUNCTION>
237 <NAME>xsltNewElemPreComp</NAME>
238 <RETURNS>xsltElemPreCompPtr  </RETURNS>
239 xsltStylesheetPtr style,xmlNodePtr inst,xsltTransformFunction function
240 </FUNCTION>
241 <FUNCTION>
242 <NAME>xsltInitElemPreComp</NAME>
243 <RETURNS>void   </RETURNS>
244 xsltElemPreCompPtr comp,xsltStylesheetPtr style,xmlNodePtr inst,xsltTransformFunction function,xsltElemPreCompDeallocator freeFunc
245 </FUNCTION>
246 <FUNCTION>
247 <NAME>xsltRegisterExtModuleElement</NAME>
248 <RETURNS>int    </RETURNS>
249 const xmlChar *name,const xmlChar *URI,xsltPreComputeFunction precomp,xsltTransformFunction transform
250 </FUNCTION>
251 <FUNCTION>
252 <NAME>xsltExtElementLookup</NAME>
253 <RETURNS>xsltTransformFunction  </RETURNS>
254 xsltTransformContextPtr ctxt,const xmlChar *name,const xmlChar *URI
255 </FUNCTION>
256 <FUNCTION>
257 <NAME>xsltExtModuleElementLookup</NAME>
258 <RETURNS>xsltTransformFunction  </RETURNS>
259 const xmlChar *name,const xmlChar *URI
260 </FUNCTION>
261 <FUNCTION>
262 <NAME>xsltExtModuleElementPreComputeLookup</NAME>
263 <RETURNS>xsltPreComputeFunction  </RETURNS>
264 const xmlChar *name,const xmlChar *URI
265 </FUNCTION>
266 <FUNCTION>
267 <NAME>xsltUnregisterExtModuleElement</NAME>
268 <RETURNS>int    </RETURNS>
269 const xmlChar *name,const xmlChar *URI
270 </FUNCTION>
271 <USER_FUNCTION>
272 <NAME>xsltTopLevelFunction</NAME>
273 <RETURNS>void </RETURNS>
274 xsltStylesheetPtr style,
275                                          xmlNodePtr inst
276 </USER_FUNCTION>
277 <FUNCTION>
278 <NAME>xsltRegisterExtModuleTopLevel</NAME>
279 <RETURNS>int    </RETURNS>
280 const xmlChar *name,const xmlChar *URI,xsltTopLevelFunction function
281 </FUNCTION>
282 <FUNCTION>
283 <NAME>xsltExtModuleTopLevelLookup</NAME>
284 <RETURNS>xsltTopLevelFunction  </RETURNS>
285 const xmlChar *name,const xmlChar *URI
286 </FUNCTION>
287 <FUNCTION>
288 <NAME>xsltUnregisterExtModuleTopLevel</NAME>
289 <RETURNS>int    </RETURNS>
290 const xmlChar *name,const xmlChar *URI
291 </FUNCTION>
292 <FUNCTION>
293 <NAME>xsltRegisterExtFunction</NAME>
294 <RETURNS>int    </RETURNS>
295 xsltTransformContextPtr ctxt,const xmlChar *name,const xmlChar *URI,xmlXPathFunction function
296 </FUNCTION>
297 <FUNCTION>
298 <NAME>xsltRegisterExtElement</NAME>
299 <RETURNS>int    </RETURNS>
300 xsltTransformContextPtr ctxt,const xmlChar *name,const xmlChar *URI,xsltTransformFunction function
301 </FUNCTION>
302 <FUNCTION>
303 <NAME>xsltRegisterExtPrefix</NAME>
304 <RETURNS>int    </RETURNS>
305 xsltStylesheetPtr style,const xmlChar *prefix,const xmlChar *URI
306 </FUNCTION>
307 <FUNCTION>
308 <NAME>xsltCheckExtPrefix</NAME>
309 <RETURNS>int    </RETURNS>
310 xsltStylesheetPtr style,const xmlChar *prefix
311 </FUNCTION>
312 <FUNCTION>
313 <NAME>xsltInitCtxtExts</NAME>
314 <RETURNS>int    </RETURNS>
315 xsltTransformContextPtr ctxt
316 </FUNCTION>
317 <FUNCTION>
318 <NAME>xsltFreeCtxtExts</NAME>
319 <RETURNS>void   </RETURNS>
320 xsltTransformContextPtr ctxt
321 </FUNCTION>
322 <FUNCTION>
323 <NAME>xsltFreeExts</NAME>
324 <RETURNS>void   </RETURNS>
325 xsltStylesheetPtr style
326 </FUNCTION>
327 <FUNCTION>
328 <NAME>xsltPreComputeExtModuleElement</NAME>
329 <RETURNS>xsltElemPreCompPtr  </RETURNS>
330 xsltStylesheetPtr style,xmlNodePtr inst
331 </FUNCTION>
332 <FUNCTION>
333 <NAME>xsltGetExtInfo</NAME>
334 <RETURNS>xmlHashTablePtr  </RETURNS>
335 xsltStylesheetPtr style, const xmlChar *URI
336 </FUNCTION>
337 <FUNCTION>
338 <NAME>xsltRegisterTestModule</NAME>
339 <RETURNS>void   </RETURNS>
340 void
341 </FUNCTION>
342 <FUNCTION>
343 <NAME>xsltDebugDumpExtensions</NAME>
344 <RETURNS>void   </RETURNS>
345 FILE * output
346 </FUNCTION>
347 <MACRO>
348 <NAME>XSLT_REGISTER_FUNCTION_LOOKUP</NAME>
349 #define XSLT_REGISTER_FUNCTION_LOOKUP(ctxt)                     \
350     xmlXPathRegisterFuncLookup((ctxt)->xpathCtxt,               \
351         (xmlXPathFuncLookupFunc) xsltXPathFunctionLookup,       \
352         (void *)(ctxt->xpathCtxt));
353 </MACRO>
354 <FUNCTION>
355 <NAME>xsltXPathFunctionLookup</NAME>
356 <RETURNS>xmlXPathFunction</RETURNS>
357 xmlXPathContextPtr ctxt,const xmlChar *name,const xmlChar *ns_uri
358 </FUNCTION>
359 <FUNCTION>
360 <NAME>xsltDocumentFunction</NAME>
361 <RETURNS>void   </RETURNS>
362 xmlXPathParserContextPtr ctxt,int nargs
363 </FUNCTION>
364 <FUNCTION>
365 <NAME>xsltKeyFunction</NAME>
366 <RETURNS>void   </RETURNS>
367 xmlXPathParserContextPtr ctxt,int nargs
368 </FUNCTION>
369 <FUNCTION>
370 <NAME>xsltUnparsedEntityURIFunction</NAME>
371 <RETURNS>void   </RETURNS>
372 xmlXPathParserContextPtr ctxt,int nargs
373 </FUNCTION>
374 <FUNCTION>
375 <NAME>xsltFormatNumberFunction</NAME>
376 <RETURNS>void   </RETURNS>
377 xmlXPathParserContextPtr ctxt,int nargs
378 </FUNCTION>
379 <FUNCTION>
380 <NAME>xsltGenerateIdFunction</NAME>
381 <RETURNS>void   </RETURNS>
382 xmlXPathParserContextPtr ctxt,int nargs
383 </FUNCTION>
384 <FUNCTION>
385 <NAME>xsltSystemPropertyFunction</NAME>
386 <RETURNS>void   </RETURNS>
387 xmlXPathParserContextPtr ctxt,int nargs
388 </FUNCTION>
389 <FUNCTION>
390 <NAME>xsltElementAvailableFunction</NAME>
391 <RETURNS>void   </RETURNS>
392 xmlXPathParserContextPtr ctxt,int nargs
393 </FUNCTION>
394 <FUNCTION>
395 <NAME>xsltFunctionAvailableFunction</NAME>
396 <RETURNS>void   </RETURNS>
397 xmlXPathParserContextPtr ctxt,int nargs
398 </FUNCTION>
399 <FUNCTION>
400 <NAME>xsltRegisterAllFunctions</NAME>
401 <RETURNS>void   </RETURNS>
402 xmlXPathContextPtr ctxt
403 </FUNCTION>
404 <MACRO>
405 <NAME>XSLT_GET_IMPORT_PTR</NAME>
406 #define XSLT_GET_IMPORT_PTR(res, style, name) {                 \
407     xsltStylesheetPtr st = style;                               \
408     res = NULL;                                                 \
409     while (st != NULL) {                                        \
410         if (st->name != NULL) { res = st->name; break; }        \
411         st = xsltNextImport(st);                                \
412     }}
413 </MACRO>
414 <MACRO>
415 <NAME>XSLT_GET_IMPORT_INT</NAME>
416 #define XSLT_GET_IMPORT_INT(res, style, name) {                 \
417     xsltStylesheetPtr st = style;                               \
418     res = -1;                                                   \
419     while (st != NULL) {                                        \
420         if (st->name != -1) { res = st->name; break; }  \
421         st = xsltNextImport(st);                                \
422     }}
423 </MACRO>
424 <FUNCTION>
425 <NAME>xsltParseStylesheetImport</NAME>
426 <RETURNS>int    </RETURNS>
427 xsltStylesheetPtr style,xmlNodePtr cur
428 </FUNCTION>
429 <FUNCTION>
430 <NAME>xsltParseStylesheetInclude</NAME>
431 <RETURNS>int    </RETURNS>
432 xsltStylesheetPtr style,xmlNodePtr cur
433 </FUNCTION>
434 <FUNCTION>
435 <NAME>xsltNextImport</NAME>
436 <RETURNS>xsltStylesheetPtr      </RETURNS>
437 xsltStylesheetPtr style
438 </FUNCTION>
439 <FUNCTION>
440 <NAME>xsltNeedElemSpaceHandling</NAME>
441 <RETURNS>int    </RETURNS>
442 xsltTransformContextPtr ctxt
443 </FUNCTION>
444 <FUNCTION>
445 <NAME>xsltFindElemSpaceHandling</NAME>
446 <RETURNS>int    </RETURNS>
447 xsltTransformContextPtr ctxt,xmlNodePtr node
448 </FUNCTION>
449 <FUNCTION>
450 <NAME>xsltFindTemplate</NAME>
451 <RETURNS>xsltTemplatePtr        </RETURNS>
452 xsltTransformContextPtr ctxt,const xmlChar *name,const xmlChar *nameURI
453 </FUNCTION>
454 <FUNCTION>
455 <NAME>xsltAddKey</NAME>
456 <RETURNS>int    </RETURNS>
457 xsltStylesheetPtr style,const xmlChar *name,const xmlChar *nameURI,const xmlChar *match,const xmlChar *use,xmlNodePtr inst
458 </FUNCTION>
459 <FUNCTION>
460 <NAME>xsltGetKey</NAME>
461 <RETURNS>xmlNodeSetPtr  </RETURNS>
462 xsltTransformContextPtr ctxt,const xmlChar *name,const xmlChar *nameURI,const xmlChar *value
463 </FUNCTION>
464 <FUNCTION>
465 <NAME>xsltInitCtxtKeys</NAME>
466 <RETURNS>void   </RETURNS>
467 xsltTransformContextPtr ctxt,xsltDocumentPtr doc
468 </FUNCTION>
469 <FUNCTION>
470 <NAME>xsltFreeKeys</NAME>
471 <RETURNS>void   </RETURNS>
472 xsltStylesheetPtr style
473 </FUNCTION>
474 <FUNCTION>
475 <NAME>xsltFreeDocumentKeys</NAME>
476 <RETURNS>void   </RETURNS>
477 xsltDocumentPtr doc
478 </FUNCTION>
479 <MACRO>
480 <NAME>LIBXSLT_PUBLIC</NAME>
481 #define LIBXSLT_PUBLIC __declspec(dllimport)
482 </MACRO>
483 <MACRO>
484 <NAME>LIBXSLT_PUBLIC</NAME>
485 #define LIBXSLT_PUBLIC 
486 </MACRO>
487 <FUNCTION>
488 <NAME>xsltNamespaceAlias</NAME>
489 <RETURNS>void   </RETURNS>
490 xsltStylesheetPtr style,xmlNodePtr node
491 </FUNCTION>
492 <FUNCTION>
493 <NAME>xsltGetNamespace</NAME>
494 <RETURNS>xmlNsPtr       </RETURNS>
495 xsltTransformContextPtr ctxt,xmlNodePtr cur,xmlNsPtr ns,xmlNodePtr out
496 </FUNCTION>
497 <FUNCTION>
498 <NAME>xsltGetSpecialNamespace</NAME>
499 <RETURNS>xmlNsPtr       </RETURNS>
500 xsltTransformContextPtr ctxt,xmlNodePtr cur,const xmlChar *URI,const xmlChar *prefix,xmlNodePtr out
501 </FUNCTION>
502 <FUNCTION>
503 <NAME>xsltCopyNamespace</NAME>
504 <RETURNS>xmlNsPtr       </RETURNS>
505 xsltTransformContextPtr ctxt,xmlNodePtr node,xmlNsPtr cur
506 </FUNCTION>
507 <FUNCTION>
508 <NAME>xsltCopyNamespaceList</NAME>
509 <RETURNS>xmlNsPtr       </RETURNS>
510 xsltTransformContextPtr ctxt,xmlNodePtr node,xmlNsPtr cur
511 </FUNCTION>
512 <FUNCTION>
513 <NAME>xsltFreeNamespaceAliasHashes</NAME>
514 <RETURNS>void   </RETURNS>
515 xsltStylesheetPtr style
516 </FUNCTION>
517 <STRUCT>
518 <NAME>xsltNumberData</NAME>
519 </STRUCT>
520 <TYPEDEF>
521 <NAME>xsltNumberDataPtr</NAME>
522 typedef xsltNumberData *xsltNumberDataPtr;
523 </TYPEDEF>
524 <STRUCT>
525 <NAME>xsltNumberData</NAME>
526 struct xsltNumberData {
527     xmlChar *level;
528     xmlChar *count;
529     xmlChar *from;
530     xmlChar *value;
531     xmlChar *format;
532     int has_format;
533     int digitsPerGroup;
534     int groupingCharacter;
535     int groupingCharacterLen;
536     xmlDocPtr doc;
537     xmlNodePtr node;
538 };
539 </STRUCT>
540 <STRUCT>
541 <NAME>xsltFormatNumberInfo</NAME>
542 </STRUCT>
543 <TYPEDEF>
544 <NAME>xsltFormatNumberInfoPtr</NAME>
545 typedef xsltFormatNumberInfo *xsltFormatNumberInfoPtr;
546 </TYPEDEF>
547 <STRUCT>
548 <NAME>xsltFormatNumberInfo</NAME>
549 struct xsltFormatNumberInfo {
550     int     integer_hash;       /* Number of '#' in integer part */
551     int     integer_digits;     /* Number of '0' in integer part */
552     int     frac_digits;        /* Number of '0' in fractional part */
553     int     frac_hash;          /* Number of '#' in fractional part */
554     int     group;              /* Number of chars per display 'group' */
555     int     multiplier;         /* Scaling for percent or permille */
556     char    add_decimal;        /* Flag for whether decimal point appears in pattern */
557     char    is_multiplier_set;  /* Flag to catch multiple occurences of percent/permille */
558     char    is_negative_pattern;/* Flag for processing -ve prefix/suffix */
559 };
560 </STRUCT>
561 <STRUCT>
562 <NAME>xsltCompMatch</NAME>
563 </STRUCT>
564 <TYPEDEF>
565 <NAME>xsltCompMatchPtr</NAME>
566 typedef xsltCompMatch *xsltCompMatchPtr;
567 </TYPEDEF>
568 <FUNCTION>
569 <NAME>xsltCompilePattern</NAME>
570 <RETURNS>xsltCompMatchPtr  </RETURNS>
571 const xmlChar *pattern,xmlDocPtr doc,xmlNodePtr node,xsltStylesheetPtr style,xsltTransformContextPtr runtime
572 </FUNCTION>
573 <FUNCTION>
574 <NAME>xsltFreeCompMatchList</NAME>
575 <RETURNS>void   </RETURNS>
576 xsltCompMatchPtr comp
577 </FUNCTION>
578 <FUNCTION>
579 <NAME>xsltTestCompMatchList</NAME>
580 <RETURNS>int    </RETURNS>
581 xsltTransformContextPtr ctxt,xmlNodePtr node,xsltCompMatchPtr comp
582 </FUNCTION>
583 <FUNCTION>
584 <NAME>xsltAddTemplate</NAME>
585 <RETURNS>int    </RETURNS>
586 xsltStylesheetPtr style,xsltTemplatePtr cur,const xmlChar *mode,const xmlChar *modeURI
587 </FUNCTION>
588 <FUNCTION>
589 <NAME>xsltGetTemplate</NAME>
590 <RETURNS>xsltTemplatePtr        </RETURNS>
591 xsltTransformContextPtr ctxt,xmlNodePtr node,xsltStylesheetPtr style
592 </FUNCTION>
593 <FUNCTION>
594 <NAME>xsltFreeTemplateHashes</NAME>
595 <RETURNS>void   </RETURNS>
596 xsltStylesheetPtr style
597 </FUNCTION>
598 <FUNCTION>
599 <NAME>xsltCleanupTemplates</NAME>
600 <RETURNS>void   </RETURNS>
601 xsltStylesheetPtr style
602 </FUNCTION>
603 <FUNCTION>
604 <NAME>xsltMatchPattern</NAME>
605 <RETURNS>int    </RETURNS>
606 xsltTransformContextPtr ctxt,xmlNodePtr node,const xmlChar *pattern,xmlDocPtr ctxtdoc,xmlNodePtr ctxtnode
607 </FUNCTION>
608 <VARIABLE>
609 <NAME>xsltExtMarker</NAME>
610 extern const xmlChar *xsltExtMarker;
611 </VARIABLE>
612 <FUNCTION>
613 <NAME>xsltDocumentComp</NAME>
614 <RETURNS>xsltElemPreCompPtr  </RETURNS>
615 xsltStylesheetPtr style,xmlNodePtr inst,xsltTransformFunction function
616 </FUNCTION>
617 <FUNCTION>
618 <NAME>xsltStylePreCompute</NAME>
619 <RETURNS>void   </RETURNS>
620 xsltStylesheetPtr style,xmlNodePtr inst
621 </FUNCTION>
622 <FUNCTION>
623 <NAME>xsltFreeStylePreComps</NAME>
624 <RETURNS>void   </RETURNS>
625 xsltStylesheetPtr style
626 </FUNCTION>
627 <FUNCTION>
628 <NAME>xsltEvalXPathPredicate</NAME>
629 <RETURNS>int    </RETURNS>
630 xsltTransformContextPtr ctxt,xmlXPathCompExprPtr comp,xmlNsPtr *nsList,int nsNr
631 </FUNCTION>
632 <FUNCTION>
633 <NAME>xsltEvalTemplateString</NAME>
634 <RETURNS>xmlChar  *</RETURNS>
635 xsltTransformContextPtr ctxt,xmlNodePtr node,xmlNodePtr parent
636 </FUNCTION>
637 <FUNCTION>
638 <NAME>xsltEvalAttrValueTemplate</NAME>
639 <RETURNS>xmlChar  *</RETURNS>
640 xsltTransformContextPtr ctxt,xmlNodePtr node,const xmlChar *name,const xmlChar *ns
641 </FUNCTION>
642 <FUNCTION>
643 <NAME>xsltEvalStaticAttrValueTemplate</NAME>
644 <RETURNS>xmlChar  *</RETURNS>
645 xsltStylesheetPtr style,xmlNodePtr node,const xmlChar *name,const xmlChar *ns,int *found
646 </FUNCTION>
647 <FUNCTION>
648 <NAME>xsltEvalXPathString</NAME>
649 <RETURNS>xmlChar  *</RETURNS>
650 xsltTransformContextPtr ctxt,xmlXPathCompExprPtr comp
651 </FUNCTION>
652 <FUNCTION>
653 <NAME>xsltEvalXPathStringNs</NAME>
654 <RETURNS>xmlChar  *</RETURNS>
655 xsltTransformContextPtr ctxt,xmlXPathCompExprPtr comp,int nsNr,xmlNsPtr *nsList
656 </FUNCTION>
657 <FUNCTION>
658 <NAME>xsltTemplateProcess</NAME>
659 <RETURNS>xmlNodePtr  *</RETURNS>
660 xsltTransformContextPtr ctxt,xmlNodePtr node
661 </FUNCTION>
662 <FUNCTION>
663 <NAME>xsltAttrListTemplateProcess</NAME>
664 <RETURNS>xmlAttrPtr     </RETURNS>
665 xsltTransformContextPtr ctxt,xmlNodePtr target,xmlAttrPtr cur
666 </FUNCTION>
667 <FUNCTION>
668 <NAME>xsltAttrTemplateProcess</NAME>
669 <RETURNS>xmlAttrPtr     </RETURNS>
670 xsltTransformContextPtr ctxt,xmlNodePtr target,xmlAttrPtr attr
671 </FUNCTION>
672 <FUNCTION>
673 <NAME>xsltAttrTemplateValueProcess</NAME>
674 <RETURNS>xmlChar  *</RETURNS>
675 xsltTransformContextPtr ctxt,const xmlChar* attr
676 </FUNCTION>
677 <FUNCTION>
678 <NAME>xsltAttrTemplateValueProcessNode</NAME>
679 <RETURNS>xmlChar  *</RETURNS>
680 xsltTransformContextPtr ctxt,const xmlChar* str,xmlNodePtr node
681 </FUNCTION>
682 <FUNCTION>
683 <NAME>xsltSetXIncludeDefault</NAME>
684 <RETURNS>void   </RETURNS>
685 int xinclude
686 </FUNCTION>
687 <FUNCTION>
688 <NAME>xsltGetXIncludeDefault</NAME>
689 <RETURNS>int    </RETURNS>
690 void
691 </FUNCTION>
692 <FUNCTION>
693 <NAME>xsltNewTransformContext</NAME>
694 <RETURNS>xsltTransformContextPtr  </RETURNS>
695 xsltStylesheetPtr style,xmlDocPtr doc
696 </FUNCTION>
697 <FUNCTION>
698 <NAME>xsltFreeTransformContext</NAME>
699 <RETURNS>void   </RETURNS>
700 xsltTransformContextPtr ctxt
701 </FUNCTION>
702 <FUNCTION>
703 <NAME>xsltApplyStylesheetUser</NAME>
704 <RETURNS>xmlDocPtr      </RETURNS>
705 xsltStylesheetPtr style,xmlDocPtr doc,const char **params,const char *output,FILE * profile,xsltTransformContextPtr userCtxt
706 </FUNCTION>
707 <FUNCTION>
708 <NAME>xsltApplyStripSpaces</NAME>
709 <RETURNS>void   </RETURNS>
710 xsltTransformContextPtr ctxt,xmlNodePtr node
711 </FUNCTION>
712 <FUNCTION>
713 <NAME>xsltApplyStylesheet</NAME>
714 <RETURNS>xmlDocPtr      </RETURNS>
715 xsltStylesheetPtr style,xmlDocPtr doc,const char **params
716 </FUNCTION>
717 <FUNCTION>
718 <NAME>xsltProfileStylesheet</NAME>
719 <RETURNS>xmlDocPtr      </RETURNS>
720 xsltStylesheetPtr style,xmlDocPtr doc,const char **params,FILE * output
721 </FUNCTION>
722 <FUNCTION>
723 <NAME>xsltRunStylesheet</NAME>
724 <RETURNS>int    </RETURNS>
725 xsltStylesheetPtr style,xmlDocPtr doc,const char **params,const char *output,xmlSAXHandlerPtr SAX,xmlOutputBufferPtr IObuf
726 </FUNCTION>
727 <FUNCTION>
728 <NAME>xsltRunStylesheetUser</NAME>
729 <RETURNS>int    </RETURNS>
730 xsltStylesheetPtr style,xmlDocPtr doc,const char **params,const char *output,xmlSAXHandlerPtr SAX,xmlOutputBufferPtr IObuf,FILE * profile,xsltTransformContextPtr userCtxt
731 </FUNCTION>
732 <FUNCTION>
733 <NAME>xsltApplyOneTemplate</NAME>
734 <RETURNS>void   </RETURNS>
735 xsltTransformContextPtr ctxt,xmlNodePtr node,xmlNodePtr list,xsltTemplatePtr templ,xsltStackElemPtr params
736 </FUNCTION>
737 <FUNCTION>
738 <NAME>xsltDocumentElem</NAME>
739 <RETURNS>void  </RETURNS>
740 xsltTransformContextPtr ctxt,xmlNodePtr node,xmlNodePtr inst,xsltStylePreCompPtr comp
741 </FUNCTION>
742 <FUNCTION>
743 <NAME>xsltSort</NAME>
744 <RETURNS>void  </RETURNS>
745 xsltTransformContextPtr ctxt,xmlNodePtr node,xmlNodePtr inst,xsltStylePreCompPtr comp
746 </FUNCTION>
747 <FUNCTION>
748 <NAME>xsltCopy</NAME>
749 <RETURNS>void  </RETURNS>
750 xsltTransformContextPtr ctxt,xmlNodePtr node,xmlNodePtr inst,xsltStylePreCompPtr comp
751 </FUNCTION>
752 <FUNCTION>
753 <NAME>xsltText</NAME>
754 <RETURNS>void  </RETURNS>
755 xsltTransformContextPtr ctxt,xmlNodePtr node,xmlNodePtr inst,xsltStylePreCompPtr comp
756 </FUNCTION>
757 <FUNCTION>
758 <NAME>xsltElement</NAME>
759 <RETURNS>void  </RETURNS>
760 xsltTransformContextPtr ctxt,xmlNodePtr node,xmlNodePtr inst,xsltStylePreCompPtr comp
761 </FUNCTION>
762 <FUNCTION>
763 <NAME>xsltComment</NAME>
764 <RETURNS>void  </RETURNS>
765 xsltTransformContextPtr ctxt,xmlNodePtr node,xmlNodePtr inst,xsltStylePreCompPtr comp
766 </FUNCTION>
767 <FUNCTION>
768 <NAME>xsltAttribute</NAME>
769 <RETURNS>void  </RETURNS>
770 xsltTransformContextPtr ctxt,xmlNodePtr node,xmlNodePtr inst,xsltStylePreCompPtr comp
771 </FUNCTION>
772 <FUNCTION>
773 <NAME>xsltProcessingInstruction</NAME>
774 <RETURNS>void  </RETURNS>
775 xsltTransformContextPtr ctxt,xmlNodePtr node,xmlNodePtr inst,xsltStylePreCompPtr comp
776 </FUNCTION>
777 <FUNCTION>
778 <NAME>xsltCopyOf</NAME>
779 <RETURNS>void  </RETURNS>
780 xsltTransformContextPtr ctxt,xmlNodePtr node,xmlNodePtr inst,xsltStylePreCompPtr comp
781 </FUNCTION>
782 <FUNCTION>
783 <NAME>xsltValueOf</NAME>
784 <RETURNS>void  </RETURNS>
785 xsltTransformContextPtr ctxt,xmlNodePtr node,xmlNodePtr inst,xsltStylePreCompPtr comp
786 </FUNCTION>
787 <FUNCTION>
788 <NAME>xsltNumber</NAME>
789 <RETURNS>void  </RETURNS>
790 xsltTransformContextPtr ctxt,xmlNodePtr node,xmlNodePtr inst,xsltStylePreCompPtr comp
791 </FUNCTION>
792 <FUNCTION>
793 <NAME>xsltApplyImports</NAME>
794 <RETURNS>void  </RETURNS>
795 xsltTransformContextPtr ctxt,xmlNodePtr node,xmlNodePtr inst,xsltStylePreCompPtr comp
796 </FUNCTION>
797 <FUNCTION>
798 <NAME>xsltCallTemplate</NAME>
799 <RETURNS>void  </RETURNS>
800 xsltTransformContextPtr ctxt,xmlNodePtr node,xmlNodePtr inst,xsltStylePreCompPtr comp
801 </FUNCTION>
802 <FUNCTION>
803 <NAME>xsltApplyTemplates</NAME>
804 <RETURNS>void  </RETURNS>
805 xsltTransformContextPtr ctxt,xmlNodePtr node,xmlNodePtr inst,xsltStylePreCompPtr comp
806 </FUNCTION>
807 <FUNCTION>
808 <NAME>xsltChoose</NAME>
809 <RETURNS>void  </RETURNS>
810 xsltTransformContextPtr ctxt,xmlNodePtr node,xmlNodePtr inst,xsltStylePreCompPtr comp
811 </FUNCTION>
812 <FUNCTION>
813 <NAME>xsltIf</NAME>
814 <RETURNS>void  </RETURNS>
815 xsltTransformContextPtr ctxt,xmlNodePtr node,xmlNodePtr inst,xsltStylePreCompPtr comp
816 </FUNCTION>
817 <FUNCTION>
818 <NAME>xsltForEach</NAME>
819 <RETURNS>void  </RETURNS>
820 xsltTransformContextPtr ctxt,xmlNodePtr node,xmlNodePtr inst,xsltStylePreCompPtr comp
821 </FUNCTION>
822 <FUNCTION>
823 <NAME>xsltRegisterAllElement</NAME>
824 <RETURNS>void   </RETURNS>
825 xsltTransformContextPtr ctxt
826 </FUNCTION>
827 <FUNCTION>
828 <NAME>xsltCopyTextString</NAME>
829 <RETURNS>xmlNodePtr     </RETURNS>
830 xsltTransformContextPtr ctxt,xmlNodePtr target,const xmlChar *string,int noescape
831 </FUNCTION>
832 <FUNCTION>
833 <NAME>xslHandleDebugger</NAME>
834 <RETURNS>void   </RETURNS>
835 xmlNodePtr cur,xmlNodePtr node,xsltTemplatePtr templ,xsltTransformContextPtr ctxt
836 </FUNCTION>
837 <MACRO>
838 <NAME>XSLT_REGISTER_VARIABLE_LOOKUP</NAME>
839 #define XSLT_REGISTER_VARIABLE_LOOKUP(ctxt)                     \
840     xmlXPathRegisterVariableLookup((ctxt)->xpathCtxt,           \
841                xsltXPathVariableLookup, (void *)(ctxt));        \
842     xsltRegisterAllFunctions((ctxt)->xpathCtxt);                \
843     xsltRegisterAllElement(ctxt);                               \
844     (ctxt)->xpathCtxt->extra = ctxt
845 </MACRO>
846 <FUNCTION>
847 <NAME>xsltEvalGlobalVariables</NAME>
848 <RETURNS>int    </RETURNS>
849 xsltTransformContextPtr ctxt
850 </FUNCTION>
851 <FUNCTION>
852 <NAME>xsltEvalUserParams</NAME>
853 <RETURNS>int    </RETURNS>
854 xsltTransformContextPtr ctxt,const char **params
855 </FUNCTION>
856 <FUNCTION>
857 <NAME>xsltQuoteUserParams</NAME>
858 <RETURNS>int    </RETURNS>
859 xsltTransformContextPtr ctxt,const char **params
860 </FUNCTION>
861 <FUNCTION>
862 <NAME>xsltEvalOneUserParam</NAME>
863 <RETURNS>int    </RETURNS>
864 xsltTransformContextPtr ctxt,const xmlChar * name,const xmlChar * value
865 </FUNCTION>
866 <FUNCTION>
867 <NAME>xsltQuoteOneUserParam</NAME>
868 <RETURNS>int    </RETURNS>
869 xsltTransformContextPtr ctxt,const xmlChar * name,const xmlChar * value
870 </FUNCTION>
871 <FUNCTION>
872 <NAME>xsltParseGlobalVariable</NAME>
873 <RETURNS>void   </RETURNS>
874 xsltStylesheetPtr style,xmlNodePtr cur
875 </FUNCTION>
876 <FUNCTION>
877 <NAME>xsltParseGlobalParam</NAME>
878 <RETURNS>void   </RETURNS>
879 xsltStylesheetPtr style,xmlNodePtr cur
880 </FUNCTION>
881 <FUNCTION>
882 <NAME>xsltParseStylesheetVariable</NAME>
883 <RETURNS>void   </RETURNS>
884 xsltTransformContextPtr ctxt,xmlNodePtr cur
885 </FUNCTION>
886 <FUNCTION>
887 <NAME>xsltParseStylesheetParam</NAME>
888 <RETURNS>void   </RETURNS>
889 xsltTransformContextPtr ctxt,xmlNodePtr cur
890 </FUNCTION>
891 <FUNCTION>
892 <NAME>xsltParseStylesheetCallerParam</NAME>
893 <RETURNS>xsltStackElemPtr  </RETURNS>
894 xsltTransformContextPtr ctxt,xmlNodePtr cur
895 </FUNCTION>
896 <FUNCTION>
897 <NAME>xsltAddStackElemList</NAME>
898 <RETURNS>int    </RETURNS>
899 xsltTransformContextPtr ctxt,xsltStackElemPtr elems
900 </FUNCTION>
901 <FUNCTION>
902 <NAME>xsltFreeGlobalVariables</NAME>
903 <RETURNS>void   </RETURNS>
904 xsltTransformContextPtr ctxt
905 </FUNCTION>
906 <FUNCTION>
907 <NAME>xsltVariableLookup</NAME>
908 <RETURNS>xmlXPathObjectPtr      </RETURNS>
909 xsltTransformContextPtr ctxt,const xmlChar *name,const xmlChar *ns_uri
910 </FUNCTION>
911 <FUNCTION>
912 <NAME>xsltXPathVariableLookup</NAME>
913 <RETURNS>xmlXPathObjectPtr      </RETURNS>
914 void *ctxt,const xmlChar *name,const xmlChar *ns_uri
915 </FUNCTION>
916 <MACRO>
917 <NAME>XSLT_DEFAULT_VERSION</NAME>
918 #define XSLT_DEFAULT_VERSION     "1.0"
919 </MACRO>
920 <MACRO>
921 <NAME>XSLT_DEFAULT_VENDOR</NAME>
922 #define XSLT_DEFAULT_VENDOR      "libxslt"
923 </MACRO>
924 <MACRO>
925 <NAME>XSLT_DEFAULT_URL</NAME>
926 #define XSLT_DEFAULT_URL         "http://xmlsoft.org/XSLT/"
927 </MACRO>
928 <MACRO>
929 <NAME>XSLT_NAMESPACE</NAME>
930 #define XSLT_NAMESPACE ((xmlChar *) "http://www.w3.org/1999/XSL/Transform")
931 </MACRO>
932 <MACRO>
933 <NAME>LIBXSLT_PUBLIC</NAME>
934 #define LIBXSLT_PUBLIC __declspec(dllimport)
935 </MACRO>
936 <MACRO>
937 <NAME>LIBXSLT_PUBLIC</NAME>
938 #define LIBXSLT_PUBLIC 
939 </MACRO>
940 <FUNCTION>
941 <NAME>xsltCleanupGlobals</NAME>
942 <RETURNS>void   </RETURNS>
943 void
944 </FUNCTION>
945 <MACRO>
946 <NAME>XSLT_TODO</NAME>
947 #define XSLT_TODO                                                       \
948     xsltGenericError(xsltGenericErrorContext,                           \
949             "Unimplemented block at %s:%d\n",                           \
950             __FILE__, __LINE__);
951 </MACRO>
952 <MACRO>
953 <NAME>XSLT_STRANGE</NAME>
954 #define XSLT_STRANGE                                                    \
955     xsltGenericError(xsltGenericErrorContext,                           \
956             "Internal error at %s:%d\n",                                \
957             __FILE__, __LINE__);
958 </MACRO>
959 <MACRO>
960 <NAME>IS_XSLT_ELEM</NAME>
961 #define IS_XSLT_ELEM(n)                                                 \
962     (((n) != NULL) && ((n)->ns != NULL) &&                              \
963      (xmlStrEqual((n)->ns->href, XSLT_NAMESPACE)))
964 </MACRO>
965 <MACRO>
966 <NAME>IS_XSLT_NAME</NAME>
967 #define IS_XSLT_NAME(n, val)                                            \
968     (xmlStrEqual((n)->name, (const xmlChar *) (val)))
969 </MACRO>
970 <MACRO>
971 <NAME>IS_XSLT_REAL_NODE</NAME>
972 #define IS_XSLT_REAL_NODE(n)                                            \
973     (((n) != NULL) &&                                                   \
974      (((n)->type == XML_ELEMENT_NODE) ||                                \
975       ((n)->type == XML_TEXT_NODE) ||                                   \
976       ((n)->type == XML_ATTRIBUTE_NODE) ||                              \
977       ((n)->type == XML_DOCUMENT_NODE) ||                               \
978       ((n)->type == XML_HTML_DOCUMENT_NODE) ||                          \
979       ((n)->type == XML_DOCB_DOCUMENT_NODE)))
980 </MACRO>
981 <MACRO>
982 <NAME>IS_XSLT_REAL_NODE</NAME>
983 #define IS_XSLT_REAL_NODE(n)                                            \
984     (((n) != NULL) &&                                                   \
985      (((n)->type == XML_ELEMENT_NODE) ||                                \
986       ((n)->type == XML_TEXT_NODE) ||                                   \
987       ((n)->type == XML_ATTRIBUTE_NODE) ||                              \
988       ((n)->type == XML_DOCUMENT_NODE) ||                               \
989       ((n)->type == XML_HTML_DOCUMENT_NODE)))
990 </MACRO>
991 <FUNCTION>
992 <NAME>xsltGetNsProp</NAME>
993 <RETURNS>xmlChar  *</RETURNS>
994 xmlNodePtr node,const xmlChar *name,const xmlChar *nameSpace
995 </FUNCTION>
996 <FUNCTION>
997 <NAME>xsltGetUTF8Char</NAME>
998 <RETURNS>int    </RETURNS>
999 const unsigned char *utf,int *len
1000 </FUNCTION>
1001 <FUNCTION>
1002 <NAME>xsltPrintErrorContext</NAME>
1003 <RETURNS>void   </RETURNS>
1004 xsltTransformContextPtr ctxt,xsltStylesheetPtr style,xmlNodePtr node
1005 </FUNCTION>
1006 <FUNCTION>
1007 <NAME>xsltMessage</NAME>
1008 <RETURNS>void   </RETURNS>
1009 xsltTransformContextPtr ctxt,xmlNodePtr node,xmlNodePtr inst
1010 </FUNCTION>
1011 <FUNCTION>
1012 <NAME>xsltSetGenericErrorFunc</NAME>
1013 <RETURNS>void   </RETURNS>
1014 void *ctx,xmlGenericErrorFunc handler
1015 </FUNCTION>
1016 <FUNCTION>
1017 <NAME>xsltSetGenericDebugFunc</NAME>
1018 <RETURNS>void   </RETURNS>
1019 void *ctx,xmlGenericErrorFunc handler
1020 </FUNCTION>
1021 <FUNCTION>
1022 <NAME>xsltSetTransformErrorFunc</NAME>
1023 <RETURNS>void   </RETURNS>
1024 xsltTransformContextPtr ctxt,void *ctx,xmlGenericErrorFunc handler
1025 </FUNCTION>
1026 <FUNCTION>
1027 <NAME>xsltTransformError</NAME>
1028 <RETURNS>void   </RETURNS>
1029 xsltTransformContextPtr ctxt,xsltStylesheetPtr style,xmlNodePtr node,const char *msg,...
1030 </FUNCTION>
1031 <FUNCTION>
1032 <NAME>xsltDocumentSortFunction</NAME>
1033 <RETURNS>void   </RETURNS>
1034 xmlNodeSetPtr list
1035 </FUNCTION>
1036 <FUNCTION>
1037 <NAME>xsltSetSortFunc</NAME>
1038 <RETURNS>void   </RETURNS>
1039 xsltSortFunc handler
1040 </FUNCTION>
1041 <FUNCTION>
1042 <NAME>xsltSetCtxtSortFunc</NAME>
1043 <RETURNS>void   </RETURNS>
1044 xsltTransformContextPtr ctxt,xsltSortFunc handler
1045 </FUNCTION>
1046 <FUNCTION>
1047 <NAME>xsltDefaultSortFunction</NAME>
1048 <RETURNS>void   </RETURNS>
1049 xsltTransformContextPtr ctxt,xmlNodePtr *sorts,int nbsorts
1050 </FUNCTION>
1051 <FUNCTION>
1052 <NAME>xsltDoSortFunction</NAME>
1053 <RETURNS>void   </RETURNS>
1054 xsltTransformContextPtr ctxt,xmlNodePtr * sorts,int nbsorts
1055 </FUNCTION>
1056 <FUNCTION>
1057 <NAME>xsltComputeSortResult</NAME>
1058 <RETURNS>xmlXPathObjectPtr  *</RETURNS>
1059 xsltTransformContextPtr ctxt,xmlNodePtr sort
1060 </FUNCTION>
1061 <FUNCTION>
1062 <NAME>xsltGetQNameURI</NAME>
1063 <RETURNS>const xmlChar  *</RETURNS>
1064 xmlNodePtr node,xmlChar **name
1065 </FUNCTION>
1066 <FUNCTION>
1067 <NAME>xsltSaveResultTo</NAME>
1068 <RETURNS>int    </RETURNS>
1069 xmlOutputBufferPtr buf,xmlDocPtr result,xsltStylesheetPtr style
1070 </FUNCTION>
1071 <FUNCTION>
1072 <NAME>xsltSaveResultToFilename</NAME>
1073 <RETURNS>int    </RETURNS>
1074 const char *URI,xmlDocPtr result,xsltStylesheetPtr style,int compression
1075 </FUNCTION>
1076 <FUNCTION>
1077 <NAME>xsltSaveResultToFile</NAME>
1078 <RETURNS>int    </RETURNS>
1079 FILE *file,xmlDocPtr result,xsltStylesheetPtr style
1080 </FUNCTION>
1081 <FUNCTION>
1082 <NAME>xsltSaveResultToFd</NAME>
1083 <RETURNS>int    </RETURNS>
1084 int fd,xmlDocPtr result,xsltStylesheetPtr style
1085 </FUNCTION>
1086 <FUNCTION>
1087 <NAME>xsltSaveResultToString</NAME>
1088 <RETURNS>int  </RETURNS>
1089 xmlChar **doc_txt_ptr,int * doc_txt_len,xmlDocPtr result,xsltStylesheetPtr style
1090 </FUNCTION>
1091 <FUNCTION>
1092 <NAME>xsltSaveProfiling</NAME>
1093 <RETURNS>void   </RETURNS>
1094 xsltTransformContextPtr ctxt,FILE *output
1095 </FUNCTION>
1096 <FUNCTION>
1097 <NAME>xsltGetProfileInformation</NAME>
1098 <RETURNS>xmlDocPtr      </RETURNS>
1099 xsltTransformContextPtr ctxt
1100 </FUNCTION>
1101 <FUNCTION>
1102 <NAME>xsltTimestamp</NAME>
1103 <RETURNS>long   </RETURNS>
1104 void
1105 </FUNCTION>
1106 <FUNCTION>
1107 <NAME>xsltCalibrateAdjust</NAME>
1108 <RETURNS>void   </RETURNS>
1109 long delta
1110 </FUNCTION>
1111 <MACRO>
1112 <NAME>XSLT_TIMESTAMP_TICS_PER_SEC</NAME>
1113 #define XSLT_TIMESTAMP_TICS_PER_SEC 100000l
1114 </MACRO>
1115 <ENUM>
1116 <NAME>xsltDebugStatusCodes</NAME>
1117 typedef enum {
1118     XSLT_DEBUG_NONE = 0, /* no debugging allowed */
1119     XSLT_DEBUG_INIT,
1120     XSLT_DEBUG_STEP,
1121     XSLT_DEBUG_STEPOUT,
1122     XSLT_DEBUG_NEXT,
1123     XSLT_DEBUG_STOP,
1124     XSLT_DEBUG_CONT,
1125     XSLT_DEBUG_RUN,
1126     XSLT_DEBUG_RUN_RESTART,
1127     XSLT_DEBUG_QUIT
1128 } xsltDebugStatusCodes;
1129 </ENUM>
1130 <USER_FUNCTION>
1131 <NAME>xsltHandleDebuggerCallback</NAME>
1132 <RETURNS>void </RETURNS>
1133 xmlNodePtr cur, xmlNodePtr node,
1134                         xsltTemplatePtr templ, xsltTransformContextPtr ctxt
1135 </USER_FUNCTION>
1136 <USER_FUNCTION>
1137 <NAME>xsltAddCallCallback</NAME>
1138 <RETURNS>int </RETURNS>
1139 xsltTemplatePtr templ, xmlNodePtr source
1140 </USER_FUNCTION>
1141 <USER_FUNCTION>
1142 <NAME>xsltDropCallCallback</NAME>
1143 <RETURNS>void </RETURNS>
1144 void
1145 </USER_FUNCTION>
1146 <FUNCTION>
1147 <NAME>xsltSetDebuggerCallbacks</NAME>
1148 <RETURNS>int    </RETURNS>
1149 int no, void *block
1150 </FUNCTION>
1151 <FUNCTION>
1152 <NAME>xslAddCall</NAME>
1153 <RETURNS>int    </RETURNS>
1154 xsltTemplatePtr templ,xmlNodePtr source
1155 </FUNCTION>
1156 <FUNCTION>
1157 <NAME>xslDropCall</NAME>
1158 <RETURNS>void   </RETURNS>
1159 void
1160 </FUNCTION>
1161 <MACRO>
1162 <NAME>LIBXSLT_DOTTED_VERSION</NAME>
1163 #define LIBXSLT_DOTTED_VERSION "1.0.31"
1164 </MACRO>
1165 <MACRO>
1166 <NAME>LIBXSLT_VERSION</NAME>
1167 #define LIBXSLT_VERSION 10031
1168 </MACRO>
1169 <MACRO>
1170 <NAME>LIBXSLT_VERSION_STRING</NAME>
1171 #define LIBXSLT_VERSION_STRING "10031"
1172 </MACRO>
1173 <MACRO>
1174 <NAME>WITH_XSLT_DEBUG</NAME>
1175 #define WITH_XSLT_DEBUG
1176 </MACRO>
1177 <MACRO>
1178 <NAME>DEBUG_MEMORY</NAME>
1179 #define DEBUG_MEMORY
1180 </MACRO>
1181 <MACRO>
1182 <NAME>DEBUG_MEMORY_LOCATION</NAME>
1183 #define DEBUG_MEMORY_LOCATION
1184 </MACRO>
1185 <MACRO>
1186 <NAME>ATTRIBUTE_UNUSED</NAME>
1187 #define ATTRIBUTE_UNUSED
1188 </MACRO>
1189 <MACRO>
1190 <NAME>LIBXSLT_PUBLIC</NAME>
1191 #define LIBXSLT_PUBLIC __declspec(dllimport)
1192 </MACRO>
1193 <MACRO>
1194 <NAME>LIBXSLT_PUBLIC</NAME>
1195 #define LIBXSLT_PUBLIC 
1196 </MACRO>
1197 <MACRO>
1198 <NAME>TRIO_ERROR_CODE</NAME>
1199 #define TRIO_ERROR_CODE(x) ((-(x)) & 0x00FF)
1200 </MACRO>
1201 <MACRO>
1202 <NAME>TRIO_ERROR_POSITION</NAME>
1203 #define TRIO_ERROR_POSITION(x) ((-(x)) >> 8)
1204 </MACRO>
1205 <MACRO>
1206 <NAME>TRIO_ERROR_NAME</NAME>
1207 #define TRIO_ERROR_NAME(x) trio_strerror(x)
1208 </MACRO>
1209 <TYPEDEF>
1210 <NAME>int))</NAME>
1211 typedef int (*trio_outstream_t) TRIO_PROTO((trio_pointer_t, int));
1212 </TYPEDEF>
1213 <TYPEDEF>
1214 <NAME>TRIO_PROTO((trio_pointer_t))</NAME>
1215 typedef int (*trio_instream_t) TRIO_PROTO((trio_pointer_t));
1216 </TYPEDEF>
1217 <MACRO>
1218 <NAME>printf</NAME>
1219 # define printf trio_printf
1220 </MACRO>
1221 <MACRO>
1222 <NAME>vprintf</NAME>
1223 # define vprintf trio_vprintf
1224 </MACRO>
1225 <MACRO>
1226 <NAME>fprintf</NAME>
1227 # define fprintf trio_fprintf
1228 </MACRO>
1229 <MACRO>
1230 <NAME>vfprintf</NAME>
1231 # define vfprintf trio_vfprintf
1232 </MACRO>
1233 <MACRO>
1234 <NAME>sprintf</NAME>
1235 # define sprintf trio_sprintf
1236 </MACRO>
1237 <MACRO>
1238 <NAME>vsprintf</NAME>
1239 # define vsprintf trio_vsprintf
1240 </MACRO>
1241 <MACRO>
1242 <NAME>snprintf</NAME>
1243 # define snprintf trio_snprintf
1244 </MACRO>
1245 <MACRO>
1246 <NAME>vsnprintf</NAME>
1247 # define vsnprintf trio_vsnprintf
1248 </MACRO>
1249 <MACRO>
1250 <NAME>scanf</NAME>
1251 # define scanf trio_scanf
1252 </MACRO>
1253 <MACRO>
1254 <NAME>vscanf</NAME>
1255 # define vscanf trio_vscanf
1256 </MACRO>
1257 <MACRO>
1258 <NAME>fscanf</NAME>
1259 # define fscanf trio_fscanf
1260 </MACRO>
1261 <MACRO>
1262 <NAME>vfscanf</NAME>
1263 # define vfscanf trio_vfscanf
1264 </MACRO>
1265 <MACRO>
1266 <NAME>sscanf</NAME>
1267 # define sscanf trio_sscanf
1268 </MACRO>
1269 <MACRO>
1270 <NAME>vsscanf</NAME>
1271 # define vsscanf trio_vsscanf
1272 </MACRO>
1273 <MACRO>
1274 <NAME>dprintf</NAME>
1275 #define dprintf trio_dprintf
1276 </MACRO>
1277 <MACRO>
1278 <NAME>vdprintf</NAME>
1279 #define vdprintf trio_vdprintf
1280 </MACRO>
1281 <MACRO>
1282 <NAME>aprintf</NAME>
1283 #define aprintf trio_aprintf
1284 </MACRO>
1285 <MACRO>
1286 <NAME>vaprintf</NAME>
1287 #define vaprintf trio_vaprintf
1288 </MACRO>
1289 <MACRO>
1290 <NAME>asprintf</NAME>
1291 #define asprintf trio_asprintf
1292 </MACRO>
1293 <MACRO>
1294 <NAME>vasprintf</NAME>
1295 #define vasprintf trio_vasprintf
1296 </MACRO>
1297 <MACRO>
1298 <NAME>dscanf</NAME>
1299 #define dscanf trio_dscanf
1300 </MACRO>
1301 <MACRO>
1302 <NAME>vdscanf</NAME>
1303 #define vdscanf trio_vdscanf
1304 </MACRO>
1305 <MACRO>
1306 <NAME>XSLT_MAX_SORT</NAME>
1307 #define XSLT_MAX_SORT 15
1308 </MACRO>
1309 <MACRO>
1310 <NAME>XSLT_PAT_NO_PRIORITY</NAME>
1311 #define XSLT_PAT_NO_PRIORITY -12345789
1312 </MACRO>
1313 <STRUCT>
1314 <NAME>xsltRuntimeExtra</NAME>
1315 </STRUCT>
1316 <TYPEDEF>
1317 <NAME>xsltRuntimeExtraPtr</NAME>
1318 typedef xsltRuntimeExtra *xsltRuntimeExtraPtr;
1319 </TYPEDEF>
1320 <STRUCT>
1321 <NAME>xsltRuntimeExtra</NAME>
1322 struct xsltRuntimeExtra {
1323     void       *info;           /* pointer to the extra data */
1324     xmlFreeFunc deallocate;     /* pointer to the deallocation routine */
1325     void       *val;            /* data not needing deallocation */
1326 };
1327 </STRUCT>
1328 <MACRO>
1329 <NAME>XSLT_RUNTIME_EXTRA_LST</NAME>
1330 #define XSLT_RUNTIME_EXTRA_LST(ctxt, nr) (ctxt)->extras[(nr)].info
1331 </MACRO>
1332 <MACRO>
1333 <NAME>XSLT_RUNTIME_EXTRA_FREE</NAME>
1334 #define XSLT_RUNTIME_EXTRA_FREE(ctxt, nr) (ctxt)->extras[(nr)].deallocate
1335 </MACRO>
1336 <MACRO>
1337 <NAME>XSLT_RUNTIME_EXTRA</NAME>
1338 #define XSLT_RUNTIME_EXTRA(ctxt, nr) (ctxt)->extras[(nr)].val
1339 </MACRO>
1340 <STRUCT>
1341 <NAME>xsltTemplate</NAME>
1342 </STRUCT>
1343 <TYPEDEF>
1344 <NAME>xsltTemplatePtr</NAME>
1345 typedef xsltTemplate *xsltTemplatePtr;
1346 </TYPEDEF>
1347 <STRUCT>
1348 <NAME>xsltTemplate</NAME>
1349 struct xsltTemplate {
1350     struct _xsltTemplate *next;/* chained list sorted by priority */
1351     struct _xsltStylesheet *style;/* the containing stylesheet */
1352     xmlChar *match;     /* the matching string */
1353     float priority;     /* as given from the stylesheet, not computed */
1354     xmlChar *name;      /* the local part of the name QName */
1355     xmlChar *nameURI;   /* the URI part of the name QName */
1356     xmlChar *mode;      /* the local part of the mode QName */
1357     xmlChar *modeURI;   /* the URI part of the mode QName */
1358     xmlNodePtr content; /* the template replacement value */
1359     xmlNodePtr elem;    /* the source element */
1360
1361     int inheritedNsNr;  /* number of inherited namespaces */
1362     xmlNsPtr *inheritedNs;/* inherited non-excluded namespaces */
1363
1364     /* Profiling informations */
1365     int nbCalls;        /* the number of time the template was called */
1366     unsigned long time; /* the time spent in this template */
1367 };
1368 </STRUCT>
1369 <STRUCT>
1370 <NAME>xsltDecimalFormat</NAME>
1371 </STRUCT>
1372 <TYPEDEF>
1373 <NAME>xsltDecimalFormatPtr</NAME>
1374 typedef xsltDecimalFormat *xsltDecimalFormatPtr;
1375 </TYPEDEF>
1376 <STRUCT>
1377 <NAME>xsltDecimalFormat</NAME>
1378 struct xsltDecimalFormat {
1379     struct _xsltDecimalFormat *next; /* chained list */
1380     xmlChar *name;
1381     /* Used for interpretation of pattern */
1382     xmlChar *digit;
1383     xmlChar *patternSeparator;
1384     /* May appear in result */
1385     xmlChar *minusSign;
1386     xmlChar *infinity;
1387     xmlChar *noNumber; /* Not-a-number */
1388     /* Used for interpretation of pattern and may appear in result */
1389     xmlChar *decimalPoint;
1390     xmlChar *grouping;
1391     xmlChar *percent;
1392     xmlChar *permille;
1393     xmlChar *zeroDigit;
1394 };
1395 </STRUCT>
1396 <STRUCT>
1397 <NAME>xsltDocument</NAME>
1398 </STRUCT>
1399 <TYPEDEF>
1400 <NAME>xsltDocumentPtr</NAME>
1401 typedef xsltDocument *xsltDocumentPtr;
1402 </TYPEDEF>
1403 <STRUCT>
1404 <NAME>xsltDocument</NAME>
1405 struct xsltDocument {
1406     struct _xsltDocument *next; /* documents are kept in a chained list */
1407     int main;                   /* is this the main document */
1408     xmlDocPtr doc;              /* the parsed document */
1409     void *keys;                 /* key tables storage */
1410 };
1411 </STRUCT>
1412 <STRUCT>
1413 <NAME>xsltTransformContext</NAME>
1414 </STRUCT>
1415 <TYPEDEF>
1416 <NAME>xsltTransformContextPtr</NAME>
1417 typedef xsltTransformContext *xsltTransformContextPtr;
1418 </TYPEDEF>
1419 <STRUCT>
1420 <NAME>xsltElemPreComp</NAME>
1421 </STRUCT>
1422 <TYPEDEF>
1423 <NAME>xsltElemPreCompPtr</NAME>
1424 typedef xsltElemPreComp *xsltElemPreCompPtr;
1425 </TYPEDEF>
1426 <USER_FUNCTION>
1427 <NAME>xsltTransformFunction</NAME>
1428 <RETURNS>void </RETURNS>
1429 xsltTransformContextPtr ctxt,
1430                                        xmlNodePtr node,
1431                                        xmlNodePtr inst,
1432                                        xsltElemPreCompPtr comp
1433 </USER_FUNCTION>
1434 <USER_FUNCTION>
1435 <NAME>xsltSortFunc</NAME>
1436 <RETURNS>void </RETURNS>
1437 xsltTransformContextPtr ctxt, xmlNodePtr *sorts,
1438                               int nbsorts
1439 </USER_FUNCTION>
1440 <ENUM>
1441 <NAME>xsltStyleType</NAME>
1442 typedef enum {
1443     XSLT_FUNC_COPY=1,
1444     XSLT_FUNC_SORT,
1445     XSLT_FUNC_TEXT,
1446     XSLT_FUNC_ELEMENT,
1447     XSLT_FUNC_ATTRIBUTE,
1448     XSLT_FUNC_COMMENT,
1449     XSLT_FUNC_PI,
1450     XSLT_FUNC_COPYOF,
1451     XSLT_FUNC_VALUEOF,
1452     XSLT_FUNC_NUMBER,
1453     XSLT_FUNC_APPLYIMPORTS,
1454     XSLT_FUNC_CALLTEMPLATE,
1455     XSLT_FUNC_APPLYTEMPLATES,
1456     XSLT_FUNC_CHOOSE,
1457     XSLT_FUNC_IF,
1458     XSLT_FUNC_FOREACH,
1459     XSLT_FUNC_DOCUMENT,
1460     XSLT_FUNC_WITHPARAM,
1461     XSLT_FUNC_PARAM,
1462     XSLT_FUNC_VARIABLE,
1463     XSLT_FUNC_WHEN,
1464     XSLT_FUNC_EXTENSION
1465 } xsltStyleType;
1466 </ENUM>
1467 <USER_FUNCTION>
1468 <NAME>xsltElemPreCompDeallocator</NAME>
1469 <RETURNS>void </RETURNS>
1470 xsltElemPreCompPtr comp
1471 </USER_FUNCTION>
1472 <STRUCT>
1473 <NAME>xsltElemPreComp</NAME>
1474 struct xsltElemPreComp {
1475     xsltElemPreCompPtr next;            /* chained list */
1476     xsltStyleType type;                 /* type of the element */
1477     xsltTransformFunction func;         /* handling function */
1478     xmlNodePtr inst;                    /* the instruction */
1479
1480     /* end of common part */
1481     xsltElemPreCompDeallocator free;    /* the deallocator */
1482 };
1483 </STRUCT>
1484 <STRUCT>
1485 <NAME>xsltStylePreComp</NAME>
1486 </STRUCT>
1487 <TYPEDEF>
1488 <NAME>xsltStylePreCompPtr</NAME>
1489 typedef xsltStylePreComp *xsltStylePreCompPtr;
1490 </TYPEDEF>
1491 <STRUCT>
1492 <NAME>xsltStylePreComp</NAME>
1493 struct xsltStylePreComp {
1494     xsltElemPreCompPtr next;    /* chained list */
1495     xsltStyleType type;         /* type of the element */
1496     xsltTransformFunction func; /* handling function */
1497     xmlNodePtr inst;            /* the instruction */
1498
1499     /*
1500      * Pre computed values.
1501      */
1502
1503     xmlChar *stype;             /* sort */
1504     int      has_stype;         /* sort */
1505     int      number;            /* sort */
1506     xmlChar *order;             /* sort */
1507     int      has_order;         /* sort */
1508     int      descending;        /* sort */
1509     xmlChar *lang;              /* sort */
1510     int      has_lang;          /* sort */
1511     xmlChar *case_order;        /* sort */
1512     int      lower_first;       /* sort */
1513
1514     xmlChar *use;               /* copy, element */
1515     int      has_use;           /* copy, element */
1516
1517     int      noescape;          /* text */
1518
1519     xmlChar *name;              /* element, attribute, pi */
1520     int      has_name;          /* element, attribute, pi */
1521     xmlChar *ns;                /* element */
1522     int      has_ns;            /* element */
1523
1524     xmlChar *mode;              /* apply-templates */
1525     xmlChar *modeURI;           /* apply-templates */
1526
1527     xmlChar *test;              /* if */
1528
1529     xsltTemplatePtr templ;      /* call-template */
1530
1531     xmlChar *select;            /* sort, copy-of, value-of, apply-templates */
1532
1533     int      ver11;             /* document */
1534     xmlChar *filename;          /* document URL */
1535     int      has_filename;      /* document */
1536
1537     xsltNumberData numdata;     /* number */
1538
1539     xmlXPathCompExprPtr comp;   /* a precompiled XPath expression */
1540     xmlNsPtr *nsList;           /* the namespaces in scope */
1541     int nsNr;                   /* the number of namespaces in scope */
1542 };
1543 </STRUCT>
1544 <STRUCT>
1545 <NAME>xsltStackElem</NAME>
1546 </STRUCT>
1547 <TYPEDEF>
1548 <NAME>xsltStackElemPtr</NAME>
1549 typedef xsltStackElem *xsltStackElemPtr;
1550 </TYPEDEF>
1551 <STRUCT>
1552 <NAME>xsltStackElem</NAME>
1553 struct xsltStackElem {
1554     struct _xsltStackElem *next;/* chained list */
1555     xsltStylePreCompPtr comp;   /* the compiled form */
1556     int computed;       /* was the evaluation done */
1557     xmlChar *name;      /* the local part of the name QName */
1558     xmlChar *nameURI;   /* the URI part of the name QName */
1559     xmlChar *select;    /* the eval string */
1560     xmlNodePtr tree;    /* the tree if no eval string or the location */
1561     xmlXPathObjectPtr value; /* The value if computed */
1562 };
1563 </STRUCT>
1564 <STRUCT>
1565 <NAME>xsltStylesheet</NAME>
1566 </STRUCT>
1567 <TYPEDEF>
1568 <NAME>xsltStylesheetPtr</NAME>
1569 typedef xsltStylesheet *xsltStylesheetPtr;
1570 </TYPEDEF>
1571 <STRUCT>
1572 <NAME>xsltStylesheet</NAME>
1573 struct xsltStylesheet {
1574     /*
1575      * The stylesheet import relation is kept as a tree.
1576      */
1577     struct _xsltStylesheet *parent;
1578     struct _xsltStylesheet *next;
1579     struct _xsltStylesheet *imports;
1580
1581     xsltDocumentPtr docList;            /* the include document list */
1582
1583     /*
1584      * General data on the style sheet document.
1585      */
1586     xmlDocPtr doc;              /* the parsed XML stylesheet */
1587     xmlHashTablePtr stripSpaces;/* the hash table of the strip-space and
1588                                    preserve space elements */
1589     int             stripAll;   /* strip-space * (1) preserve-space * (-1) */
1590     xmlHashTablePtr cdataSection;/* the hash table of the cdata-section */
1591
1592     /*
1593      * Global variable or parameters.
1594      */
1595     xsltStackElemPtr variables; /* linked list of param and variables */
1596
1597     /*
1598      * Template descriptions.
1599      */
1600     xsltTemplatePtr templates;  /* the ordered list of templates */
1601     void *templatesHash;        /* hash table or wherever compiled templates
1602                                    informations are stored */
1603     void *rootMatch;            /* template based on / */
1604     void *keyMatch;             /* template based on key() */
1605     void *elemMatch;            /* template based on * */
1606     void *attrMatch;            /* template based on @* */
1607     void *parentMatch;          /* template based on .. */
1608     void *textMatch;            /* template based on text() */
1609     void *piMatch;              /* template based on processing-instruction() */
1610     void *commentMatch;         /* template based on comment() */
1611     
1612     /*
1613      * Namespace aliases.
1614      */
1615     xmlHashTablePtr nsAliases;  /* the namespace alias hash tables */
1616
1617     /*
1618      * Attribute sets.
1619      */
1620     xmlHashTablePtr attributeSets;/* the attribute sets hash tables */
1621
1622     /*
1623      * Namespaces.
1624      */
1625     xmlHashTablePtr nsHash;     /* the set of namespaces in use */
1626     void           *nsDefs;     /* the namespaces defined */
1627
1628     /*
1629      * Key definitions.
1630      */
1631     void *keys;                         /* key definitions */
1632
1633     /*
1634      * Output related stuff.
1635      */
1636     xmlChar *method;            /* the output method */
1637     xmlChar *methodURI;         /* associated namespace if any */
1638     xmlChar *version;           /* version string */
1639     xmlChar *encoding;          /* encoding string */
1640     int omitXmlDeclaration;     /* omit-xml-declaration = "yes" | "no" */
1641
1642     /* 
1643      * Number formatting.
1644      */
1645     xsltDecimalFormatPtr decimalFormat;
1646     int standalone;             /* standalone = "yes" | "no" */
1647     xmlChar *doctypePublic;     /* doctype-public string */
1648     xmlChar *doctypeSystem;     /* doctype-system string */
1649     int indent;                 /* should output being indented */
1650     xmlChar *mediaType;         /* media-type string */
1651
1652     /*
1653      * Precomputed blocks.
1654      */
1655     xsltElemPreCompPtr preComps;/* list of precomputed blocks */
1656     int warnings;               /* number of warnings found at compilation */
1657     int errors;                 /* number of errors found at compilation */
1658
1659     xmlChar  *exclPrefix;       /* last excluded prefixes */
1660     xmlChar **exclPrefixTab;    /* array of excluded prefixes */
1661     int       exclPrefixNr;     /* number of excluded prefixes in scope */
1662     int       exclPrefixMax;    /* size of the array */
1663
1664     void     *_private;         /* user defined data */
1665
1666     /*
1667      * Extensions.
1668      */
1669     xmlHashTablePtr extInfos;   /* the extension data */
1670     int             extrasNr;   /* the number of extras required */
1671 };
1672 </STRUCT>
1673 <ENUM>
1674 <NAME>xsltOutputType</NAME>
1675 typedef enum {
1676     XSLT_OUTPUT_XML = 0,
1677     XSLT_OUTPUT_HTML,
1678     XSLT_OUTPUT_TEXT
1679 } xsltOutputType;
1680 </ENUM>
1681 <ENUM>
1682 <NAME>xsltTransformState</NAME>
1683 typedef enum {
1684     XSLT_STATE_OK = 0,
1685     XSLT_STATE_ERROR,
1686     XSLT_STATE_STOPPED
1687 } xsltTransformState;
1688 </ENUM>
1689 <STRUCT>
1690 <NAME>xsltTransformContext</NAME>
1691 struct xsltTransformContext {
1692     xsltStylesheetPtr style;            /* the stylesheet used */
1693     xsltOutputType type;                /* the type of output */
1694
1695     xsltTemplatePtr  templ;             /* the current template */
1696     int              templNr;           /* Nb of templates in the stack */
1697     int              templMax;          /* Size of the templtes stack */
1698     xsltTemplatePtr *templTab;          /* the template stack */
1699
1700     xsltStackElemPtr  vars;             /* the current variable list */
1701     int               varsNr;           /* Nb of variable list in the stack */
1702     int               varsMax;          /* Size of the variable list stack */
1703     xsltStackElemPtr *varsTab;          /* the variable list stack */
1704     int               varsBase;         /* the var base for current templ */
1705
1706     /*
1707      * Extensions
1708      */
1709     xmlHashTablePtr   extFunctions;     /* the extension functions */
1710     xmlHashTablePtr   extElements;      /* the extension elements */
1711     xmlHashTablePtr   extInfos;         /* the extension data */
1712
1713     const xmlChar *mode;                /* the current mode */
1714     const xmlChar *modeURI;             /* the current mode URI */
1715
1716     xsltDocumentPtr docList;            /* the document list */
1717
1718     xsltDocumentPtr document;           /* the current document */
1719     xmlNodePtr node;                    /* the current node being processed */
1720     xmlNodeSetPtr nodeList;             /* the current node list */
1721     /* xmlNodePtr current;                      the node */
1722
1723     xmlDocPtr output;                   /* the resulting document */
1724     xmlNodePtr insert;                  /* the insertion node */
1725
1726     xmlXPathContextPtr xpathCtxt;       /* the XPath context */
1727     xsltTransformState state;           /* the current state */
1728
1729     /*
1730      * Global variables
1731      */
1732     xmlHashTablePtr   globalVars;       /* the global variables and params */
1733
1734     xmlNodePtr inst;                    /* the instruction in the stylesheet */
1735
1736     int xinclude;                       /* should XInclude be processed */
1737
1738     const char *      outputFile;       /* the output URI if known */
1739
1740     int profile;                        /* is this run profiled */
1741     long             prof;              /* the current profiled value */
1742     int              profNr;            /* Nb of templates in the stack */
1743     int              profMax;           /* Size of the templtaes stack */
1744     long            *profTab;           /* the profile template stack */
1745
1746     void            *_private;          /* user defined data */
1747
1748     int              extrasNr;          /* the number of extras used */
1749     int              extrasMax;         /* the number of extras allocated */
1750     xsltRuntimeExtraPtr extras;         /* extra per runtime informations */
1751
1752     xsltDocumentPtr  styleList;         /* the stylesheet docs list */
1753     void                 * sec;         /* the security preferences if any */
1754
1755     xmlGenericErrorFunc  error;         /* a specific error handler */
1756     void              * errctx;         /* context for the error handler */
1757
1758     xsltSortFunc      sortfunc;         /* a ctxt specific sort routine */
1759
1760     /*
1761      * handling of temporary Result Value Tree
1762      */
1763     xmlDocPtr       tmpRVT;             /* list of RVT without persistance */
1764     xmlDocPtr       persistRVT;         /* list of persistant RVTs */
1765     int             ctxtflags;          /* context processing flags */
1766
1767     /*
1768      * Speed optimization when coalescing text nodes
1769      */
1770     const xmlChar  *lasttext;           /* last text node content */
1771     unsigned int    lasttsize;          /* last text node size */
1772     unsigned int    lasttuse;           /* last text node use */
1773 };
1774 </STRUCT>
1775 <MACRO>
1776 <NAME>CHECK_STOPPED</NAME>
1777 #define CHECK_STOPPED if (ctxt->state == XSLT_STATE_STOPPED) return;
1778 </MACRO>
1779 <MACRO>
1780 <NAME>CHECK_STOPPEDE</NAME>
1781 #define CHECK_STOPPEDE if (ctxt->state == XSLT_STATE_STOPPED) goto error;
1782 </MACRO>
1783 <MACRO>
1784 <NAME>CHECK_STOPPED0</NAME>
1785 #define CHECK_STOPPED0 if (ctxt->state == XSLT_STATE_STOPPED) return(0);
1786 </MACRO>
1787 <FUNCTION>
1788 <NAME>xsltNewStylesheet</NAME>
1789 <RETURNS>xsltStylesheetPtr      </RETURNS>
1790 void
1791 </FUNCTION>
1792 <FUNCTION>
1793 <NAME>xsltParseStylesheetFile</NAME>
1794 <RETURNS>xsltStylesheetPtr      </RETURNS>
1795 const xmlChar* filename
1796 </FUNCTION>
1797 <FUNCTION>
1798 <NAME>xsltFreeStylesheet</NAME>
1799 <RETURNS>void   </RETURNS>
1800 xsltStylesheetPtr sheet
1801 </FUNCTION>
1802 <FUNCTION>
1803 <NAME>xsltIsBlank</NAME>
1804 <RETURNS>int    </RETURNS>
1805 xmlChar *str
1806 </FUNCTION>
1807 <FUNCTION>
1808 <NAME>xsltFreeStackElemList</NAME>
1809 <RETURNS>void   </RETURNS>
1810 xsltStackElemPtr elem
1811 </FUNCTION>
1812 <FUNCTION>
1813 <NAME>xsltDecimalFormatGetByName</NAME>
1814 <RETURNS>xsltDecimalFormatPtr   </RETURNS>
1815 xsltStylesheetPtr sheet,xmlChar *name
1816 </FUNCTION>
1817 <FUNCTION>
1818 <NAME>xsltParseStylesheetProcess</NAME>
1819 <RETURNS>xsltStylesheetPtr      </RETURNS>
1820 xsltStylesheetPtr ret,xmlDocPtr doc
1821 </FUNCTION>
1822 <FUNCTION>
1823 <NAME>xsltParseStylesheetOutput</NAME>
1824 <RETURNS>void   </RETURNS>
1825 xsltStylesheetPtr style,xmlNodePtr cur
1826 </FUNCTION>
1827 <FUNCTION>
1828 <NAME>xsltParseStylesheetDoc</NAME>
1829 <RETURNS>xsltStylesheetPtr      </RETURNS>
1830 xmlDocPtr doc
1831 </FUNCTION>
1832 <FUNCTION>
1833 <NAME>xsltParseStylesheetImportedDoc</NAME>
1834 <RETURNS>xsltStylesheetPtr      </RETURNS>
1835 xmlDocPtr doc
1836 </FUNCTION>
1837 <FUNCTION>
1838 <NAME>xsltLoadStylesheetPI</NAME>
1839 <RETURNS>xsltStylesheetPtr      </RETURNS>
1840 xmlDocPtr doc
1841 </FUNCTION>
1842 <FUNCTION>
1843 <NAME>xsltNumberFormat</NAME>
1844 <RETURNS>void  </RETURNS>
1845 xsltTransformContextPtr ctxt,xsltNumberDataPtr data,xmlNodePtr node
1846 </FUNCTION>
1847 <FUNCTION>
1848 <NAME>xsltFormatNumberConversion</NAME>
1849 <RETURNS>xmlXPathError  </RETURNS>
1850 xsltDecimalFormatPtr self,xmlChar *format,double number,xmlChar **result
1851 </FUNCTION>
1852 <FUNCTION>
1853 <NAME>xsltParseTemplateContent</NAME>
1854 <RETURNS>void   </RETURNS>
1855 xsltStylesheetPtr style,xmlNodePtr templ
1856 </FUNCTION>
1857 <FUNCTION>
1858 <NAME>xsltAllocateExtra</NAME>
1859 <RETURNS>int    </RETURNS>
1860 xsltStylesheetPtr style
1861 </FUNCTION>
1862 <FUNCTION>
1863 <NAME>xsltAllocateExtraCtxt</NAME>
1864 <RETURNS>int    </RETURNS>
1865 xsltTransformContextPtr ctxt
1866 </FUNCTION>
1867 <FUNCTION>
1868 <NAME>xsltCreateRVT</NAME>
1869 <RETURNS>xmlDocPtr      </RETURNS>
1870 xsltTransformContextPtr ctxt
1871 </FUNCTION>
1872 <FUNCTION>
1873 <NAME>xsltRegisterTmpRVT</NAME>
1874 <RETURNS>int    </RETURNS>
1875 xsltTransformContextPtr ctxt,xmlDocPtr RVT
1876 </FUNCTION>
1877 <FUNCTION>
1878 <NAME>xsltRegisterPersistRVT</NAME>
1879 <RETURNS>int    </RETURNS>
1880 xsltTransformContextPtr ctxt,xmlDocPtr RVT
1881 </FUNCTION>
1882 <FUNCTION>
1883 <NAME>xsltFreeRVTs</NAME>
1884 <RETURNS>void   </RETURNS>
1885 xsltTransformContextPtr ctxt
1886 </FUNCTION>
1887 <MACRO>
1888 <NAME>TRIO_COMPILER_GCC</NAME>
1889 # define TRIO_COMPILER_GCC
1890 </MACRO>
1891 <MACRO>
1892 <NAME>TRIO_COMPILER_SUNPRO</NAME>
1893 # define TRIO_COMPILER_SUNPRO
1894 </MACRO>
1895 <MACRO>
1896 <NAME>TRIO_COMPILER_SUNPRO</NAME>
1897 # define TRIO_COMPILER_SUNPRO
1898 </MACRO>
1899 <MACRO>
1900 <NAME>TRIO_COMPILER_XLC</NAME>
1901 # define TRIO_COMPILER_XLC
1902 </MACRO>
1903 <MACRO>
1904 <NAME>TRIO_COMPILER_XLC</NAME>
1905 # define TRIO_COMPILER_XLC /* Workaround for old xlc */
1906 </MACRO>
1907 <MACRO>
1908 <NAME>TRIO_COMPILER_DECC</NAME>
1909 # define TRIO_COMPILER_DECC
1910 </MACRO>
1911 <MACRO>
1912 <NAME>TRIO_COMPILER_DECC</NAME>
1913 # define TRIO_COMPILER_DECC /* Workaround for old DEC C compilers */
1914 </MACRO>
1915 <MACRO>
1916 <NAME>TRIO_COMPILER_MSVC</NAME>
1917 # define TRIO_COMPILER_MSVC
1918 </MACRO>
1919 <MACRO>
1920 <NAME>TRIO_COMPILER_BCB</NAME>
1921 # define TRIO_COMPILER_BCB
1922 </MACRO>
1923 <MACRO>
1924 <NAME>TRIO_PLATFORM_VMS</NAME>
1925 # define TRIO_PLATFORM_VMS
1926 </MACRO>
1927 <MACRO>
1928 <NAME>TRIO_PLATFORM_UNIX</NAME>
1929 # define TRIO_PLATFORM_UNIX
1930 </MACRO>
1931 <MACRO>
1932 <NAME>TRIO_PLATFORM_UNIX</NAME>
1933 # define TRIO_PLATFORM_UNIX
1934 </MACRO>
1935 <MACRO>
1936 <NAME>TRIO_PLATFORM_UNIX</NAME>
1937 # define TRIO_PLATFORM_UNIX
1938 </MACRO>
1939 <MACRO>
1940 <NAME>TRIO_PLATFORM_UNIX</NAME>
1941 # define TRIO_PLATFORM_UNIX
1942 </MACRO>
1943 <MACRO>
1944 <NAME>TRIO_PLATFORM_UNIX</NAME>
1945 # define TRIO_PLATFORM_UNIX
1946 </MACRO>
1947 <MACRO>
1948 <NAME>TRIO_PLATFORM_QNX</NAME>
1949 # define TRIO_PLATFORM_QNX
1950 </MACRO>
1951 <MACRO>
1952 <NAME>TRIO_PLATFORM_UNIX</NAME>
1953 # define TRIO_PLATFORM_UNIX
1954 </MACRO>
1955 <MACRO>
1956 <NAME>TRIO_PLATFORM_UNIX</NAME>
1957 # define TRIO_PLATFORM_UNIX
1958 </MACRO>
1959 <MACRO>
1960 <NAME>TRIO_PLATFORM_WIN32</NAME>
1961 # define TRIO_PLATFORM_WIN32
1962 </MACRO>
1963 <MACRO>
1964 <NAME>TRIO_PLATFORM_MPEIX</NAME>
1965 # define TRIO_PLATFORM_MPEIX
1966 </MACRO>
1967 <MACRO>
1968 <NAME>TRIO_PLATFORM_AIX</NAME>
1969 # define TRIO_PLATFORM_AIX
1970 </MACRO>
1971 <MACRO>
1972 <NAME>TRIO_PLATFORM_HPUX</NAME>
1973 # define TRIO_PLATFORM_HPUX
1974 </MACRO>
1975 <MACRO>
1976 <NAME>TRIO_PLATFORM_SOLARIS</NAME>
1977 #  define TRIO_PLATFORM_SOLARIS
1978 </MACRO>
1979 <MACRO>
1980 <NAME>TRIO_PLATFORM_SUNOS</NAME>
1981 #  define TRIO_PLATFORM_SUNOS
1982 </MACRO>
1983 <MACRO>
1984 <NAME>TRIO_COMPILER_SUPPORTS_C89</NAME>
1985 # define TRIO_COMPILER_SUPPORTS_C89
1986 </MACRO>
1987 <MACRO>
1988 <NAME>TRIO_COMPILER_SUPPORTS_C90</NAME>
1989 #  define TRIO_COMPILER_SUPPORTS_C90
1990 </MACRO>
1991 <MACRO>
1992 <NAME>TRIO_COMPILER_SUPPORTS_C94</NAME>
1993 #   define TRIO_COMPILER_SUPPORTS_C94
1994 </MACRO>
1995 <MACRO>
1996 <NAME>TRIO_COMPILER_SUPPORTS_C99</NAME>
1997 #   define TRIO_COMPILER_SUPPORTS_C99
1998 </MACRO>
1999 <MACRO>
2000 <NAME>TRIO_COMPILER_SUPPORTS_C94</NAME>
2001 #   define TRIO_COMPILER_SUPPORTS_C94
2002 </MACRO>
2003 <MACRO>
2004 <NAME>TRIO_COMPILER_SUPPORTS_UNIX95</NAME>
2005 #  define TRIO_COMPILER_SUPPORTS_UNIX95
2006 </MACRO>
2007 <MACRO>
2008 <NAME>TRIO_COMPILER_SUPPORTS_UNIX98</NAME>
2009 #  define TRIO_COMPILER_SUPPORTS_UNIX98
2010 </MACRO>
2011 <MACRO>
2012 <NAME>TRIO_COMPILER_SUPPORTS_UNIX01</NAME>
2013 #  define TRIO_COMPILER_SUPPORTS_UNIX01
2014 </MACRO>
2015 <MACRO>
2016 <NAME>TRIO_PUBLIC</NAME>
2017 # define TRIO_PUBLIC
2018 </MACRO>
2019 <MACRO>
2020 <NAME>TRIO_PRIVATE</NAME>
2021 # define TRIO_PRIVATE static
2022 </MACRO>
2023 <MACRO>
2024 <NAME>TRIO_COMPILER_ANCIENT</NAME>
2025 # define TRIO_COMPILER_ANCIENT
2026 </MACRO>
2027 <MACRO>
2028 <NAME>TRIO_CONST</NAME>
2029 # define TRIO_CONST
2030 </MACRO>
2031 <MACRO>
2032 <NAME>TRIO_VOLATILE</NAME>
2033 # define TRIO_VOLATILE
2034 </MACRO>
2035 <MACRO>
2036 <NAME>TRIO_SIGNED</NAME>
2037 # define TRIO_SIGNED
2038 </MACRO>
2039 <TYPEDEF>
2040 <NAME>trio_long_double_t</NAME>
2041 typedef double trio_long_double_t;
2042 </TYPEDEF>
2043 <TYPEDEF>
2044 <NAME>trio_pointer_t</NAME>
2045 typedef char * trio_pointer_t;
2046 </TYPEDEF>
2047 <MACRO>
2048 <NAME>TRIO_SUFFIX_LONG</NAME>
2049 # define TRIO_SUFFIX_LONG(x) x
2050 </MACRO>
2051 <MACRO>
2052 <NAME>TRIO_PROTO</NAME>
2053 # define TRIO_PROTO(x) ()
2054 </MACRO>
2055 <MACRO>
2056 <NAME>TRIO_NOARGS</NAME>
2057 # define TRIO_NOARGS
2058 </MACRO>
2059 <MACRO>
2060 <NAME>TRIO_ARGS1</NAME>
2061 # define TRIO_ARGS1(list,a1) list a1;
2062 </MACRO>
2063 <MACRO>
2064 <NAME>TRIO_ARGS2</NAME>
2065 # define TRIO_ARGS2(list,a1,a2) list a1; a2;
2066 </MACRO>
2067 <MACRO>
2068 <NAME>TRIO_ARGS3</NAME>
2069 # define TRIO_ARGS3(list,a1,a2,a3) list a1; a2; a3;
2070 </MACRO>
2071 <MACRO>
2072 <NAME>TRIO_ARGS4</NAME>
2073 # define TRIO_ARGS4(list,a1,a2,a3,a4) list a1; a2; a3; a4;
2074 </MACRO>
2075 <MACRO>
2076 <NAME>TRIO_ARGS5</NAME>
2077 # define TRIO_ARGS5(list,a1,a2,a3,a4,a5) list a1; a2; a3; a4; a5;
2078 </MACRO>
2079 <MACRO>
2080 <NAME>TRIO_ARGS6</NAME>
2081 # define TRIO_ARGS6(list,a1,a2,a3,a4,a5,a6) list a1; a2; a3; a4; a5; a6;
2082 </MACRO>
2083 <MACRO>
2084 <NAME>TRIO_VARGS2</NAME>
2085 # define TRIO_VARGS2(list,a1,a2) list a1; a2
2086 </MACRO>
2087 <MACRO>
2088 <NAME>TRIO_VARGS3</NAME>
2089 # define TRIO_VARGS3(list,a1,a2,a3) list a1; a2; a3
2090 </MACRO>
2091 <MACRO>
2092 <NAME>TRIO_VARGS4</NAME>
2093 # define TRIO_VARGS4(list,a1,a2,a3,a4) list a1; a2; a3; a4
2094 </MACRO>
2095 <MACRO>
2096 <NAME>TRIO_VARGS5</NAME>
2097 # define TRIO_VARGS5(list,a1,a2,a3,a4,a5) list a1; a2; a3; a4; a5
2098 </MACRO>
2099 <MACRO>
2100 <NAME>TRIO_VA_DECL</NAME>
2101 # define TRIO_VA_DECL va_dcl
2102 </MACRO>
2103 <MACRO>
2104 <NAME>TRIO_VA_START</NAME>
2105 # define TRIO_VA_START(x,y) va_start(x)
2106 </MACRO>
2107 <MACRO>
2108 <NAME>TRIO_VA_END</NAME>
2109 # define TRIO_VA_END(x) va_end(x)
2110 </MACRO>
2111 <MACRO>
2112 <NAME>TRIO_CONST</NAME>
2113 # define TRIO_CONST const
2114 </MACRO>
2115 <MACRO>
2116 <NAME>TRIO_VOLATILE</NAME>
2117 # define TRIO_VOLATILE volatile
2118 </MACRO>
2119 <MACRO>
2120 <NAME>TRIO_SIGNED</NAME>
2121 # define TRIO_SIGNED signed
2122 </MACRO>
2123 <TYPEDEF>
2124 <NAME>trio_long_double_t</NAME>
2125 typedef long double trio_long_double_t;
2126 </TYPEDEF>
2127 <TYPEDEF>
2128 <NAME>trio_pointer_t</NAME>
2129 typedef void * trio_pointer_t;
2130 </TYPEDEF>
2131 <MACRO>
2132 <NAME>TRIO_SUFFIX_LONG</NAME>
2133 # define TRIO_SUFFIX_LONG(x) x ## L
2134 </MACRO>
2135 <MACRO>
2136 <NAME>TRIO_PROTO</NAME>
2137 # define TRIO_PROTO(x) x
2138 </MACRO>
2139 <MACRO>
2140 <NAME>TRIO_NOARGS</NAME>
2141 # define TRIO_NOARGS void
2142 </MACRO>
2143 <MACRO>
2144 <NAME>TRIO_ARGS1</NAME>
2145 # define TRIO_ARGS1(list,a1) (a1)
2146 </MACRO>
2147 <MACRO>
2148 <NAME>TRIO_ARGS2</NAME>
2149 # define TRIO_ARGS2(list,a1,a2) (a1,a2)
2150 </MACRO>
2151 <MACRO>
2152 <NAME>TRIO_ARGS3</NAME>
2153 # define TRIO_ARGS3(list,a1,a2,a3) (a1,a2,a3)
2154 </MACRO>
2155 <MACRO>
2156 <NAME>TRIO_ARGS4</NAME>
2157 # define TRIO_ARGS4(list,a1,a2,a3,a4) (a1,a2,a3,a4)
2158 </MACRO>
2159 <MACRO>
2160 <NAME>TRIO_ARGS5</NAME>
2161 # define TRIO_ARGS5(list,a1,a2,a3,a4,a5) (a1,a2,a3,a4,a5)
2162 </MACRO>
2163 <MACRO>
2164 <NAME>TRIO_ARGS6</NAME>
2165 # define TRIO_ARGS6(list,a1,a2,a3,a4,a5,a6) (a1,a2,a3,a4,a5,a6)
2166 </MACRO>
2167 <MACRO>
2168 <NAME>TRIO_VARGS2</NAME>
2169 # define TRIO_VARGS2 TRIO_ARGS2
2170 </MACRO>
2171 <MACRO>
2172 <NAME>TRIO_VARGS3</NAME>
2173 # define TRIO_VARGS3 TRIO_ARGS3
2174 </MACRO>
2175 <MACRO>
2176 <NAME>TRIO_VARGS4</NAME>
2177 # define TRIO_VARGS4 TRIO_ARGS4
2178 </MACRO>
2179 <MACRO>
2180 <NAME>TRIO_VARGS5</NAME>
2181 # define TRIO_VARGS5 TRIO_ARGS5
2182 </MACRO>
2183 <MACRO>
2184 <NAME>TRIO_VA_DECL</NAME>
2185 # define TRIO_VA_DECL ...
2186 </MACRO>
2187 <MACRO>
2188 <NAME>TRIO_VA_START</NAME>
2189 # define TRIO_VA_START(x,y) va_start(x,y)
2190 </MACRO>
2191 <MACRO>
2192 <NAME>TRIO_VA_END</NAME>
2193 # define TRIO_VA_END(x) va_end(x)
2194 </MACRO>
2195 <MACRO>
2196 <NAME>TRIO_INLINE</NAME>
2197 # define TRIO_INLINE inline
2198 </MACRO>
2199 <MACRO>
2200 <NAME>TRIO_INLINE</NAME>
2201 # define TRIO_INLINE __inline__
2202 </MACRO>
2203 <MACRO>
2204 <NAME>TRIO_INLINE</NAME>
2205 # define TRIO_INLINE _inline
2206 </MACRO>
2207 <MACRO>
2208 <NAME>TRIO_INLINE</NAME>
2209 # define TRIO_INLINE __inline
2210 </MACRO>
2211 <MACRO>
2212 <NAME>TRIO_INLINE</NAME>
2213 # define TRIO_INLINE
2214 </MACRO>
2215 <MACRO>
2216 <NAME>TRIO_COMPILER_SUPPORTS_LL</NAME>
2217 # define TRIO_COMPILER_SUPPORTS_LL
2218 </MACRO>
2219 <STRUCT>
2220 <NAME>xsltSecurityPrefs</NAME>
2221 </STRUCT>
2222 <TYPEDEF>
2223 <NAME>xsltSecurityPrefsPtr</NAME>
2224 typedef xsltSecurityPrefs *xsltSecurityPrefsPtr;
2225 </TYPEDEF>
2226 <ENUM>
2227 <NAME>xsltSecurityOption</NAME>
2228 typedef enum {
2229     XSLT_SECPREF_READ_FILE = 1,
2230     XSLT_SECPREF_WRITE_FILE,
2231     XSLT_SECPREF_CREATE_DIRECTORY,
2232     XSLT_SECPREF_READ_NETWORK,
2233     XSLT_SECPREF_WRITE_NETWORK
2234 } xsltSecurityOption;
2235 </ENUM>
2236 <USER_FUNCTION>
2237 <NAME>xsltSecurityCheck</NAME>
2238 <RETURNS>int </RETURNS>
2239 xsltSecurityPrefsPtr sec,
2240                                          xsltTransformContextPtr ctxt,
2241                                          const char *value
2242 </USER_FUNCTION>
2243 <FUNCTION>
2244 <NAME>xsltNewSecurityPrefs</NAME>
2245 <RETURNS>xsltSecurityPrefsPtr   </RETURNS>
2246 void
2247 </FUNCTION>
2248 <FUNCTION>
2249 <NAME>xsltFreeSecurityPrefs</NAME>
2250 <RETURNS>void   </RETURNS>
2251 xsltSecurityPrefsPtr sec
2252 </FUNCTION>
2253 <FUNCTION>
2254 <NAME>xsltSetSecurityPrefs</NAME>
2255 <RETURNS>int    </RETURNS>
2256 xsltSecurityPrefsPtr sec,xsltSecurityOption option,xsltSecurityCheck func
2257 </FUNCTION>
2258 <FUNCTION>
2259 <NAME>xsltGetSecurityPrefs</NAME>
2260 <RETURNS>xsltSecurityCheck      </RETURNS>
2261 xsltSecurityPrefsPtr sec,xsltSecurityOption option
2262 </FUNCTION>
2263 <FUNCTION>
2264 <NAME>xsltSetDefaultSecurityPrefs</NAME>
2265 <RETURNS>void   </RETURNS>
2266 xsltSecurityPrefsPtr sec
2267 </FUNCTION>
2268 <FUNCTION>
2269 <NAME>xsltGetDefaultSecurityPrefs</NAME>
2270 <RETURNS>xsltSecurityPrefsPtr   </RETURNS>
2271 void
2272 </FUNCTION>
2273 <FUNCTION>
2274 <NAME>xsltSetCtxtSecurityPrefs</NAME>
2275 <RETURNS>int    </RETURNS>
2276 xsltSecurityPrefsPtr sec,xsltTransformContextPtr ctxt
2277 </FUNCTION>
2278 <FUNCTION>
2279 <NAME>xsltSecurityAllow</NAME>
2280 <RETURNS>int    </RETURNS>
2281 xsltSecurityPrefsPtr sec,xsltTransformContextPtr ctxt,const char *value
2282 </FUNCTION>
2283 <FUNCTION>
2284 <NAME>xsltSecurityForbid</NAME>
2285 <RETURNS>int    </RETURNS>
2286 xsltSecurityPrefsPtr sec,xsltTransformContextPtr ctxt,const char *value
2287 </FUNCTION>
2288 <FUNCTION>
2289 <NAME>xsltCheckWrite</NAME>
2290 <RETURNS>int    </RETURNS>
2291 xsltSecurityPrefsPtr sec,xsltTransformContextPtr ctxt,const xmlChar *URL
2292 </FUNCTION>
2293 <FUNCTION>
2294 <NAME>xsltCheckRead</NAME>
2295 <RETURNS>int    </RETURNS>
2296 xsltSecurityPrefsPtr sec,xsltTransformContextPtr ctxt,const xmlChar *URL
2297 </FUNCTION>