Project

Profile

Help

How to connect?
Download (82.1 KB) Statistics
| Branch: | Tag: | Revision:

he / latest10 / hec / saxonc-doc / doc / api.xml @ 6304fb8b

1
<?xml version="1.0" encoding="utf-8"?>
2
<article id="api" title="Saxon/C API">
3
   <h1>Saxon/C API</h1>
4

    
5
   <p>This section describes the Saxon/C API. The APIs support the XSLT 3.0, XQuery 3.1, XPath 3.1
6
      and Schema Validation 1.0/1.1 specifications. Saxon/C can be used in C/C++, PHP and Python,
7
      and links to the APIs in each of these languages are provided below.</p>
8

    
9
   <p>The Saxon/C API provides six main classes:</p>
10

    
11
   <table>
12
      <thead>
13
         <tr>
14
            <td>Class</td>
15
            <td>Description</td>
16
            <td>API</td>
17
         </tr>
18
      </thead>
19
      <tbody>
20
         <tr>
21
            <td>
22
               <p>
23
                  <code>SaxonProcessor</code>
24
               </p>
25
            </td>
26
            <td>
27
               <p>A <code>SaxonProcessor</code> acts as a factory for generating XSLT, XQuery, XPath
28
                  and Schema compilers. This class creates the JET run time in a static struct
29
                  object which is shared across all <code>SaxonProcessor</code> objects created. For
30
                  C++ programs the static method <code>SaxonProcessor::release()</code> needs to be
31
                  called at the end of a program to clean up the JET threads. In the Saxon/C Python
32
                  and PHP extensions this release method is called internally.</p>
33
            </td>
34
            <td>
35
               <p>
36
                  <a href="https://www.saxonica.com/saxon-c/doc/html/classSaxonProcessor.html"
37
                     >C++</a>
38
                  <a href="/api/saxon_c_php_api/saxon_c_php_saxonprocessor">PHP</a>
39
                  <a href="https://www.saxonica.com/saxon-c/doc/html/saxonc.html#PySaxonProcessor"
40
                     >Python</a>
41
               </p>
42
            </td>
43
         </tr>
44
         <tr>
45
            <td>
46
               <p>
47
                  <code>XsltProcessor</code>
48
               </p>
49
            </td>
50
            <td>
51
               <p>An <code>XsltProcessor</code> represents a factory to compile, load and execute a
52
                  stylesheet. It is possible to cache the context and the stylesheet in the
53
                     <code>XsltProcessor</code>.</p>
54
            </td>
55
            <td>
56
               <p>
57
                  <a href="https://www.saxonica.com/saxon-c/doc/html/classXsltProcessor.html"
58
                     class="bodylink code">C++</a>
59
                  <a href="/api/saxon_c_php_api/saxon_c_php_xsltprocessor">PHP</a>
60
                  <a href="https://www.saxonica.com/saxon-c/doc/html/saxonc.html#PyXsltProcessor"
61
                     >Python</a>
62
               </p>
63
            </td>
64
         </tr>
65
         <tr>
66
            <td>
67
               <p>
68
                  <code>Xslt30Processor</code>
69
               </p>
70
            </td>
71
            <td>
72
               <p>An <code>Xslt30Processor</code> represents a factory to compile, load and execute
73
                  a stylesheet. It supports new options for invoking a stylesheet, corresponding to
74
                  facilities defined in the XSLT 3.0 specification, but is not confined to XSLT 3.0,
75
                  it can also work well with XSLT 2.0 and XSLT 1.0 stylesheets.</p>
76
            </td>
77
            <td>
78
               <p>
79
                  <a href="https://www.saxonica.com/saxon-c/doc/html/classXslt30Processor.html"
80
                     >C++</a>
81
                  <a href="/api/saxon_c_php_api/saxon_c_php_xslt30processor">PHP</a>
82
                  <a href="https://www.saxonica.com/saxon-c/doc/html/saxonc.html#PyXslt30Processor"
83
                     >Python</a>
84
               </p>
85
            </td>
86
         </tr>
87
         <tr>
88
            <td>
89
               <p>
90
                  <code>XQueryProcessor</code>
91
               </p>
92
            </td>
93
            <td>
94
               <p>An <code>XQueryProcessor</code> object represents a factory to compile, load and
95
                  execute queries.</p>
96
            </td>
97
            <td>
98
               <p>
99
                  <a href="https://www.saxonica.com/saxon-c/doc/html/classXQueryProcessor.html"
100
                     >C++</a>
101
                  <a href="/api/saxon_c_php_api/saxon_c_php_xqueryprocessor">PHP</a>
102
                  <a href="https://www.saxonica.com/saxon-c/doc/html/saxonc.html#PyXQueryProcessor"
103
                     >Python</a>
104
               </p>
105
            </td>
106
         </tr>
107
         <tr>
108
            <td>
109
               <p>
110
                  <code>XPathProcessor</code>
111
               </p>
112
            </td>
113
            <td>
114
               <p>An <code>XPathProcessor</code> represents a factory to compile, load and execute
115
                  the XPath query.</p>
116
            </td>
117
            <td>
118
               <p>
119
                  <a href="https://www.saxonica.com/saxon-c/doc/html/classXPathProcessor.html"
120
                     >C++</a>
121
                  <a href="/api/saxon_c_php_api/saxon_c_php_xpathprocessor">PHP</a>
122
                  <a href="https://www.saxonica.com/saxon-c/doc/html/saxonc.html#PyXPathProcessor"
123
                     >Python</a>
124
               </p>
125
            </td>
126
         </tr>
127
         <tr>
128
            <td>
129
               <p>
130
                  <code>SchemaValidator</code>
131
               </p>
132
            </td>
133
            <td>
134
               <p>A <code>SchemaValidator</code> represents a factory for validating instance
135
                  documents against a schema.</p>
136
            </td>
137
            <td>
138
               <p>
139
                  <a href="https://www.saxonica.com/saxon-c/doc/html/classschemavalidator.html"
140
                     >C++</a>
141
                  <a href="/api/saxon_c_php_api/saxon_c_php_schemavalidator">PHP</a>
142
                  <a href="https://www.saxonica.com/saxon-c/doc/html/saxonc.html#PySchemaValidator"
143
                     >Python</a>
144
               </p>
145
            </td>
146
         </tr>
147
      </tbody>
148
   </table>
149

    
150

    
151
   <section id="saxon_c_cpp_api" title="Saxon/C C++ API">
152
      <h1>Saxon/C C++ API</h1>
153

    
154
      <p>Saxon/C 1.2 is built from the Saxon 9.9.1.5 Java product by cross compiling using Excelsior
155
         JET Enterprise 15.3 edition (MP1). This generates platform specific machine code, which is
156
         interfaced with C/C++ using the Java Native Interace (JNI). The following Saxon/C API
157
         classes are available in C++ to process XSLT, XQuery, XPath and Schema validation:</p>
158
      <ul>
159
         <li>
160
            <a class="bodylink code"
161
               href="https://www.saxonica.com/saxon-c/doc/html/classSaxonProcessor.html"
162
               >SaxonProcessor</a>
163
         </li>
164
         <li>
165
            <a class="bodylink code"
166
               href="https://www.saxonica.com/saxon-c/doc/html/classXsltProcessor.html"
167
               >XsltProcessor</a>
168
         </li>
169
         <li>
170
            <a class="bodylink code"
171
               href="https://www.saxonica.com/saxon-c/doc/html/classXslt30Processor.html"
172
               >Xslt30Processor</a>
173
         </li>
174
         <li>
175
            <a class="bodylink code"
176
               href="https://www.saxonica.com/saxon-c/doc/html/classXPathProcessor.html"
177
               >XPathProcessor</a>
178
         </li>
179
         <li>
180
            <a class="bodylink code"
181
               href="https://www.saxonica.com/saxon-c/doc/html/classXQueryProcessor.html"
182
               >XQueryProcessor</a>
183
         </li>
184
         <li>
185
            <a class="bodylink code"
186
               href="https://www.saxonica.com/saxon-c/doc/html/classSchemaValidator.html"
187
               >SchemaValidator</a>
188
         </li>
189
      </ul>
190
      <p>Also, the following classes are available for a subset of the XDM data model:</p>
191
      <ul>
192
         <li>
193
            <a class="bodylink code"
194
               href="https://www.saxonica.com/saxon-c/doc/html/classXdmValue.html">XdmValue</a>
195
         </li>
196
         <li>
197
            <a class="bodylink code"
198
               href="https://www.saxonica.com/saxon-c/doc/html/classXdmItem.html">XdmItem</a>
199
         </li>
200
         <li>
201
            <a class="bodylink code"
202
               href="https://www.saxonica.com/saxon-c/doc/html/classXdmNode.html">XdmNode</a>
203
         </li>
204
         <li>
205
            <a class="bodylink code"
206
               href="https://www.saxonica.com/saxon-c/doc/html/classXdmAtomicValue.html"
207
               >XdmAtomicValue</a>
208
         </li>
209
      </ul>
210
      <p>See the API class list: <a href="https://www.saxonica.com/saxon-c/doc/html/annotated.html"
211
            >C++ documentation</a></p>
212
   </section>
213

    
214

    
215
   <section id="saxon_c_php_api" title="Saxon/C PHP API">
216

    
217
      <h1>Saxon/C PHP API</h1>
218

    
219
      <p>The following classes are available in the PHP API:</p>
220

    
221
      <nav>
222
         <ul/>
223
      </nav>
224

    
225
      <section id="saxon_c_php_saxonprocessor" title="Saxon\SaxonProcessor">
226
         <h1>Saxon\SaxonProcessor Class</h1>
227

    
228
         <table>
229
            <thead>
230
               <tr>
231
                  <td>Return</td>
232
                  <td>Function name and Description</td>
233
               </tr>
234
            </thead>
235

    
236
            <tr>
237
               <td/>
238
               <td>
239
                  <span class="signature">SaxonProcessor()</span>
240
                  <div class="fcomment">Default Constructor. Create an unlicensed Saxon
241
                     Processor.</div>
242
               </td>
243
            </tr>
244
            <tr>
245
               <td/>
246
               <td>
247
                  <span class="signature">SaxonProcessor(boolean $license)</span>
248
                  <div class="fcomment">Constructor. Indicates whether the Processor requires
249
                     features of Saxon that need a license file. If false, the method will create a
250
                     Configuration appropriate for Saxon-HE (Home edition). If true, the method will
251
                     create a Configuration appropriate to the version of the software that is
252
                     running, i.e. Saxon-PE or Saxon-EE.</div>
253
               </td>
254
            </tr>
255
            <tr>
256
               <td/>
257
               <td>
258
                  <span class="signature">SaxonProcessor(boolean $license, string $cwd)</span>
259
                  <div class="fcomment">Constructor. Indicates whether the Processor requires
260
                     features of Saxon that need a license file. The $cwd argument is used to
261
                     manually set the current working directory used for executions of source
262
                     files.</div>
263
               </td>
264
            </tr>
265
            <tr>
266
               <td>
267
                  <a class="bodylink code" href="../saxon_c_php_xdmvalue">Saxon\XdmValue</a>
268
               </td>
269
               <td>
270
                  <span class="signature">createAtomicValue(primitive_type $val)</span>
271
                  <div class="fcomment">Create an XDM atomic value from any of the main primitive
272
                     types (i.e. bool, int, float, double, string).</div>
273
               </td>
274
            </tr>
275
            <tr>
276
               <td>
277
                  <a class="bodylink code" href="../saxon_c_php_xdmnode">Saxon\XdmNode</a>
278
               </td>
279
               <td>
280
                  <span class="signature">parseXmlFromString(string $value)</span>
281
                  <div class="fcomment">Create an <a class="bodylink code"
282
                        href="../saxon_c_php_xdmnode">XdmNode</a> object. The $value is a lexical
283
                     representation of the XML document.</div>
284
               </td>
285
            </tr>
286
            <tr>
287
               <td>
288
                  <a class="bodylink code" href="../saxon_c_php_xdmnode">Saxon\XdmNode</a>
289
               </td>
290
               <td>
291
                  <span class="signature">parseXmlFromFile(string $fileName)</span>
292
                  <div class="fcomment">Create an <a class="bodylink code"
293
                        href="../saxon_c_php_xdmnode">XdmNode</a> object by parsing an XML document,
294
                     as specified by the $fileName argument. The file name can be relative or
295
                     absolute. If relative the cwd is used to resolve the file.</div>
296
               </td>
297
            </tr>
298
            <tr>
299
               <td>
300
                  <code>void</code>
301
               </td>
302
               <td>
303
                  <span class="signature">setcwd(string $cwd)</span>
304
                  <div class="fcomment">Set the current working directory used to resolve file names
305
                     against.</div>
306
               </td>
307
            </tr>
308
            <tr>
309
               <td>
310
                  <a class="bodylink code" href="../saxon_c_php_xdmnode">Saxon\XdmNode</a>
311
               </td>
312
               <td>
313
                  <span class="signature">parseXmlFromFile(string $fileName)</span>
314
                  <div class="fcomment">Create an <a class="bodylink code"
315
                        href="../saxon_c_php_xdmnode">XdmNode</a> object by parsing an XML document,
316
                     as specified by the $fileName argument. The file name can be relative or
317
                     absolute. If relative the cwd is used to resolve the file.</div>
318
               </td>
319
            </tr>
320
            <tr>
321
               <td>
322
                  <code>void</code>
323
               </td>
324
               <td>
325
                  <span class="signature">setResourceDirectory(string $dir)</span>
326
                  <div class="fcomment">Set the resources directory of where Saxon can locate the
327
                     data folder.</div>
328
               </td>
329
            </tr>
330
            <tr>
331
               <td>
332
                  <code>void</code>
333
               </td>
334
               <td>
335
                  <span class="signature">setConfigurationProperty(string $name, string
336
                     $value)</span>
337
                  <div class="fcomment">Set a configuration property specific to the processor in
338
                     use. Properties specified here are common across all the processors. See <a
339
                        href="http://www.saxonica.com/documentation/index.html#!configuration/config-features"
340
                        >Configuration Features</a> for more details.</div>
341
               </td>
342
            </tr>
343
            <tr>
344
               <td>
345
                  <a class="bodylink code" href="../saxon_c_php_xsltprocessor"
346
                     >Saxon\XsltProcessor</a>
347
               </td>
348
               <td>
349
                  <span class="signature">newXsltProcessor()</span>
350
                  <div class="fcomment">Create an <a class="bodylink code"
351
                        href="../saxon_c_php_xsltprocessor">XsltProcessor</a> in the PHP
352
                     environment. An XsltProcessor is used to compile and execute XSLT
353
                     sytlesheets.</div>
354
               </td>
355
            </tr>
356
            <tr>
357
               <td>
358
                  <a class="bodylink code" href="../saxon_c_php_xslt30processor"
359
                     >Saxon\Xslt30Processor</a>
360
               </td>
361
               <td>
362
                  <span class="signature">newXslt30Processor()</span>
363
                  <div class="fcomment">Create an <a class="bodylink code"
364
                        href="../saxon_c_php_xslt30processor">Xslt30Processor</a> in the PHP
365
                     environment specifically designed for XSLT 3.0 processing. An Xslt30Processor
366
                     is used to compile and execute XSLT 3.0 stylesheets, but can also be used for
367
                     XSLT 2.0 or 1.0 stylesheets. Use an Xslt30Processor instead of <a
368
                        class="bodylink code" href="../saxon_c_php_xsltprocessor">XsltProcessor</a>
369
                     for XSLT 3.0 processing.</div>
370
               </td>
371
            </tr>
372
            <tr>
373
               <td>
374
                  <a class="bodylink code" href="../saxon_c_php_xqueryprocessor"
375
                     >Saxon\XQueryProcessor</a>
376
               </td>
377
               <td>
378
                  <span class="signature">newXQueryProcessor()</span>
379
                  <div class="fcomment">Create an <a class="bodylink code"
380
                        href="../saxon_c_php_xqueryprocessor">XQueryProcessor</a> in the PHP
381
                     environment. An XQueryProcessor is used to compile and execute XQuery
382
                     queries.</div>
383
               </td>
384
            </tr>
385
            <tr>
386
               <td>
387
                  <a href="../saxon_c_php_xpathprocessor">Saxon\XPathProcesssor</a>
388
               </td>
389
               <td>
390
                  <span class="signature">newXPathProcessor()</span>
391
                  <div class="fcomment">Create an <a class="bodylink code"
392
                        href="../saxon_c_php_xpathprocessor">XPathProcessor</a> in the PHP
393
                     environment. An XPathProcessor is used to compile and execute XPath
394
                     expressions.</div>
395
               </td>
396
            </tr>
397
            <tr>
398
               <td>
399
                  <a class="bodylink code" href="../saxon_c_php_schemavalidator"
400
                     >Saxon\SchemaValidator</a>
401
               </td>
402
               <td>
403
                  <span class="signature">newSchemaValidator()</span>
404
                  <div class="fcomment">Create a <a class="bodylink code"
405
                        href="../saxon_c_php_schemavalidator">SchemaValidator</a> in the PHP
406
                     environment. A SchemaValidator provides capabilities to load and cache XML
407
                     schema definitions. You can also valdiate source documents with registered XML
408
                     schema definitions.</div>
409
               </td>
410
            </tr>
411
            <tr>
412
               <td>
413
                  <code>string</code>
414
               </td>
415
               <td>
416
                  <span class="signature">version()</span>
417
                  <div class="fcomment">Report the Java Saxon version.</div>
418
               </td>
419
            </tr>
420
            <tr>
421
               <td>
422
                  <code>void</code>
423
               </td>
424
               <td>
425
                  <span class="signature">registerPHPFunctions(string $library)</span>
426
                  <div class="fcomment">Enables the ability to use PHP functions as XSLT functions.
427
                     Accepts as parameter the full path of the Saxon/C PHP Extension library. This
428
                     is needed to do the callbacks.</div>
429
               </td>
430
            </tr>
431
         </table>
432

    
433
      </section>
434

    
435
      <section id="saxon_c_php_xsltprocessor" title="Saxon\XsltProcessor">
436
         <h1>Saxon\XsltProcessor Class</h1>
437

    
438

    
439
         <table>
440
            <thead>
441
               <tr>
442
                  <td>Return</td>
443
                  <td>Function name and Description</td>
444
               </tr>
445
            </thead>
446
            <tr>
447
               <td>
448
                  <code>void</code>
449
               </td>
450
               <td>
451
                  <span class="signature">transformFileToFile(string $sourceFileName, string
452
                     $stylesheetFileName, string $outputFileName)</span>
453
                  <div class="fcomment">Perform a one shot transformation, saving the results to the
454
                     file specified in the $outputFileName argument.</div>
455
               </td>
456
            </tr>
457
            <tr>
458
               <td>
459
                  <code>string</code>
460
               </td>
461
               <td>
462
                  <span class="signature">transformFileToString(string $sourceFileName, string
463
                     $stylesheetFileName)</span>
464
                  <div class="fcomment">Perform a one shot transformation. The result is returned as
465
                     a string. If there are failures then a null is returned.</div>
466
               </td>
467
            </tr>
468
            <tr>
469
               <td>
470
                  <a class="bodylink code" href="../saxon_c_php_xdmvalue">Saxon\XdmValue</a>
471
               </td>
472
               <td>
473
                  <span class="signature">transformFileToValue(string $fileName)</span>
474
                  <div class="fcomment">Perform a one shot transformation. The result is returned as
475
                     an <a class="bodylink code" href="../saxon_c_php_xdmvalue">XdmValue</a> object.
476
                     If there are failures then a null is returned.</div>
477
               </td>
478
            </tr>
479
            <tr>
480
               <td>
481
                  <code>void</code>
482
               </td>
483
               <td>
484
                  <span class="signature">transformToFile()</span>
485
                  <div class="fcomment">Perform a one shot transformation, saving the results to the
486
                     file as previously set (e.g. using <code>setOutputFile()</code>).</div>
487
               </td>
488
            </tr>
489
            <tr>
490
               <td>
491
                  <code>string</code>
492
               </td>
493
               <td>
494
                  <span class="signature">transformToString()</span>
495
                  <div class="fcomment">Perform a one shot transformation. The result is returned as
496
                     a serialized string.</div>
497
               </td>
498
            </tr>
499
            <tr>
500
               <td>
501
                  <a class="bodylink code" href="../saxon_c_php_xdmvalue">Saxon\XdmValue</a>
502
               </td>
503
               <td>
504
                  <span class="signature">transformToValue()</span>
505
                  <div class="fcomment">Perform a one shot transformation. The result is returned as
506
                     an <a class="bodylink code" href="../saxon_c_php_xdmvalue">XdmValue</a> object.
507
                     If there are failures then a null is returned.</div>
508
               </td>
509
            </tr>
510
            <tr>
511
               <td>
512
                  <code>void</code>
513
               </td>
514
               <td>
515
                  <span class="signature">compileFromFile(string $fileName)</span>
516
                  <div class="fcomment">Compile a stylesheet supplied as a file as specified by the
517
                     $fileName argument.</div>
518
               </td>
519
            </tr>
520
            <tr>
521
               <td>
522
                  <code>void</code>
523
               </td>
524
               <td>
525
                  <span class="signature">compileFromString(string $str)</span>
526
                  <div class="fcomment">Compile a stylesheet received as a string.</div>
527
               </td>
528
            </tr>
529
            <tr>
530
               <td>
531
                  <code>void</code>
532
               </td>
533
               <td>
534
                  <span class="signature">compileFromValue(<a class="bodylink code"
535
                        href="../saxon_c_php_xdmnode">XdmNode</a> $node)</span>
536
                  <div class="fcomment">Compile a stylesheet received as an <a class="bodylink code"
537
                        href="../saxon_c_php_xdmnode">XdmNode</a>.</div>
538
               </td>
539
            </tr>
540
            <tr>
541
               <td>
542
                  <code>void</code>
543
               </td>
544
               <td>
545
                  <span class="signature">setOutputFile(string $fileName)</span>
546
                  <div class="fcomment">Set the output file to which the transformation result will
547
                     be sent.</div>
548
               </td>
549
            </tr>
550
            <tr>
551
               <td>
552
                  <code>void</code>
553
               </td>
554
               <td>
555
                  <span class="signature">setSourceFromXdmValue(<a class="bodylink code"
556
                        href="../saxon_c_php_xdmvalue">XdmValue</a> $value)</span>
557
                  <div class="fcomment">Set the source to be used for a transformation, supplied as
558
                     an <a class="bodylink code" href="../saxon_c_php_xdmvalue">XdmValue</a>
559
                     object.</div>
560
               </td>
561
            </tr>
562
            <tr>
563
               <td>
564
                  <code>void</code>
565
               </td>
566
               <td>
567
                  <span class="signature">setSourceFromFile(string $fileName)</span>
568
                  <div class="fcomment">Set the source to be used for a transformation, supplied as
569
                     a file as specified by the $fileName argument.</div>
570
               </td>
571
            </tr>
572
            <tr>
573
               <td>
574
                  <code>void</code>
575
               </td>
576
               <td>
577
                  <span class="signature">setParameter(string $name, <a class="el"
578
                        href="classXdmValue.html">XdmValue</a> $value)</span>
579
                  <div class="fcomment">Set the parameters required for the XSLT stylesheet.</div>
580
               </td>
581
            </tr>
582
            <tr>
583
               <td>
584
                  <code>void</code>
585
               </td>
586
               <td>
587
                  <span class="signature">setProperty(string $name, string $value)</span>
588
                  <div class="fcomment">Set properties for the XSLT processor.</div>
589
               </td>
590
            </tr>
591
            <tr>
592
               <td>
593
                  <code>void</code>
594
               </td>
595
               <td>
596
                  <span class="signature">clearParameters()</span>
597
                  <div class="fcomment">Clear parameter values set.</div>
598
               </td>
599
            </tr>
600
            <tr>
601
               <td>
602
                  <code>void</code>
603
               </td>
604
               <td>
605
                  <span class="signature">clearProperties()</span>
606
                  <div class="fcomment">Clear property values set.</div>
607
               </td>
608
            </tr>
609
            <tr>
610
               <td>
611
                  <code>void</code>
612
               </td>
613
               <td>
614
                  <span class="signature">exceptionClear()</span>
615
                  <div class="fcomment">Clear any exceptions thrown.</div>
616
               </td>
617
            </tr>
618
            <tr>
619
               <td>
620
                  <code>string</code>
621
               </td>
622
               <td>
623
                  <span class="signature">getErrorCode(int $i)</span>
624
                  <div class="fcomment">Get the i'th error code if there are any errors.</div>
625
               </td>
626
            </tr>
627
            <tr>
628
               <td>
629
                  <code>string</code>
630
               </td>
631
               <td>
632
                  <span class="signature">getErrorMessage(int $i)</span>
633
                  <div class="fcomment">Get the i'th error message if there are any errors.</div>
634
               </td>
635
            </tr>
636
            <tr>
637
               <td>
638
                  <code>int</code>
639
               </td>
640
               <td>
641
                  <span class="signature">getExceptionCount()</span>
642
                  <div class="fcomment">Get the number of errors during execution or evaluation of a
643
                     stylesheet.</div>
644
               </td>
645
            </tr>
646
         </table>
647

    
648
      </section>
649

    
650

    
651
      <section id="saxon_c_php_xslt30processor" title="Saxon\Xslt30Processor">
652
         <h1>Saxon\Xslt30Processor Class</h1>
653

    
654
         <table>
655
            <thead>
656
               <tr>
657
                  <td>Return</td>
658
                  <td>Function name and Description</td>
659
               </tr>
660
            </thead>
661

    
662
            <tr>
663
               <td>
664
                  <code>void</code>
665
               </td>
666
               <td>
667
                  <span class="signature">addPackages(array $packageFileNames)</span>
668
                  <div class="fcomment">File names to XSLT packages stored on filestore are added to
669
                     a set of packages, which will be imported later for use when compiling.</div>
670
               </td>
671
            </tr>
672
            <tr>
673
               <td>
674
                  <code>void</code>
675
               </td>
676
               <td>
677
                  <span class="signature">applyTemplatesReturningFile(string $fileName)</span>
678
                  <div class="fcomment">Invoke the most recently compiled stylsheet by applying
679
                     templates to a supplied input sequence (the initial match selection), saving
680
                     the results to the file specified in the $fileName argument.</div>
681
               </td>
682
            </tr>
683
            <tr>
684
               <td>
685
                  <code>void</code>
686
               </td>
687
               <td>
688
                  <span class="signature">applyTemplatesReturningFile(string $stylesheetFileName,
689
                     string $fileName)</span>
690
                  <div class="fcomment">Invoke a stylesheet by applying templates to a supplied
691
                     input sequence (the initial match selection), saving the results to the file
692
                     specified in the $fileName argument. The stylesheet file name can be supplied
693
                     as an argument here. If null then the most recently compiled stylesheet is
694
                     used.</div>
695
               </td>
696
            </tr>
697
            <tr>
698
               <td>
699
                  <code>string</code>
700
               </td>
701
               <td>
702
                  <span class="signature">applyTemplatesReturningString(string
703
                     $stylesheetFileName)</span>
704
                  <div class="fcomment">Invoke a stylesheet by applying templates to a supplied
705
                     input sequence (the initial match selection). The result is returned as a
706
                     serialized string. The stylesheet file name can be supplied as an argument
707
                     here. If null then the most recently compiled stylsheet is used.</div>
708
               </td>
709
            </tr>
710
            <tr>
711
               <td>
712
                  <a class="bodylink code" href="../saxon_c_php_xdmvalue">Saxon\XdmValue</a>
713
               </td>
714
               <td>
715
                  <span class="signature">applyTemplatesReturningValue(string
716
                     $stylesheetFileName)</span>
717
                  <div class="fcomment">Invoke a stylesheet by applying templates to a supplied
718
                     input sequence (the initial match selection). The result is returned as an <a
719
                        class="bodylink code" href="../saxon_c_php_xdmvalue">XdmValue</a> object.
720
                     The stylesheet file name can be supplied as an argument here. If null then the
721
                     most recently compiled stylsheet is used.</div>
722
               </td>
723
            </tr>
724
            <tr>
725
               <td>
726
                  <code>void</code>
727
               </td>
728
               <td>
729
                  <span class="signature">compileFromAssociatedFile(string $xmlFileName)</span>
730
                  <div class="fcomment">Get the stylesheet associated via the xml-stylesheet
731
                     processing instruction (see <a href="http://www.w3.org/TR/xml-stylesheet/"
732
                        target="_blank">http://www.w3.org/TR/xml-stylesheet/</a>) in the document
733
                     specified in the $xmlFileName argument, and that match the given criteria. If
734
                     there are several suitable xml-stylesheet processing instructions, then the
735
                     returned source will identify a synthesized stylesheet module that imports all
736
                     the referenced stylesheet modules.</div>
737
               </td>
738
            </tr>
739
            <tr>
740
               <td>
741
                  <code>void</code>
742
               </td>
743
               <td>
744
                  <span class="signature">compileFromFile(string $fileName)</span>
745
                  <div class="fcomment">Compile a stylesheet supplied as a file as specified by the
746
                     $fileName argument.</div>
747
               </td>
748
            </tr>
749
            <tr>
750
               <td>
751
                  <code>void</code>
752
               </td>
753
               <td>
754
                  <span class="signature">compileFromString(string $str)</span>
755
                  <div class="fcomment">Compile a stylesheet received as a string.</div>
756
               </td>
757
            </tr>
758
            <tr>
759
               <td>
760
                  <code>void</code>
761
               </td>
762
               <td>
763
                  <span class="signature">compileFromValue(<a class="bodylink code"
764
                        href="../saxon_c_php_xdmnode">XdmNode</a> $node)</span>
765
                  <div class="fcomment">Compile a stylesheet received as an <a class="bodylink code"
766
                        href="../saxon_c_php_xdmnode">XdmNode</a>.</div>
767
               </td>
768
            </tr>
769
            <tr>
770
               <td>
771
                  <code>void</code>
772
               </td>
773
               <td>
774
                  <span class="signature">compileFromFileAndSave(string $fileName, string
775
                     $outputFileName)</span>
776
                  <div class="fcomment">Compile a stylesheet supplied as a file as specified by the
777
                     $fileName argument, and save as an exported file (SEF).</div>
778
               </td>
779
            </tr>
780
            <tr>
781
               <td>
782
                  <code>void</code>
783
               </td>
784
               <td>
785
                  <span class="signature">compileFromStringAndSave(string $str, string
786
                     $outputFileName)</span>
787
                  <div class="fcomment">Compile a stylesheet received as a string and save as an
788
                     exported file (SEF).</div>
789
               </td>
790
            </tr>
791
            <tr>
792
               <td>
793
                  <code>void</code>
794
               </td>
795
               <td>
796
                  <span class="signature">compileFromValueAndSave(<a class="bodylink code"
797
                        href="../saxon_c_php_xdmnode">XdmNode</a> $node, string
798
                     $outputFileName)</span>
799
                  <div class="fcomment">Compile a stylesheet received as an <a class="bodylink code"
800
                        href="../saxon_c_php_xdmnode">XdmNode</a> and save as an exported file
801
                     (SEF).</div>
802
               </td>
803
            </tr>
804
            <tr>
805
               <td>
806
                  <code>void</code>
807
               </td>
808
               <td>
809
                  <span class="signature">callFunctionReturningFile(string $functionName, array
810
                     $arguments, string $outputFileName)</span>
811
                  <div class="fcomment">Call a public user-defined function in the stylesheet. Here
812
                     we wrap the result in an XML document, and send this document to a specified
813
                     file. The function name is supplied as a string, and the values of the
814
                     arguments to be supplied to the function are supplied as an array of <a
815
                        class="bodylink code" href="../saxon_c_php_xdmvalue">XdmValue</a> objects.
816
                     These will be converted if necessary to the type as defined in the function
817
                     signature, using the function conversion rules.</div>
818
               </td>
819
            </tr>
820
            <tr>
821
               <td>
822
                  <code>string</code>
823
               </td>
824
               <td>
825
                  <span class="signature">callFunctionReturningString(string $FunctionName, array
826
                     $arguments)</span>
827
                  <div class="fcomment">Call a public user-defined function in the stylesheet. Here
828
                     we wrap the result in an XML document, and serialize this document to a string
829
                     value. The function name is supplied as a string, and the values of the
830
                     arguments to be supplied to the function are supplied as an array of <a
831
                        class="bodylink code" href="../saxon_c_php_xdmvalue">XdmValue</a> objects.
832
                     These will be converted if necessary to the type as defined in the function
833
                     signature, using the function conversion rules.</div>
834
               </td>
835
            </tr>
836
            <tr>
837
               <td>
838
                  <a class="bodylink code" href="../saxon_c_php_xdmvalue">Saxon\XdmValue</a>
839
               </td>
840
               <td>
841
                  <span class="signature">callFunctionReturningValue(string $FunctionName, array
842
                     $arguments)</span>
843
                  <div class="fcomment">Call a public user-defined function in the stylesheet. Here
844
                     we wrap the result in an XML document, and return the document as an <a
845
                        class="bodylink code" href="../saxon_c_php_xdmvalue">XdmValue</a>. The
846
                     function name is supplied as a string, and the values of the arguments to be
847
                     supplied to the function are supplied as an array of <a class="bodylink code"
848
                        href="../saxon_c_php_xdmvalue">XdmValue</a> objects. These will be converted
849
                     if necessary to the type as defined in the function signature, using the
850
                     function conversion rules.</div>
851
               </td>
852
            </tr>
853
            <tr>
854
               <td>
855
                  <code>void</code>
856
               </td>
857
               <td>
858
                  <span class="signature">callTemplateReturningFile(string $stylesheetFileName,
859
                     string $templateName, string $outputFileName)</span>
860
                  <div class="fcomment">Invoke a transformation by calling a named template, saving
861
                     the results to the file specified in the $outputFileName argument. If the
862
                     $templateName argument is null then the <code>xsl:initial-template</code> is
863
                     used. Parameters supplied using <code>setInitialTemplateParameters()</code> are
864
                     made available to the called template.</div>
865
               </td>
866
            </tr>
867
            <tr>
868
               <td>
869
                  <code>string</code>
870
               </td>
871
               <td>
872
                  <span class="signature">callTemplateReturningString(string $stylesheetFileName,
873
                     string $templateName)</span>
874
                  <div class="fcomment">Invoke a transformation by calling a named template, and
875
                     return the result as a string. If the $templateName argument is null then the
876
                        <code>xsl:initial-template</code> is used. Parameters supplied using
877
                        <code>setInitialTemplateParameters()</code> are made available to the called
878
                     template.</div>
879
               </td>
880
            </tr>
881
            <tr>
882
               <td>
883
                  <a class="bodylink code" href="../saxon_c_php_xdmvalue">Saxon\XdmValue</a>
884
               </td>
885
               <td>
886
                  <span class="signature">callTemplateReturningValue(string $stylesheetFileName,
887
                     string $templateName)</span>
888
                  <div class="fcomment">Invoke a transformation by calling a named template, and
889
                     return the result as an <a class="bodylink code" href="../saxon_c_php_xdmvalue"
890
                        >XdmValue</a>. If the $templateName argument is null then the
891
                        <code>xsl:initial-template</code> is used. Parameters supplied using
892
                        <code>setInitialTemplateParameters()</code> are made available to the called
893
                     template.</div>
894
               </td>
895
            </tr>
896
            <tr>
897
               <td>
898
                  <code>void</code>
899
               </td>
900
               <td>
901
                  <span class="signature">transformFileToFile(string $sourceFileName, string
902
                     $stylesheetFileName, string $outputFileName)</span>
903
                  <div class="fcomment">Perform a one shot transformation, saving the results to the
904
                     file specified in the $outputFileName argument.</div>
905
               </td>
906
            </tr>
907
            <tr>
908
               <td>
909
                  <a class="bodylink code" href="../saxon_c_php_xdmvalue">Saxon\XdmValue</a>
910
               </td>
911
               <td>
912
                  <span class="signature">transformFileToValue(string $fileName)</span>
913
                  <div class="fcomment">Perform a one shot transformation. The result is returned as
914
                     an <a class="bodylink code" href="../saxon_c_php_xdmvalue">XdmValue</a>.</div>
915
               </td>
916
            </tr>
917
            <tr>
918
               <td>
919
                  <code>string</code>
920
               </td>
921
               <td>
922
                  <span class="signature">transformFileToString(string $fileName)</span>
923
                  <div class="fcomment">Perform a one shot transformation. The result is returned as
924
                     a string.</div>
925
               </td>
926
            </tr>
927
            <tr>
928
               <td>
929
                  <code>void</code>
930
               </td>
931
               <td>
932
                  <span class="signature">transformToFile(<a class="bodylink code"
933
                        href="../saxon_c_php_xdmnode">XdmNode</a> $context)</span>
934
                  <div class="fcomment">Perform a one shot transformation, saving the results to the
935
                     file as previously set (e.g. using <code>setOutputFile()</code>).
936
                     The global $context item argument is optional, therefore this
937
                     method will execute without any arguments.</div>
938
               </td>
939
            </tr>
940
            <tr>
941
               <td>
942
                  <code>string</code>
943
               </td>
944
               <td>
945
                  <span class="signature">transformToString(<a class="bodylink code"
946
                        href="../saxon_c_php_xdmnode">XdmNode</a> $context)</span>
947
                  <div class="fcomment">Perform a one shot transformation. The result is returned as
948
                     a serialized string. The global $context item argument is optional, therefore this
949
                     method will execute without any arguments.</div>
950
               </td>
951
            </tr>
952
            <tr>
953
               <td>
954
                  <a class="bodylink code" href="../saxon_c_php_xdmvalue">Saxon\XdmValue</a>
955
               </td>
956
               <td>
957
                  <span class="signature">transformToValue(<a class="bodylink code"
958
                        href="../saxon_c_php_xdmnode">XdmNode</a> $context)</span>
959
                  <div class="fcomment">Perform a one shot transformation. The result is returned as
960
                     an <a class="bodylink code" href="../saxon_c_php_xdmvalue">XdmValue</a> object.
961
                     If there are failures then a null is returned.The global $context item argument is optional, therefore this
962
                     method will execute without any arguments..</div>
963
               </td>
964
            </tr>
965
            <tr>
966
               <td>
967
                  <code>void</code>
968
               </td>
969
               <td>
970
                  <span class="signature">setInitialTemplateParameters(array $parameters, bool
971
                     $tunnel)</span>
972
                  <div class="fcomment">Set parameters to be passed to the initial template. These
973
                     are used whether the transformation is invoked by applying templates to an
974
                     initial context item, or by invoking a named template. The parameters in
975
                     question are the <code>xsl:param</code> elements appearing as children of the
976
                        <code>xsl:template</code> element. The $tunnel argument should be set to
977
                     true if these values are to be used for setting tunnel parameters.</div>
978
               </td>
979
            </tr>
980
            <tr>
981
               <td>
982
                  <code>void</code>
983
               </td>
984
               <td>
985
                  <span class="signature">setInitialMatchSelection(<a class="bodylink code"
986
                        href="../saxon_c_php_xdmvalue">XdmValue</a> $value)</span>
987
                  <div class="fcomment">Set the initial value to which templates are to be applied
988
                     (equivalent to the 'select' attribute of
989
                     <code>xsl:apply-templates</code>).</div>
990
               </td>
991
            </tr>
992
            <tr>
993
               <td>
994
                  <code>void</code>
995
               </td>
996
               <td>
997
                  <span class="signature">setInitialMatchSelectionAsFile(string $fileName)</span>
998
                  <div class="fcomment">Set the initial value to which templates are to be applied
999
                     (equivalent to the 'select' attribute of <code>xsl:apply-templates</code>).
1000
                     This initial match selection is supplied as a file as specified by the
1001
                     $fileName argument.</div>
1002
               </td>
1003
            </tr>
1004
            <tr>
1005
               <td>
1006
                  <code>void</code>
1007
               </td>
1008
               <td>
1009
                  <span class="signature">setGlobalContextItem(<a class="bodylink code"
1010
                        href="../saxon_c_php_xdmitem">XdmItem</a> $item)</span>
1011
                  <div class="fcomment">Supply the context item to be used when evaluating global
1012
                     variables and parameters.</div>
1013
               </td>
1014
            </tr>
1015
            <tr>
1016
               <td>
1017
                  <code>void</code>
1018
               </td>
1019
               <td>
1020
                  <span class="signature">setGlobalContextFromFile(string $fileName)</span>
1021
                  <div class="fcomment">Supply the context item to be used when evaluating global
1022
                     variables and parameters, as a file as specified by the $fileName
1023
                     argument.</div>
1024
               </td>
1025
            </tr>
1026
            <tr>
1027
               <td>
1028
                  <code>void</code>
1029
               </td>
1030
               <td>
1031
                  <span class="signature">setOutputFile(string $fileName)</span>
1032
                  <div class="fcomment">Set the output file to which the transformation result will
1033
                     be sent.</div>
1034
               </td>
1035
            </tr>
1036
            <tr>
1037
               <td>
1038
                  <code>void</code>
1039
               </td>
1040
               <td>
1041
                  <span class="signature">setParameter(string $name, <a class="bodylink code"
1042
                        href="../saxon_c_php_xdmvalue">XdmValue</a> $value)</span>
1043
                  <div class="fcomment">Set the parameters required for the XSLT stylesheet.</div>
1044
               </td>
1045
            </tr>
1046
            <tr>
1047
               <td>
1048
                  <code>void</code>
1049
               </td>
1050
               <td>
1051
                  <span class="signature">setProperty(string $name, string $value)</span>
1052
                  <div class="fcomment">Set properties for the XSLT processor.</div>
1053
               </td>
1054
            </tr>
1055
            <tr>
1056
               <td>
1057
                  <code>void</code>
1058
               </td>
1059
               <td>
1060
                  <span class="signature">setJustInTimeCompilation(bool $value)</span>
1061
                  <div class="fcomment">Say whether just-in-time compilation of template rules
1062
                     should be used.</div>
1063
               </td>
1064
            </tr>
1065
            <tr>
1066
               <td>
1067
                  <code>void</code>
1068
               </td>
1069
               <td>
1070
                  <span class="signature">setResultAsRawValue(bool $value)</span>
1071
                  <div class="fcomment">Set true if the result of a transformation should be
1072
                     returned as a raw <a class="bodylink code" href="../saxon_c_php_xdmvalue"
1073
                        >XdmValue</a> result, rather than as a result tree (an <a
1074
                        class="bodylink code" href="../saxon_c_php_xdmnode">XdmNode</a> object with
1075
                     a Document node as its root).</div>
1076
               </td>
1077
            </tr>
1078
            <tr>
1079
               <td>
1080
                  <code>void</code>
1081
               </td>
1082
               <td>
1083
                  <span class="signature">clearParameters()</span>
1084
                  <div class="fcomment">Clear parameter values set.</div>
1085
               </td>
1086
            </tr>
1087
            <tr>
1088
               <td>
1089
                  <code>void</code>
1090
               </td>
1091
               <td>
1092
                  <span class="signature">clearProperties()</span>
1093
                  <div class="fcomment">Clear property values set.</div>
1094
               </td>
1095
            </tr>
1096
            <tr>
1097
               <td>
1098
                  <code>void</code>
1099
               </td>
1100
               <td>
1101
                  <span class="signature">exceptionClear()</span>
1102
                  <div class="fcomment">Clear any exceptions thrown.</div>
1103
               </td>
1104
            </tr>
1105
            <tr>
1106
               <td>
1107
                  <code>string</code>
1108
               </td>
1109
               <td>
1110
                  <span class="signature">getErrorCode(int $i)</span>
1111
                  <div class="fcomment">Get the i'th error code if there are any errors.</div>
1112
               </td>
1113
            </tr>
1114
            <tr>
1115
               <td>
1116
                  <code>string</code>
1117
               </td>
1118
               <td>
1119
                  <span class="signature">getErrorMessage(int $i)</span>
1120
                  <div class="fcomment">Get the i'th error message if there are any errors.</div>
1121
               </td>
1122
            </tr>
1123
            <tr>
1124
               <td>
1125
                  <code>int</code>
1126
               </td>
1127
               <td>
1128
                  <span class="signature">getExceptionCount()</span>
1129
                  <div class="fcomment">Get the number of errors during execution or evaluation of a
1130
                     stylesheet.</div>
1131
               </td>
1132
            </tr>
1133

    
1134
         </table>
1135
      </section>
1136

    
1137
      <section id="saxon_c_php_xqueryprocessor" title="Saxon\XQueryProcessor">
1138
         <h1>Saxon\XQueryProcessor Class</h1>
1139

    
1140
         <table>
1141
            <thead>
1142
               <tr>
1143
                  <td>Return</td>
1144
                  <td>Function name and Description</td>
1145
               </tr>
1146
            </thead>
1147

    
1148
            <tr>
1149
               <td>
1150
                  <a class="bodylink code" href="../saxon_c_php_xdmvalue">Saxon/XdmValue</a>
1151
               </td>
1152
               <td>
1153
                  <span class="signature">runQueryToValue()</span>
1154
                  <div class="fcomment">Compile and evaluate the query. Result returned as an <a
1155
                        class="bodylink code" href="../saxon_c_php_xdmvalue">XdmValue</a> object. If
1156
                     there are failures then a null is returned.</div>
1157
               </td>
1158
            </tr>
1159
            <tr>
1160
               <td>
1161
                  <code>string</code>
1162
               </td>
1163
               <td>
1164
                  <span class="signature">runQueryToString()</span>
1165
                  <div class="fcomment">Compile and evaluate the query. Result returned as a string.
1166
                     If there are failures then a null is returned.</div>
1167
               </td>
1168
            </tr>
1169
            <tr>
1170
               <td>
1171
                  <code>void</code>
1172
               </td>
1173
               <td>
1174
                  <span class="signature">runQueryToFile(string $outputFileName)</span>
1175
                  <div class="fcomment">Compile and evaluate the query. Result saved to the file
1176
                     specified in the $outputFileName argument.</div>
1177
               </td>
1178
            </tr>
1179
            <tr>
1180
               <td>
1181
                  <code>void</code>
1182
               </td>
1183
               <td>
1184
                  <span class="signature">setQueryContent(string $str)</span>
1185
                  <div class="fcomment">Query supplied as a string.</div>
1186
               </td>
1187
            </tr>
1188
            <tr>
1189
               <td>
1190
                  <code>void</code>
1191
               </td>
1192
               <td>
1193
                  <span class="signature">setQueryFile($string $fileName)</span>
1194
                  <div class="fcomment">Query supplied as a file as specified by the $fileName
1195
                     argument.</div>
1196
               </td>
1197
            </tr>
1198
            <tr>
1199
               <td>
1200
                  <code>void</code>
1201
               </td>
1202
               <td>
1203
                  <span class="signature">setContextItemFromFile(string $fileName)</span>
1204
                  <div class="fcomment">Set the initial context item for the query, supplied as a
1205
                     file as specified by the $fileName argument.</div>
1206
               </td>
1207
            </tr>
1208
            <tr>
1209
               <td>
1210
                  <code>void</code>
1211
               </td>
1212
               <td>
1213
                  <span class="signature">setContextItem(<a class="bodylink code"
1214
                        href="../saxon_c_php_xdmitem">XdmItem</a> $obj)</span>
1215
                  <div class="fcomment">Set the initial context item for the query. Any one of the
1216
                     following objects is accepted: <a class="bodylink code"
1217
                        href="../saxon_c_php_xdmitem">XdmItem</a>, <a class="bodylink code"
1218
                        href="../saxon_c_php_xdmnode">XdmNode</a> and <a class="bodylink code"
1219
                        href="../saxon_c_php_xdmatomicvalue">XdmAtomicValue</a>.</div>
1220
               </td>
1221
            </tr>
1222
            <tr>
1223
               <td>
1224
                  <code>void</code>
1225
               </td>
1226
               <td>
1227
                  <span class="signature">setQueryBaseURI(string $uri)</span>
1228
                  <div class="fcomment">Set the static base URI for a query expression compiled
1229
                     using this XQuery Processor. The base URI is part of the static context, and is
1230
                     used to resolve any relative URIs appearing within a query.</div>
1231
               </td>
1232
            </tr>
1233
            <tr>
1234
               <td>
1235
                  <code>void</code>
1236
               </td>
1237
               <td>
1238
                  <span class="signature">declareNamespace(string $prefix, string $namespace)</span>
1239
                  <div class="fcomment">Declare a namespace binding as part of the static context
1240
                     for XPath expressions compiled using this XQuery processor.</div>
1241
               </td>
1242
            </tr>
1243
            <tr>
1244
               <td>
1245
                  <code>void</code>
1246
               </td>
1247
               <td>
1248
                  <span class="signature">setParameter(string $name, <a class="bodylink code"
1249
                        href="../saxon_c_php_xdmvalue">XdmValue</a> $value)</span>
1250
                  <div class="fcomment">Set the parameters required for the query.</div>
1251
               </td>
1252
            </tr>
1253
            <tr>
1254
               <td>
1255
                  <code>void</code>
1256
               </td>
1257
               <td>
1258
                  <span class="signature">setProperty(string $name, string $value)</span>
1259
                  <div class="fcomment">Set properties for the XQuery processor.</div>
1260
               </td>
1261
            </tr>
1262
            <tr>
1263
               <td>
1264
                  <code>void</code>
1265
               </td>
1266
               <td>
1267
                  <span class="signature">clearParameters()</span>
1268
                  <div class="fcomment">Clear parameter values set.</div>
1269
               </td>
1270
            </tr>
1271
            <tr>
1272
               <td>
1273
                  <code>void</code>
1274
               </td>
1275
               <td>
1276
                  <span class="signature">clearProperties()</span>
1277
                  <div class="fcomment">Clear property values set.</div>
1278
               </td>
1279
            </tr>
1280
            <tr>
1281
               <td>
1282
                  <code>void</code>
1283
               </td>
1284
               <td>
1285
                  <span class="signature">exceptionClear()</span>
1286
                  <div class="fcomment">Clear any exceptions thrown.</div>
1287
               </td>
1288
            </tr>
1289
            <tr>
1290
               <td>
1291
                  <code>string</code>
1292
               </td>
1293
               <td>
1294
                  <span class="signature">getErrorCode(int $i)</span>
1295
                  <div class="fcomment">Get the i'th error code if there are any errors.</div>
1296
               </td>
1297
            </tr>
1298
            <tr>
1299
               <td>
1300
                  <code>string</code>
1301
               </td>
1302
               <td>
1303
                  <span class="signature">getErrorMessage(int $i)</span>
1304
                  <div class="fcomment">Get the i'th error message if there are any errors.</div>
1305
               </td>
1306
            </tr>
1307
            <tr>
1308
               <td>
1309
                  <code>int</code>
1310
               </td>
1311
               <td>
1312
                  <span class="signature">getExceptionCount()</span>
1313
                  <div class="fcomment">Get the number of errors during execution or evaluation of a
1314
                     query.</div>
1315
               </td>
1316
            </tr>
1317

    
1318
         </table>
1319
      </section>
1320

    
1321

    
1322
      <section id="saxon_c_php_xpathprocessor" title="Saxon\XPathProcessor">
1323
         <h1>Saxon\XPathProcessor Class</h1>
1324

    
1325
         <table>
1326
            <thead>
1327
               <tr>
1328
                  <td>Return</td>
1329
                  <td>Function name and Description</td>
1330
               </tr>
1331
            </thead>
1332

    
1333
            <tr>
1334
               <td>
1335
                  <code>void</code>
1336
               </td>
1337
               <td>
1338
                  <span class="signature">setContextItem(<a class="bodylink code"
1339
                        href="../saxon_c_php_xdmitem">XdmItem</a> $context)</span>
1340
                  <div class="fcomment">Set the context item from an <a class="bodylink code"
1341
                        href="../saxon_c_php_xdmitem">XdmItem</a>.</div>
1342
               </td>
1343
            </tr>
1344
            <tr>
1345
               <td>
1346
                  <code>void</code>
1347
               </td>
1348
               <td>
1349
                  <span class="signature">setContextFile(string $fileName)</span>
1350
                  <div class="fcomment">Set the context item, supplied as a file as specified by the
1351
                     $fileName argument.</div>
1352
               </td>
1353
            </tr>
1354
            <tr>
1355
               <td>
1356
                  <code>boolean</code>
1357
               </td>
1358
               <td>
1359
                  <span class="signature">effectiveBooleanValue(string $xpathStr)</span>
1360
                  <div class="fcomment">Evaluate the supplied XPath expression, returning the
1361
                     effective boolean value of the result.</div>
1362
               </td>
1363
            </tr>
1364
            <tr>
1365
               <td>
1366
                  <a class="bodylink code" href="../saxon_c_php_xdmvalue">Saxon\XdmValue</a>
1367
               </td>
1368
               <td>
1369
                  <span class="signature">evaluate(string $xpathStr)</span>
1370
                  <div class="fcomment">Compile and evaluate an XPath expression, supplied as a
1371
                     character string, returning the result as an <a class="bodylink code"
1372
                        href="../saxon_c_php_xdmvalue">XdmValue</a>.</div>
1373
               </td>
1374
            </tr>
1375
            <tr>
1376
               <td>
1377
                  <a class="bodylink code" href="../saxon_c_php_xdmitem">Saxon\XdmItem</a>
1378
               </td>
1379
               <td>
1380
                  <span class="signature">evaluateSingle(string $xpathStr)</span>
1381
                  <div class="fcomment">Compile and evaluate an XPath expression whose result is
1382
                     expected to be a single item, with a given context item. The expression is
1383
                     supplied as a character string, and the result returned as an <a
1384
                        class="bodylink code" href="../saxon_c_php_xdmitem">XdmItem</a>.
1385
                     Return NULL if the expression returns an empty sequence. If the expression
1386
                     returns a sequence of more than one item, any items after the first are ignored.</div>
1387
               </td>
1388
            </tr>
1389
            <tr>
1390
               <td>
1391
                  <code>void</code>
1392
               </td>
1393
               <td>
1394
                  <span class="signature">declareNamespace(string $prefix, string $namespace)</span>
1395
                  <div class="fcomment">Declare a namespace binding as part of the static context
1396
                     for XPath expressions compiled using this XPath processor.</div>
1397
               </td>
1398
            </tr>
1399
            <tr>
1400
               <td>
1401
                  <code>void</code>
1402
               </td>
1403
               <td>
1404
                  <span class="signature">setBaseURI(string $uri)</span>
1405
                  <div class="fcomment">Set the static base URI for XPath expressions compiled using
1406
                     this XPath processor. The base URI is part of the static context, and is used
1407
                     to resolve any relative URIs appearing within an XPath expression.</div>
1408
               </td>
1409
            </tr>
1410
            <tr>
1411
               <td>
1412
                  <code>void</code>
1413
               </td>
1414
               <td>
1415
                  <span class="signature">setParameter(string $name, <a class="bodylink code"
1416
                        href="../saxon_c_php_xdmvalue">XdmValue</a> $value)</span>
1417
                  <div class="fcomment">Set the parameters required for the XPath expression.</div>
1418
               </td>
1419
            </tr>
1420
            <tr>
1421
               <td>
1422
                  <code>void</code>
1423
               </td>
1424
               <td>
1425
                  <span class="signature">setProperty(string $name, string $value)</span>
1426
                  <div class="fcomment">Set properties for the XPath processor.</div>
1427
               </td>
1428
            </tr>
1429
            <tr>
1430
               <td>
1431
                  <code>void</code>
1432
               </td>
1433
               <td>
1434
                  <span class="signature">clearParameters()</span>
1435
                  <div class="fcomment">Clear parameter values set.</div>
1436
               </td>
1437
            </tr>
1438
            <tr>
1439
               <td>
1440
                  <code>void</code>
1441
               </td>
1442
               <td>
1443
                  <span class="signature">clearProperties()</span>
1444
                  <div class="fcomment">Clear property values set.</div>
1445
               </td>
1446
            </tr>
1447
            <tr>
1448
               <td>
1449
                  <code>void</code>
1450
               </td>
1451
               <td>
1452
                  <span class="signature">exceptionClear()</span>
1453
                  <div class="fcomment">Clear any exceptions thrown.</div>
1454
               </td>
1455
            </tr>
1456
            <tr>
1457
               <td>
1458
                  <code>string</code>
1459
               </td>
1460
               <td>
1461
                  <span class="signature">getErrorCode(int $i)</span>
1462
                  <div class="fcomment">Get the i'th error code if there are any errors.</div>
1463
               </td>
1464
            </tr>
1465
            <tr>
1466
               <td>
1467
                  <code>string</code>
1468
               </td>
1469
               <td>
1470
                  <span class="signature">getErrorMessage(int $i)</span>
1471
                  <div class="fcomment">Get the i'th error message if there are any errors.</div>
1472
               </td>
1473
            </tr>
1474
            <tr>
1475
               <td>
1476
                  <code>int</code>
1477
               </td>
1478
               <td>
1479
                  <span class="signature">getExceptionCount()</span>
1480
                  <div class="fcomment">Get the number of errors during execution or evaluation of
1481
                     an XPath expression.</div>
1482
               </td>
1483
            </tr>
1484

    
1485

    
1486
         </table>
1487

    
1488

    
1489
      </section>
1490

    
1491
      <section id="saxon_c_php_schemavalidator" title="Saxon\SchemaValidator">
1492
         <h1>Saxon\SchemaValidator Class</h1>
1493

    
1494
         <table>
1495
            <thead>
1496
               <tr>
1497
                  <td>Return</td>
1498
                  <td>Function name and Description</td>
1499
               </tr>
1500
            </thead>
1501

    
1502
            <tr>
1503
               <td>
1504
                  <code>void</code>
1505
               </td>
1506
               <td>
1507
                  <span class="signature">setSourceNode(<a class="bodylink code"
1508
                        href="../saxon_c_php_xdmnode">XdmNode</a> $node)</span>
1509
                  <div class="fcomment">Set the instance document to be validated, supplied as an <a
1510
                        class="bodylink code" href="../saxon_c_php_xdmnode">XdmNode</a>.</div>
1511
               </td>
1512
            </tr>
1513
            <tr>
1514
               <td>
1515
                  <code>void</code>
1516
               </td>
1517
               <td>
1518
                  <span class="signature">setOutputFile(string $fileName)</span>
1519
                  <div class="fcomment">Set the file to which a validated document will be saved if
1520
                     validation is successful. The supplied file name is resolved and
1521
                     accessed.</div>
1522
               </td>
1523
            </tr>
1524
            <tr>
1525
               <td>
1526
                  <code>void</code>
1527
               </td>
1528
               <td>
1529
                  <span class="signature">registerSchemaFromFile(string $fileName)</span>
1530
                  <div class="fcomment">Register a schema supplied as a file as specified by the
1531
                     $fileName argument.</div>
1532
               </td>
1533
            </tr>
1534
            <tr>
1535
               <td>
1536
                  <code>void</code>
1537
               </td>
1538
               <td>
1539
                  <span class="signature">registerSchemaFromString(string $schemaStr)</span>
1540
                  <div class="fcomment">Register a schema supplied as a string.</div>
1541
               </td>
1542
            </tr>
1543
            <tr>
1544
               <td>
1545
                  <code>void</code>
1546
               </td>
1547
               <td>
1548
                  <span class="signature">validate()</span>
1549
                  <div class="fcomment">Validate an instance document, which has already been
1550
                     supplied through other accessor methods.</div>
1551
               </td>
1552
            </tr>
1553
            <tr>
1554
               <td>
1555
                  <code>void</code>
1556
               </td>
1557
               <td>
1558
                  <span class="signature">validate(string $fileName)</span>
1559
                  <div class="fcomment">Validate an instance document supplied as a file as
1560
                     specified by the $fileName argument. $fileName can be null.</div>
1561
               </td>
1562
            </tr>
1563
            <tr>
1564
               <td>
1565
                  <a class="bodylink code" href="../saxon_c_php_xdmnode">Saxon\XdmNode</a>
1566
               </td>
1567
               <td>
1568
                  <span class="signature">validateToNode()</span>
1569
                  <div class="fcomment">Validate an instance document, which has already been
1570
                     supplied through other accessor methods, with the validated document returned
1571
                     to the calling program.</div>
1572
               </td>
1573
            </tr>
1574
            <tr>
1575
               <td>
1576
                  <a class="bodylink code" href="../saxon_c_php_xdmnode">Saxon\XdmNode</a>
1577
               </td>
1578
               <td>
1579
                  <span class="signature">validateToNode(string $fileName)</span>
1580
                  <div class="fcomment">Validate an instance document supplied as a file (as
1581
                     specified by the $fileName argument), with the validated document returned to
1582
                     the calling program. $fileName can be null.</div>
1583
               </td>
1584
            </tr>
1585
            <tr>
1586
               <td>
1587
                  <a class="bodylink code" href="../saxon_c_php_xdmnode">Saxon\XdmNode</a>
1588
               </td>
1589
               <td>
1590
                  <span class="signature">getValidationReport()</span>
1591
                  <div class="fcomment">Get the validation report produced after validating the
1592
                     source document. The reporting feature is switched on by setting the 'report'
1593
                     property on the SchemaValidator: e.g. <code>validator.setProperty('report',
1594
                        'true')</code>. Returns the report as an <a class="bodylink code"
1595
                        href="../saxon_c_php_xdmnode">XdmNode</a>.</div>
1596
               </td>
1597
            </tr>
1598
            <tr>
1599
               <td>
1600
                  <code>void</code>
1601
               </td>
1602
               <td>
1603
                  <span class="signature">setParameter(string $name, <a class="bodylink code"
1604
                        href="../saxon_c_php_xdmvalue">XdmValue</a> $value)</span>
1605
                  <div class="fcomment">Set the parameters required for the schema.</div>
1606
               </td>
1607
            </tr>
1608
            <tr>
1609
               <td>
1610
                  <code>void</code>
1611
               </td>
1612
               <td>
1613
                  <span class="signature">setProperty(string $name, string $value)</span>
1614
                  <div class="fcomment">Set properties for this Schema Validator.</div>
1615
               </td>
1616
            </tr>
1617
            <tr>
1618
               <td>
1619
                  <code>void</code>
1620
               </td>
1621
               <td>
1622
                  <span class="signature">clearParameters()</span>
1623
                  <div class="fcomment">Clear parameter values set.</div>
1624
               </td>
1625
            </tr>
1626
            <tr>
1627
               <td>
1628
                  <code>void</code>
1629
               </td>
1630
               <td>
1631
                  <span class="signature">clearProperties()</span>
1632
                  <div class="fcomment">Clear property values set.</div>
1633
               </td>
1634
            </tr>
1635
            <tr>
1636
               <td>
1637
                  <code>void</code>
1638
               </td>
1639
               <td>
1640
                  <span class="signature">exceptionClear()</span>
1641
                  <div class="fcomment">Clear any exceptions thrown.</div>
1642
               </td>
1643
            </tr>
1644
            <tr>
1645
               <td>
1646
                  <code>string</code>
1647
               </td>
1648
               <td>
1649
                  <span class="signature">getErrorCode(int $i)</span>
1650
                  <div class="fcomment">Get the i'th error code if there are any errors.</div>
1651
               </td>
1652
            </tr>
1653
            <tr>
1654
               <td>
1655
                  <code>string</code>
1656
               </td>
1657
               <td>
1658
                  <span class="signature">getErrorMessage(int $i)</span>
1659
                  <div class="fcomment">Get the i'th error message if there are any errors.</div>
1660
               </td>
1661
            </tr>
1662
            <tr>
1663
               <td>
1664
                  <code>int</code>
1665
               </td>
1666
               <td>
1667
                  <span class="signature">getExceptionCount()</span>
1668
                  <div class="fcomment">Get the number of errors during execution of the
1669
                     validation.</div>
1670
               </td>
1671
            </tr>
1672

    
1673

    
1674
         </table>
1675

    
1676
      </section>
1677

    
1678
      <section id="saxon_c_php_xdmvalue" title="Saxon\XdmValue">
1679
         <h1>Saxon\XdmValue Class</h1>
1680

    
1681
         <table>
1682
            <thead>
1683
               <tr>
1684
                  <td>Return</td>
1685
                  <td>Function name and Description</td>
1686
               </tr>
1687
            </thead>
1688

    
1689
            <tr>
1690
               <td>
1691
                  <a class="bodylink code" href="../saxon_c_php_xdmitem">Saxon\XdmItem</a>
1692
               </td>
1693
               <td>
1694
                  <span class="signature">getHead()</span>
1695
                  <div class="fcomment">Get the first item in the sequence.</div>
1696
               </td>
1697
            </tr>
1698
            <tr>
1699
               <td>
1700
                  <a class="bodylink code" href="../saxon_c_php_xdmitem">Saxon\XdmItem</a>
1701
               </td>
1702
               <td>
1703
                  <span class="signature">itemAt(int $index)</span>
1704
                  <div class="fcomment">Get the n'th item in the value, counting from zero.</div>
1705
               </td>
1706
            </tr>
1707
            <tr>
1708
               <td>
1709
                  <code>int</code>
1710
               </td>
1711
               <td>
1712
                  <span class="signature">size()</span>
1713
                  <div class="fcomment">Get the number of items in the sequence.</div>
1714
               </td>
1715
            </tr>
1716
            <tr>
1717
               <td/>
1718
               <td>
1719
                  <span class="signature">addXdmItem(<a class="bodylink code"
1720
                        href="../saxon_c_php_xdmitem">XdmItem</a> $item)</span>
1721
                  <div class="fcomment">Add an item to the end of the sequence.</div>
1722
               </td>
1723
            </tr>
1724
         </table>
1725

    
1726
      </section>
1727

    
1728
      <section id="saxon_c_php_xdmitem" title="Saxon\XdmItem">
1729
         <h1>Saxon\XdmItem Class</h1>
1730
         <p>extends <a href="../saxon_c_php_xdmvalue">Saxon\XdmValue</a></p>
1731

    
1732
         <table>
1733
            <thead>
1734
               <tr>
1735
                  <td>Return</td>
1736
                  <td>Function name and Description</td>
1737
               </tr>
1738
            </thead>
1739

    
1740
            <tr>
1741
               <td>
1742
                  <code>string</code>
1743
               </td>
1744
               <td>
1745
                  <span class="signature">getStringValue()</span>
1746
                  <div class="fcomment">Get the string value of the item. For a node, this gets the
1747
                     string value of the node. For an atomic value, this has the same effect as
1748
                     casting the value to a string. In all cases the result is the same as applying
1749
                     the XPath <code>string()</code> function.</div>
1750
               </td>
1751
            </tr>
1752
            <tr>
1753
               <td>
1754
                  <code>boolean</code>
1755
               </td>
1756
               <td>
1757
                  <span class="signature">isNode()</span>
1758
                  <div class="fcomment">Determine whether or not the item is a node.</div>
1759
               </td>
1760
            </tr>
1761
            <tr>
1762
               <td>
1763
                  <code>boolean</code>
1764
               </td>
1765
               <td>
1766
                  <span class="signature">isAtomic()</span>
1767
                  <div class="fcomment">Determine whether or not the item is an atomic value.</div>
1768
               </td>
1769
            </tr>
1770
            <tr>
1771
               <td>
1772
                  <a class="bodylink code" href="../saxon_c_php_xdmatomicvalue"
1773
                     >Saxon\XdmAtomicValue</a>
1774
               </td>
1775
               <td>
1776
                  <span class="signature">getAtomicValue()</span>
1777
                  <div class="fcomment">If the item is an atomic value, then this <a
1778
                        class="bodylink code" href="../saxon_c_php_xdmatomicvalue"
1779
                        >XdmAtomicValue</a> is returned; otherwise returns null.</div>
1780
               </td>
1781
            </tr>
1782
            <tr>
1783
               <td>
1784
                  <a class="bodylink code" href="../saxon_c_php_xdmnode">Saxon\XdmNode</a>
1785
               </td>
1786
               <td>
1787
                  <span class="signature">getNodeValue()</span>
1788
                  <div class="fcomment">If the item is a node, then this <a class="bodylink code"
1789
                        href="../saxon_c_php_xdmnode">XdmNode</a> is returned; otherwise returns
1790
                     null.</div>
1791
               </td>
1792
            </tr>
1793
         </table>
1794

    
1795
      </section>
1796

    
1797
      <section id="saxon_c_php_xdmnode" title="Saxon\XdmNode">
1798
         <h1>Saxon\XdmNode Class</h1>
1799
         <p>extends <a href="../saxon_c_php_xdmitem">Saxon\XdmItem</a></p>
1800

    
1801
         <table>
1802
            <thead>
1803
               <tr>
1804
                  <td>Return</td>
1805
                  <td>Function name and Description</td>
1806
               </tr>
1807
            </thead>
1808

    
1809
            <tr>
1810
               <td>
1811
                  <code>string</code>
1812
               </td>
1813
               <td>
1814
                  <span class="signature">getStringValue()</span>
1815
                  <div class="fcomment">Get the string value of the node.</div>
1816
               </td>
1817
            </tr>
1818
            <tr>
1819
               <td>
1820
                  <code>int</code>
1821
               </td>
1822
               <td>
1823
                  <span class="signature">getNodeKind()</span>
1824
                  <div class="fcomment">Get the kind of node</div>
1825
               </td>
1826
            </tr>
1827
            <tr>
1828
               <td>
1829
                  <code>string</code>
1830
               </td>
1831
               <td>
1832
                  <span class="signature">getNodeName()</span>
1833
                  <div class="fcomment">Get the name of the node, as an EQName.</div>
1834
               </td>
1835
            </tr>
1836
            <tr>
1837
               <td>
1838
                  <code>boolean</code>
1839
               </td>
1840
               <td>
1841
                  <span class="signature">isAtomic()</span>
1842
                  <div class="fcomment">Determine whether or not the item is an atomic value. This
1843
                     method will return FALSE as the item is not atomic.</div>
1844
               </td>
1845
            </tr>
1846
            <tr>
1847
               <td>
1848
                  <code>int</code>
1849
               </td>
1850
               <td>
1851
                  <span class="signature">getChildCount()</span>
1852
                  <div class="fcomment">Get the number of child nodes of this node.</div>
1853
               </td>
1854
            </tr>
1855
            <tr>
1856
               <td>
1857
                  <code>int</code>
1858
               </td>
1859
               <td>
1860
                  <span class="signature">getAttributeCount()</span>
1861
                  <div class="fcomment">Get the number of attribute nodes of this node.</div>
1862
               </td>
1863
            </tr>
1864
            <tr>
1865
               <td>
1866
                  <a class="bodylink code" href="../saxon_c_php_xdmnode">Saxon\XdmNode</a>
1867
               </td>
1868
               <td>
1869
                  <span class="signature">getChildNode(int index)</span>
1870
                  <div class="fcomment">Get the n'th child node of this node. If the child node
1871
                     selected does not exist then return null.</div>
1872
               </td>
1873
            </tr>
1874
            <tr>
1875
               <td>
1876
                  <a class="bodylink code" href="../saxon_c_php_xdmnode">Saxon\XdmNode</a>
1877
               </td>
1878
               <td>
1879
                  <span class="signature">getParent()</span>
1880
                  <div class="fcomment">Get the parent node of this node. If a parent node does not
1881
                     exist then return null.</div>
1882
               </td>
1883
            </tr>
1884
            <tr>
1885
               <td>
1886
                  <a class="bodylink code" href="../saxon_c_php_xdmnode">Saxon\XdmNode</a>
1887
               </td>
1888
               <td>
1889
                  <span class="signature">getAttributeNode(int $index)</span>
1890
                  <div class="fcomment">Get the n'th attribute node of this node. If the attribute
1891
                     node selected does not exist then return null.</div>
1892
               </td>
1893
            </tr>
1894
            <tr>
1895
               <td>
1896
                  <code>string</code>
1897
               </td>
1898
               <td>
1899
                  <span class="signature">getAttributeValue(int $index)</span>
1900
                  <div class="fcomment">Get the value of the n'th attribute node of this node. If
1901
                     the attribute node selected does not exist then return null.</div>
1902
               </td>
1903
            </tr>
1904
         </table>
1905
      </section>
1906

    
1907
      <section id="saxon_c_php_xdmatomicvalue" title="Saxon\XdmAtomicValue">
1908
         <h1>Saxon\XdmAtomicValue Class</h1>
1909
         <p>extends <a href="../saxon_c_php_xdmitem">Saxon\XdmItem</a></p>
1910

    
1911
         <table>
1912
            <thead>
1913
               <tr>
1914
                  <td>Return</td>
1915
                  <td>Function name and Description</td>
1916
               </tr>
1917
            </thead>
1918

    
1919
            <tr>
1920
               <td>
1921
                  <code>string</code>
1922
               </td>
1923
               <td>
1924
                  <span class="signature">getStringValue()</span>
1925
                  <div class="fcomment">Get the string value of the item. For an atomic value, this
1926
                     has the same effect as casting the value to a string. In all cases the result
1927
                     is the same as applying the XPath <code>string()</code> function.</div>
1928
               </td>
1929
            </tr>
1930
            <tr>
1931
               <td>
1932
                  <code>boolean</code>
1933
               </td>
1934
               <td>
1935
                  <span class="signature">getBooleanValue()</span>
1936
                  <div class="fcomment">Get the value converted to a boolean using the XPath casting
1937
                     rules.</div>
1938
               </td>
1939
            </tr>
1940
            <tr>
1941
               <td>
1942
                  <code>double</code>
1943
               </td>
1944
               <td>
1945
                  <span class="signature">getDoubleValue()</span>
1946
                  <div class="fcomment">Get the value converted to a double using the XPath casting
1947
                     rules. If the value is a string, the XSD 1.1 rules are used, which means that
1948
                     the string "+INF" is recognised.</div>
1949
               </td>
1950
            </tr>
1951
            <tr>
1952
               <td>
1953
                  <code>long</code>
1954
               </td>
1955
               <td>
1956
                  <span class="signature">getLongValue()</span>
1957
                  <div class="fcomment">Get the value converted to an integer using the XPath
1958
                     casting rules.</div>
1959
               </td>
1960
            </tr>
1961
            <tr>
1962
               <td>
1963
                  <code>boolean</code>
1964
               </td>
1965
               <td>
1966
                  <span class="signature">isAtomic()</span>
1967
                  <div class="fcomment">Determine whether or not the item is an atomic value. This
1968
                     method will return TRUE as the item is atomic.</div>
1969
               </td>
1970
            </tr>
1971
         </table>
1972
      </section>
1973

    
1974
   </section>
1975

    
1976

    
1977

    
1978
   <section id="saxon_c_python_api" title="Saxon/C Python API">
1979
      <h1>Saxon/C Python API</h1>
1980

    
1981
      <p>The Saxon/C Python extension API has been developed using <a href="https://cython.org/"
1982
            target="_blank">Cython</a>. Saxon/C only supports Python3. Cython is required to build
1983
         the extension library.</p>
1984

    
1985
      <p>The following classes are available in the Python API:</p>
1986
      <ul>
1987
         <li>
1988
            <a class="bodylink code"
1989
               href="https://www.saxonica.com/saxon-c/doc/html/saxonc.html#PySaxonProcessor"
1990
               >PySaxonProcessor</a>
1991
         </li>
1992
         <li>
1993
            <a class="bodylink code"
1994
               href="https://www.saxonica.com/saxon-c/doc/html/saxonc.html#PyXsltProcessor"
1995
               >PyXsltProcessor</a>
1996
         </li>
1997
         <li>
1998
            <a class="bodylink code"
1999
               href="https://www.saxonica.com/saxon-c/doc/html/saxonc.html#PyXslt30Processor"
2000
               >PyXslt30Processor</a>
2001
         </li>
2002
         <li>
2003
            <a class="bodylink code"
2004
               href="https://www.saxonica.com/saxon-c/doc/html/saxonc.html#PyXPathProcessor"
2005
               >PyXPathProcessor</a>
2006
         </li>
2007
         <li>
2008
            <a class="bodylink code"
2009
               href="https://www.saxonica.com/saxon-c/doc/html/saxonc.html#PyXQueryProcessor"
2010
               >PyXQueryProcessor</a>
2011
         </li>
2012
         <li>
2013
            <a class="bodylink code"
2014
               href="https://www.saxonica.com/saxon-c/doc/html/saxonc.html#PySchemaValidator"
2015
               >PySchemaValidator</a>
2016
         </li>
2017
      </ul>
2018

    
2019
      <p>Also, the following classes are available for a subset of the XDM data model:</p>
2020
      <ul>
2021
         <li>
2022
            <a class="bodylink code"
2023
               href="https://www.saxonica.com/saxon-c/doc/html/saxonc.html#PyXdmValue"
2024
               >PyXdmValue</a>
2025
         </li>
2026
         <li>
2027
            <a class="bodylink code"
2028
               href="https://www.saxonica.com/saxon-c/doc/html/saxonc.html#PyXdmNode">PyXdmNode</a>
2029
         </li>
2030
         <li>
2031
            <a class="bodylink code"
2032
               href="https://www.saxonica.com/saxon-c/doc/html/saxonc.html#PyXdmItem">PyXdmItem</a>
2033
         </li>
2034
         <li>
2035
            <a class="bodylink code"
2036
               href="https://www.saxonica.com/saxon-c/doc/html/saxonc.html#PyXdmAtomicValue"
2037
               >PyXdmAtomicValue</a>
2038
         </li>
2039
      </ul>
2040

    
2041

    
2042
   </section>
2043

    
2044

    
2045

    
2046
</article>
(2-2/10)