blob: f2d1c6a90178e33b5288fd4847733f4ea6e7aeae [file] [log] [blame]
Daniel Veillardaeea04f2000-01-25 19:27:27 +00001<HTML
2><HEAD
3><TITLE
4>encoding</TITLE
5><META
6NAME="GENERATOR"
Daniel Veillard539638b2002-07-06 19:55:14 +00007CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
Daniel Veillard60087f32001-10-10 09:45:09 +00008"><LINK
Daniel Veillardaeea04f2000-01-25 19:27:27 +00009REL="HOME"
10TITLE="Gnome XML Library Reference Manual"
11HREF="book1.html"><LINK
12REL="UP"
13TITLE="Libxml Library Reference"
14HREF="libxml-lib.html"><LINK
15REL="PREVIOUS"
16TITLE="parserInternals"
Daniel Veillard9cb5ff42001-01-29 08:22:21 +000017HREF="libxml-parserinternals.html"><LINK
Daniel Veillardaeea04f2000-01-25 19:27:27 +000018REL="NEXT"
Daniel Veillard52dcab32001-10-30 12:51:17 +000019TITLE="hash"
20HREF="libxml-hash.html"></HEAD
Daniel Veillardaeea04f2000-01-25 19:27:27 +000021><BODY
Daniel Veillardbed7b052001-05-19 14:59:49 +000022CLASS="REFENTRY"
Daniel Veillardaeea04f2000-01-25 19:27:27 +000023BGCOLOR="#FFFFFF"
24TEXT="#000000"
Daniel Veillard503b8932001-01-05 06:36:31 +000025LINK="#0000FF"
26VLINK="#840084"
27ALINK="#0000FF"
Daniel Veillardaeea04f2000-01-25 19:27:27 +000028><DIV
29CLASS="NAVHEADER"
30><TABLE
31WIDTH="100%"
32BORDER="0"
33BGCOLOR="#000000"
34CELLPADDING="1"
35CELLSPACING="0"
36><TR
37><TH
38COLSPAN="4"
39ALIGN="center"
40><FONT
41COLOR="#FFFFFF"
42SIZE="5"
43>Gnome XML Library Reference Manual</FONT
44></TH
45></TR
46><TR
47><TD
48WIDTH="25%"
49BGCOLOR="#C00000"
50ALIGN="left"
51><A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +000052HREF="libxml-parserinternals.html"
Daniel Veillardaeea04f2000-01-25 19:27:27 +000053><FONT
54COLOR="#FFFFFF"
55SIZE="3"
56><B
57>&#60;&#60;&#60; Previous Page</B
58></FONT
59></A
60></TD
61><TD
62WIDTH="25%"
63BGCOLOR="#0000C0"
64ALIGN="center"
65><FONT
66COLOR="#FFFFFF"
67SIZE="3"
68><B
69><A
70HREF="book1.html"
71><FONT
72COLOR="#FFFFFF"
73SIZE="3"
74><B
75>Home</B
76></FONT
77></A
78></B
79></FONT
80></TD
81><TD
82WIDTH="25%"
83BGCOLOR="#00C000"
84ALIGN="center"
85><FONT
86COLOR="#FFFFFF"
87SIZE="3"
88><B
89><A
90HREF="libxml-lib.html"
91><FONT
92COLOR="#FFFFFF"
93SIZE="3"
94><B
95>Up</B
96></FONT
97></A
98></B
99></FONT
100></TD
101><TD
102WIDTH="25%"
103BGCOLOR="#C00000"
104ALIGN="right"
105><A
Daniel Veillard52dcab32001-10-30 12:51:17 +0000106HREF="libxml-hash.html"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000107><FONT
108COLOR="#FFFFFF"
109SIZE="3"
110><B
111>Next Page &#62;&#62;&#62;</B
112></FONT
113></A
114></TD
115></TR
116></TABLE
117></DIV
118><H1
Daniel Veillard503b8932001-01-05 06:36:31 +0000119><A
Daniel Veillard539638b2002-07-06 19:55:14 +0000120NAME="LIBXML-ENCODING">encoding</H1
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000121><DIV
122CLASS="REFNAMEDIV"
123><A
Daniel Veillard48267432002-10-18 11:21:38 +0000124NAME="AEN24757"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000125></A
126><H2
127>Name</H2
Daniel Veillard503b8932001-01-05 06:36:31 +0000128>encoding&nbsp;--&nbsp;</DIV
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000129><DIV
130CLASS="REFSYNOPSISDIV"
131><A
Daniel Veillard48267432002-10-18 11:21:38 +0000132NAME="AEN24760"><H2
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000133>Synopsis</H2
134><TABLE
135BORDER="0"
136BGCOLOR="#D6E8FF"
137WIDTH="100%"
138CELLPADDING="6"
139><TR
140><TD
141><PRE
142CLASS="SYNOPSIS"
143>&#13;
144
145enum <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000146HREF="libxml-encoding.html#XMLCHARENCODING"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000147>xmlCharEncoding</A
148>;
149int (<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000150HREF="libxml-encoding.html#XMLCHARENCODINGINPUTFUNC"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000151>*xmlCharEncodingInputFunc</A
152>) (unsigned char *out,
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000153 int *outlen,
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000154 unsigned char *in,
Daniel Veillardedfb29b2000-03-14 19:59:05 +0000155 int *inlen);
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000156int (<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000157HREF="libxml-encoding.html#XMLCHARENCODINGOUTPUTFUNC"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000158>*xmlCharEncodingOutputFunc</A
159>) (unsigned char *out,
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000160 int *outlen,
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000161 unsigned char *in,
Daniel Veillardedfb29b2000-03-14 19:59:05 +0000162 int *inlen);
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000163struct <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000164HREF="libxml-encoding.html#XMLCHARENCODINGHANDLER"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000165>xmlCharEncodingHandler</A
166>;
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000167typedef <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000168HREF="libxml-encoding.html#XMLCHARENCODINGHANDLERPTR"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000169>xmlCharEncodingHandlerPtr</A
170>;
171void <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000172HREF="libxml-encoding.html#XMLINITCHARENCODINGHANDLERS"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000173>xmlInitCharEncodingHandlers</A
174> (void);
175void <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000176HREF="libxml-encoding.html#XMLCLEANUPCHARENCODINGHANDLERS"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000177>xmlCleanupCharEncodingHandlers</A
178> (void);
179void <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000180HREF="libxml-encoding.html#XMLREGISTERCHARENCODINGHANDLER"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000181>xmlRegisterCharEncodingHandler</A
182> (<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000183HREF="libxml-encoding.html#XMLCHARENCODINGHANDLERPTR"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000184>xmlCharEncodingHandlerPtr</A
185> handler);
186<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000187HREF="libxml-encoding.html#XMLCHARENCODINGHANDLERPTR"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000188>xmlCharEncodingHandlerPtr</A
189> <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000190HREF="libxml-encoding.html#XMLGETCHARENCODINGHANDLER"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000191>xmlGetCharEncodingHandler</A
192>
193 (<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000194HREF="libxml-encoding.html#XMLCHARENCODING"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000195>xmlCharEncoding</A
196> enc);
197<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000198HREF="libxml-encoding.html#XMLCHARENCODINGHANDLERPTR"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000199>xmlCharEncodingHandlerPtr</A
200> <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000201HREF="libxml-encoding.html#XMLFINDCHARENCODINGHANDLER"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000202>xmlFindCharEncodingHandler</A
203>
Daniel Veillardedfb29b2000-03-14 19:59:05 +0000204 (const char *name);
Daniel Veillard2ace1952002-09-26 12:28:02 +0000205<A
206HREF="libxml-encoding.html#XMLCHARENCODINGHANDLERPTR"
207>xmlCharEncodingHandlerPtr</A
208> <A
209HREF="libxml-encoding.html#XMLNEWCHARENCODINGHANDLER"
210>xmlNewCharEncodingHandler</A
211>
212 (const char *name,
213 <A
214HREF="libxml-encoding.html#XMLCHARENCODINGINPUTFUNC"
215>xmlCharEncodingInputFunc</A
216> input,
217 <A
218HREF="libxml-encoding.html#XMLCHARENCODINGOUTPUTFUNC"
219>xmlCharEncodingOutputFunc</A
220> output);
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000221int <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000222HREF="libxml-encoding.html#XMLADDENCODINGALIAS"
Daniel Veillard3bff2b02000-10-01 20:33:47 +0000223>xmlAddEncodingAlias</A
224> (const char *name,
225 const char *alias);
226int <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000227HREF="libxml-encoding.html#XMLDELENCODINGALIAS"
Daniel Veillard3bff2b02000-10-01 20:33:47 +0000228>xmlDelEncodingAlias</A
229> (const char *alias);
230const char* <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000231HREF="libxml-encoding.html#XMLGETENCODINGALIAS"
Daniel Veillard3bff2b02000-10-01 20:33:47 +0000232>xmlGetEncodingAlias</A
233> (const char *alias);
234void <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000235HREF="libxml-encoding.html#XMLCLEANUPENCODINGALIASES"
Daniel Veillard3bff2b02000-10-01 20:33:47 +0000236>xmlCleanupEncodingAliases</A
237> (void);
238<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000239HREF="libxml-encoding.html#XMLCHARENCODING"
Daniel Veillard3bff2b02000-10-01 20:33:47 +0000240>xmlCharEncoding</A
241> <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000242HREF="libxml-encoding.html#XMLPARSECHARENCODING"
Daniel Veillard3bff2b02000-10-01 20:33:47 +0000243>xmlParseCharEncoding</A
244> (const char *name);
245const char* <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000246HREF="libxml-encoding.html#XMLGETCHARENCODINGNAME"
Daniel Veillard3bff2b02000-10-01 20:33:47 +0000247>xmlGetCharEncodingName</A
248> (<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000249HREF="libxml-encoding.html#XMLCHARENCODING"
Daniel Veillard3bff2b02000-10-01 20:33:47 +0000250>xmlCharEncoding</A
251> enc);
252<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000253HREF="libxml-encoding.html#XMLCHARENCODING"
Daniel Veillard3bff2b02000-10-01 20:33:47 +0000254>xmlCharEncoding</A
255> <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000256HREF="libxml-encoding.html#XMLDETECTCHARENCODING"
Daniel Veillard3bff2b02000-10-01 20:33:47 +0000257>xmlDetectCharEncoding</A
258> (unsigned char *in,
259 int len);
260int <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000261HREF="libxml-encoding.html#XMLCHARENCOUTFUNC"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000262>xmlCharEncOutFunc</A
263> (<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000264HREF="libxml-encoding.html#XMLCHARENCODINGHANDLER"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000265>xmlCharEncodingHandler</A
266> *handler,
267 <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000268HREF="libxml-tree.html#XMLBUFFERPTR"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000269>xmlBufferPtr</A
270> out,
271 <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000272HREF="libxml-tree.html#XMLBUFFERPTR"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000273>xmlBufferPtr</A
274> in);
275int <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000276HREF="libxml-encoding.html#XMLCHARENCINFUNC"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000277>xmlCharEncInFunc</A
278> (<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000279HREF="libxml-encoding.html#XMLCHARENCODINGHANDLER"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000280>xmlCharEncodingHandler</A
281> *handler,
282 <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000283HREF="libxml-tree.html#XMLBUFFERPTR"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000284>xmlBufferPtr</A
285> out,
286 <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000287HREF="libxml-tree.html#XMLBUFFERPTR"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000288>xmlBufferPtr</A
289> in);
290int <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000291HREF="libxml-encoding.html#XMLCHARENCFIRSTLINE"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000292>xmlCharEncFirstLine</A
293> (<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000294HREF="libxml-encoding.html#XMLCHARENCODINGHANDLER"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000295>xmlCharEncodingHandler</A
296> *handler,
297 <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000298HREF="libxml-tree.html#XMLBUFFERPTR"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000299>xmlBufferPtr</A
300> out,
301 <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000302HREF="libxml-tree.html#XMLBUFFERPTR"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000303>xmlBufferPtr</A
304> in);
305int <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000306HREF="libxml-encoding.html#XMLCHARENCCLOSEFUNC"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000307>xmlCharEncCloseFunc</A
308> (<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000309HREF="libxml-encoding.html#XMLCHARENCODINGHANDLER"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000310>xmlCharEncodingHandler</A
Daniel Veillarda41123c2001-04-22 19:31:20 +0000311> *handler);
312int <A
313HREF="libxml-encoding.html#UTF8TOISOLAT1"
314>UTF8Toisolat1</A
315> (unsigned char *out,
316 int *outlen,
317 unsigned char *in,
318 int *inlen);
319int <A
320HREF="libxml-encoding.html#ISOLAT1TOUTF8"
321>isolat1ToUTF8</A
322> (unsigned char *out,
323 int *outlen,
324 unsigned char *in,
325 int *inlen);
326int <A
327HREF="libxml-encoding.html#XMLCHECKUTF8"
328>xmlCheckUTF8</A
329> (unsigned char *utf);
330int <A
Daniel Veillard4ec885a2001-06-17 10:31:07 +0000331HREF="libxml-encoding.html#XMLUTF8STRSIZE"
332>xmlUTF8Strsize</A
333> (const <A
334HREF="libxml-tree.html#XMLCHAR"
335>xmlChar</A
336> *utf,
337 int len);
338<A
339HREF="libxml-tree.html#XMLCHAR"
340>xmlChar</A
341>* <A
342HREF="libxml-encoding.html#XMLUTF8STRNDUP"
343>xmlUTF8Strndup</A
344> (const <A
345HREF="libxml-tree.html#XMLCHAR"
346>xmlChar</A
347> *utf,
348 int len);
349<A
350HREF="libxml-tree.html#XMLCHAR"
351>xmlChar</A
352>* <A
353HREF="libxml-encoding.html#XMLUTF8STRPOS"
354>xmlUTF8Strpos</A
355> (const <A
356HREF="libxml-tree.html#XMLCHAR"
357>xmlChar</A
358> *utf,
359 int pos);
360int <A
361HREF="libxml-encoding.html#XMLUTF8STRLOC"
362>xmlUTF8Strloc</A
363> (const <A
364HREF="libxml-tree.html#XMLCHAR"
365>xmlChar</A
366> *utf,
367 const <A
368HREF="libxml-tree.html#XMLCHAR"
369>xmlChar</A
370> *utfchar);
371<A
372HREF="libxml-tree.html#XMLCHAR"
373>xmlChar</A
374>* <A
375HREF="libxml-encoding.html#XMLUTF8STRSUB"
376>xmlUTF8Strsub</A
377> (const <A
378HREF="libxml-tree.html#XMLCHAR"
379>xmlChar</A
380> *utf,
381 int start,
382 int len);
383int <A
Daniel Veillarda41123c2001-04-22 19:31:20 +0000384HREF="libxml-encoding.html#XMLUTF8STRLEN"
385>xmlUTF8Strlen</A
Daniel Veillard4ec885a2001-06-17 10:31:07 +0000386> (const <A
387HREF="libxml-tree.html#XMLCHAR"
388>xmlChar</A
389> *utf);</PRE
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000390></TD
391></TR
392></TABLE
393></DIV
394><DIV
395CLASS="REFSECT1"
396><A
Daniel Veillard48267432002-10-18 11:21:38 +0000397NAME="AEN24824"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000398></A
399><H2
400>Description</H2
401><P
402></P
403></DIV
404><DIV
405CLASS="REFSECT1"
406><A
Daniel Veillard48267432002-10-18 11:21:38 +0000407NAME="AEN24827"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000408></A
409><H2
410>Details</H2
411><DIV
412CLASS="REFSECT2"
413><A
Daniel Veillard48267432002-10-18 11:21:38 +0000414NAME="AEN24829"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000415></A
416><H3
417><A
418NAME="XMLCHARENCODING"
419></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000420>enum xmlCharEncoding</H3
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000421><TABLE
422BORDER="0"
423BGCOLOR="#D6E8FF"
424WIDTH="100%"
425CELLPADDING="6"
426><TR
427><TD
428><PRE
429CLASS="PROGRAMLISTING"
430>typedef enum {
431 XML_CHAR_ENCODING_ERROR= -1, /* No char encoding detected */
432 XML_CHAR_ENCODING_NONE= 0, /* No char encoding detected */
433 XML_CHAR_ENCODING_UTF8= 1, /* UTF-8 */
434 XML_CHAR_ENCODING_UTF16LE= 2, /* UTF-16 little endian */
435 XML_CHAR_ENCODING_UTF16BE= 3, /* UTF-16 big endian */
436 XML_CHAR_ENCODING_UCS4LE= 4, /* UCS-4 little endian */
437 XML_CHAR_ENCODING_UCS4BE= 5, /* UCS-4 big endian */
438 XML_CHAR_ENCODING_EBCDIC= 6, /* EBCDIC uh! */
439 XML_CHAR_ENCODING_UCS4_2143=7, /* UCS-4 unusual ordering */
440 XML_CHAR_ENCODING_UCS4_3412=8, /* UCS-4 unusual ordering */
441 XML_CHAR_ENCODING_UCS2= 9, /* UCS-2 */
442 XML_CHAR_ENCODING_8859_1= 10,/* ISO-8859-1 ISO Latin 1 */
443 XML_CHAR_ENCODING_8859_2= 11,/* ISO-8859-2 ISO Latin 2 */
444 XML_CHAR_ENCODING_8859_3= 12,/* ISO-8859-3 */
445 XML_CHAR_ENCODING_8859_4= 13,/* ISO-8859-4 */
446 XML_CHAR_ENCODING_8859_5= 14,/* ISO-8859-5 */
447 XML_CHAR_ENCODING_8859_6= 15,/* ISO-8859-6 */
448 XML_CHAR_ENCODING_8859_7= 16,/* ISO-8859-7 */
449 XML_CHAR_ENCODING_8859_8= 17,/* ISO-8859-8 */
450 XML_CHAR_ENCODING_8859_9= 18,/* ISO-8859-9 */
451 XML_CHAR_ENCODING_2022_JP= 19,/* ISO-2022-JP */
452 XML_CHAR_ENCODING_SHIFT_JIS=20,/* Shift_JIS */
Daniel Veillarde46e20d2000-07-14 15:02:46 +0000453 XML_CHAR_ENCODING_EUC_JP= 21,/* EUC-JP */
454 XML_CHAR_ENCODING_ASCII= 22 /* pure ASCII */
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000455} xmlCharEncoding;</PRE
456></TD
457></TR
458></TABLE
459><P
Daniel Veillard19274092002-03-25 16:48:03 +0000460>Predefined values for some standard encodings.
461Libxml don't do beforehand translation on UTF8, ISOLatinX.
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000462It also support UTF16 (LE and BE) by default.</P
463><P
464>Anything else would have to be translated to UTF8 before being
465given to the parser itself. The BOM for UTF16 and the encoding
466declaration are looked at and a converter is looked for at that
467point. If not found the parser stops here as asked by the XML REC
468Converter can be registered by the user using xmlRegisterCharEncodingHandler
Daniel Veillardcbaf3992001-12-31 16:16:02 +0000469but the current form doesn't allow stateful transcoding (a serious
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000470problem agreed !). If iconv has been found it will be used
471automatically and allow stateful transcoding, the simplest is then
472to be sure to enable icon and to provide iconv libs for the encoding
473support needed.</P
474><P
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000475></P
476></DIV
477><HR><DIV
478CLASS="REFSECT2"
479><A
Daniel Veillard48267432002-10-18 11:21:38 +0000480NAME="AEN24836"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000481></A
482><H3
483><A
484NAME="XMLCHARENCODINGINPUTFUNC"
485></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000486>xmlCharEncodingInputFunc ()</H3
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000487><TABLE
488BORDER="0"
489BGCOLOR="#D6E8FF"
490WIDTH="100%"
491CELLPADDING="6"
492><TR
493><TD
494><PRE
495CLASS="PROGRAMLISTING"
496>int (*xmlCharEncodingInputFunc) (unsigned char *out,
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000497 int *outlen,
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000498 unsigned char *in,
Daniel Veillardedfb29b2000-03-14 19:59:05 +0000499 int *inlen);</PRE
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000500></TD
501></TR
502></TABLE
503><P
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000504>Take a block of chars in the original encoding and try to convert
505it to an UTF-8 block of chars out.</P
506><P
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000507></P
508><DIV
509CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +0000510><A
Daniel Veillard48267432002-10-18 11:21:38 +0000511NAME="AEN24842"><P
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000512></P
513><TABLE
514BORDER="0"
515WIDTH="100%"
516BGCOLOR="#FFD0D0"
517CELLSPACING="0"
518CELLPADDING="4"
519CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +0000520><TBODY
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000521><TR
522><TD
523WIDTH="20%"
524ALIGN="RIGHT"
525VALIGN="TOP"
526><TT
527CLASS="PARAMETER"
528><I
529>out</I
530></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +0000531>&nbsp;:</TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000532><TD
533WIDTH="80%"
534ALIGN="LEFT"
535VALIGN="TOP"
Daniel Veillardcbaf3992001-12-31 16:16:02 +0000536> a pointer to an array of bytes to store the UTF-8 result</TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000537></TR
538><TR
539><TD
540WIDTH="20%"
541ALIGN="RIGHT"
542VALIGN="TOP"
543><TT
544CLASS="PARAMETER"
545><I
546>outlen</I
547></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +0000548>&nbsp;:</TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000549><TD
550WIDTH="80%"
551ALIGN="LEFT"
552VALIGN="TOP"
Daniel Veillard60087f32001-10-10 09:45:09 +0000553> the length of <TT
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000554CLASS="PARAMETER"
555><I
556>out</I
557></TT
558></TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000559></TR
560><TR
561><TD
562WIDTH="20%"
563ALIGN="RIGHT"
564VALIGN="TOP"
565><TT
566CLASS="PARAMETER"
567><I
568>in</I
569></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +0000570>&nbsp;:</TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000571><TD
572WIDTH="80%"
573ALIGN="LEFT"
574VALIGN="TOP"
Daniel Veillardcbaf3992001-12-31 16:16:02 +0000575> a pointer to an array of chars in the original encoding</TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000576></TR
577><TR
578><TD
579WIDTH="20%"
580ALIGN="RIGHT"
581VALIGN="TOP"
582><TT
583CLASS="PARAMETER"
584><I
585>inlen</I
586></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +0000587>&nbsp;:</TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000588><TD
589WIDTH="80%"
590ALIGN="LEFT"
591VALIGN="TOP"
Daniel Veillard60087f32001-10-10 09:45:09 +0000592> the length of <TT
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000593CLASS="PARAMETER"
594><I
595>in</I
596></TT
597></TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000598></TR
599><TR
600><TD
601WIDTH="20%"
602ALIGN="RIGHT"
603VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +0000604><SPAN
605CLASS="emphasis"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000606><I
607CLASS="EMPHASIS"
608>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +0000609></SPAN
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000610> :</TD
611><TD
612WIDTH="80%"
613ALIGN="LEFT"
614VALIGN="TOP"
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000615>the number of byte written, or -1 by lack of space, or -2
Daniel Veillardaf43f632002-03-08 15:05:20 +0000616if the transcoding failed.
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000617The value of <TT
618CLASS="PARAMETER"
619><I
620>inlen</I
621></TT
622> after return is the number of octets consumed
Daniel Veillardaf43f632002-03-08 15:05:20 +0000623as the return value is positive, else unpredictiable.
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000624The value of <TT
625CLASS="PARAMETER"
626><I
627>outlen</I
628></TT
Daniel Veillardcbaf3992001-12-31 16:16:02 +0000629> after return is the number of octets consumed.</TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000630></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +0000631></TBODY
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000632></TABLE
633><P
634></P
635></DIV
636></DIV
637><HR><DIV
638CLASS="REFSECT2"
639><A
Daniel Veillard48267432002-10-18 11:21:38 +0000640NAME="AEN24871"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000641></A
642><H3
643><A
644NAME="XMLCHARENCODINGOUTPUTFUNC"
645></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000646>xmlCharEncodingOutputFunc ()</H3
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000647><TABLE
648BORDER="0"
649BGCOLOR="#D6E8FF"
650WIDTH="100%"
651CELLPADDING="6"
652><TR
653><TD
654><PRE
655CLASS="PROGRAMLISTING"
656>int (*xmlCharEncodingOutputFunc) (unsigned char *out,
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000657 int *outlen,
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000658 unsigned char *in,
Daniel Veillardedfb29b2000-03-14 19:59:05 +0000659 int *inlen);</PRE
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000660></TD
661></TR
662></TABLE
663><P
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000664>Take a block of UTF-8 chars in and try to convert it to an other
665encoding.
666Note: a first call designed to produce heading info is called with
Daniel Veillard19274092002-03-25 16:48:03 +0000667in = NULL. If stateful this should also initialize the encoder state.</P
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000668><P
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000669></P
670><DIV
671CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +0000672><A
Daniel Veillard48267432002-10-18 11:21:38 +0000673NAME="AEN24877"><P
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000674></P
675><TABLE
676BORDER="0"
677WIDTH="100%"
678BGCOLOR="#FFD0D0"
679CELLSPACING="0"
680CELLPADDING="4"
681CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +0000682><TBODY
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000683><TR
684><TD
685WIDTH="20%"
686ALIGN="RIGHT"
687VALIGN="TOP"
688><TT
689CLASS="PARAMETER"
690><I
691>out</I
692></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +0000693>&nbsp;:</TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000694><TD
695WIDTH="80%"
696ALIGN="LEFT"
697VALIGN="TOP"
Daniel Veillardcbaf3992001-12-31 16:16:02 +0000698> a pointer to an array of bytes to store the result</TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000699></TR
700><TR
701><TD
702WIDTH="20%"
703ALIGN="RIGHT"
704VALIGN="TOP"
705><TT
706CLASS="PARAMETER"
707><I
708>outlen</I
709></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +0000710>&nbsp;:</TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000711><TD
712WIDTH="80%"
713ALIGN="LEFT"
714VALIGN="TOP"
Daniel Veillard60087f32001-10-10 09:45:09 +0000715> the length of <TT
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000716CLASS="PARAMETER"
717><I
718>out</I
719></TT
720></TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000721></TR
722><TR
723><TD
724WIDTH="20%"
725ALIGN="RIGHT"
726VALIGN="TOP"
727><TT
728CLASS="PARAMETER"
729><I
730>in</I
731></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +0000732>&nbsp;:</TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000733><TD
734WIDTH="80%"
735ALIGN="LEFT"
736VALIGN="TOP"
Daniel Veillardcbaf3992001-12-31 16:16:02 +0000737> a pointer to an array of UTF-8 chars</TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000738></TR
739><TR
740><TD
741WIDTH="20%"
742ALIGN="RIGHT"
743VALIGN="TOP"
744><TT
745CLASS="PARAMETER"
746><I
747>inlen</I
748></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +0000749>&nbsp;:</TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000750><TD
751WIDTH="80%"
752ALIGN="LEFT"
753VALIGN="TOP"
Daniel Veillard60087f32001-10-10 09:45:09 +0000754> the length of <TT
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000755CLASS="PARAMETER"
756><I
757>in</I
758></TT
759></TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000760></TR
761><TR
762><TD
763WIDTH="20%"
764ALIGN="RIGHT"
765VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +0000766><SPAN
767CLASS="emphasis"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000768><I
769CLASS="EMPHASIS"
770>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +0000771></SPAN
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000772> :</TD
773><TD
774WIDTH="80%"
775ALIGN="LEFT"
776VALIGN="TOP"
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000777>the number of byte written, or -1 by lack of space, or -2
Daniel Veillardaf43f632002-03-08 15:05:20 +0000778if the transcoding failed.
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000779The value of <TT
780CLASS="PARAMETER"
781><I
782>inlen</I
783></TT
784> after return is the number of octets consumed
Daniel Veillardaf43f632002-03-08 15:05:20 +0000785as the return value is positive, else unpredictiable.
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000786The value of <TT
787CLASS="PARAMETER"
788><I
789>outlen</I
790></TT
791> after return is the number of ocetes consumed.</TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000792></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +0000793></TBODY
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000794></TABLE
795><P
796></P
797></DIV
798></DIV
799><HR><DIV
800CLASS="REFSECT2"
801><A
Daniel Veillard48267432002-10-18 11:21:38 +0000802NAME="AEN24906"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000803></A
804><H3
805><A
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000806NAME="XMLCHARENCODINGHANDLER"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000807></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000808>struct xmlCharEncodingHandler</H3
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000809><TABLE
810BORDER="0"
811BGCOLOR="#D6E8FF"
812WIDTH="100%"
813CELLPADDING="6"
814><TR
815><TD
816><PRE
817CLASS="PROGRAMLISTING"
818>struct xmlCharEncodingHandler {
819 char *name;
820 xmlCharEncodingInputFunc input;
821 xmlCharEncodingOutputFunc output;
822#ifdef LIBXML_ICONV_ENABLED
823 iconv_t iconv_in;
824 iconv_t iconv_out;
825#endif /* LIBXML_ICONV_ENABLED */
826};</PRE
827></TD
828></TR
829></TABLE
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000830><P
831></P
832></DIV
833><HR><DIV
834CLASS="REFSECT2"
835><A
Daniel Veillard48267432002-10-18 11:21:38 +0000836NAME="AEN24911"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000837></A
838><H3
839><A
840NAME="XMLCHARENCODINGHANDLERPTR"
841></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000842>xmlCharEncodingHandlerPtr</H3
Daniel Veillard4b8328d2001-07-05 22:48:42 +0000843><TABLE
844BORDER="0"
845BGCOLOR="#D6E8FF"
846WIDTH="100%"
847CELLPADDING="6"
848><TR
849><TD
850><PRE
851CLASS="PROGRAMLISTING"
852>typedef xmlCharEncodingHandler *xmlCharEncodingHandlerPtr;</PRE
853></TD
854></TR
855></TABLE
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000856><P
857></P
858></DIV
859><HR><DIV
860CLASS="REFSECT2"
861><A
Daniel Veillard48267432002-10-18 11:21:38 +0000862NAME="AEN24916"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000863></A
864><H3
865><A
866NAME="XMLINITCHARENCODINGHANDLERS"
867></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000868>xmlInitCharEncodingHandlers ()</H3
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000869><TABLE
870BORDER="0"
871BGCOLOR="#D6E8FF"
872WIDTH="100%"
873CELLPADDING="6"
874><TR
875><TD
876><PRE
877CLASS="PROGRAMLISTING"
878>void xmlInitCharEncodingHandlers (void);</PRE
879></TD
880></TR
881></TABLE
882><P
883>Initialize the char encoding support, it registers the default
884encoding supported.
885NOTE: while public, this function usually doesn't need to be called
Daniel Veillardaf43f632002-03-08 15:05:20 +0000886in normal processing.</P
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000887><P
888></P
889></DIV
890><HR><DIV
891CLASS="REFSECT2"
892><A
Daniel Veillard48267432002-10-18 11:21:38 +0000893NAME="AEN24922"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000894></A
895><H3
896><A
897NAME="XMLCLEANUPCHARENCODINGHANDLERS"
898></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000899>xmlCleanupCharEncodingHandlers ()</H3
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000900><TABLE
901BORDER="0"
902BGCOLOR="#D6E8FF"
903WIDTH="100%"
904CELLPADDING="6"
905><TR
906><TD
907><PRE
908CLASS="PROGRAMLISTING"
909>void xmlCleanupCharEncodingHandlers (void);</PRE
910></TD
911></TR
912></TABLE
913><P
914>Cleanup the memory allocated for the char encoding support, it
Daniel Veillard3bff2b02000-10-01 20:33:47 +0000915unregisters all the encoding handlers and the aliases.</P
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000916><P
917></P
918></DIV
919><HR><DIV
920CLASS="REFSECT2"
921><A
Daniel Veillard48267432002-10-18 11:21:38 +0000922NAME="AEN24928"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000923></A
924><H3
925><A
926NAME="XMLREGISTERCHARENCODINGHANDLER"
927></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000928>xmlRegisterCharEncodingHandler ()</H3
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000929><TABLE
930BORDER="0"
931BGCOLOR="#D6E8FF"
932WIDTH="100%"
933CELLPADDING="6"
934><TR
935><TD
936><PRE
937CLASS="PROGRAMLISTING"
938>void xmlRegisterCharEncodingHandler (<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000939HREF="libxml-encoding.html#XMLCHARENCODINGHANDLERPTR"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000940>xmlCharEncodingHandlerPtr</A
941> handler);</PRE
942></TD
943></TR
944></TABLE
945><P
Daniel Veillardcbaf3992001-12-31 16:16:02 +0000946>Register the char encoding handler, surprising, isn't it ?</P
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000947><P
948></P
949><DIV
950CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +0000951><A
Daniel Veillard48267432002-10-18 11:21:38 +0000952NAME="AEN24935"><P
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000953></P
954><TABLE
955BORDER="0"
956WIDTH="100%"
957BGCOLOR="#FFD0D0"
958CELLSPACING="0"
959CELLPADDING="4"
960CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +0000961><TBODY
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000962><TR
963><TD
964WIDTH="20%"
965ALIGN="RIGHT"
966VALIGN="TOP"
967><TT
968CLASS="PARAMETER"
969><I
970>handler</I
971></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +0000972>&nbsp;:</TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000973><TD
974WIDTH="80%"
975ALIGN="LEFT"
976VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +0000977> the xmlCharEncodingHandlerPtr handler block</TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000978></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +0000979></TBODY
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000980></TABLE
981><P
982></P
983></DIV
984></DIV
985><HR><DIV
986CLASS="REFSECT2"
987><A
Daniel Veillard48267432002-10-18 11:21:38 +0000988NAME="AEN24944"
Daniel Veillard3bff2b02000-10-01 20:33:47 +0000989></A
990><H3
991><A
992NAME="XMLGETCHARENCODINGHANDLER"
993></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000994>xmlGetCharEncodingHandler ()</H3
Daniel Veillard3bff2b02000-10-01 20:33:47 +0000995><TABLE
996BORDER="0"
997BGCOLOR="#D6E8FF"
998WIDTH="100%"
999CELLPADDING="6"
1000><TR
1001><TD
1002><PRE
1003CLASS="PROGRAMLISTING"
1004><A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +00001005HREF="libxml-encoding.html#XMLCHARENCODINGHANDLERPTR"
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001006>xmlCharEncodingHandlerPtr</A
1007> xmlGetCharEncodingHandler
1008 (<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +00001009HREF="libxml-encoding.html#XMLCHARENCODING"
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001010>xmlCharEncoding</A
1011> enc);</PRE
1012></TD
1013></TR
1014></TABLE
1015><P
Daniel Veillardcbaf3992001-12-31 16:16:02 +00001016>Search in the registered set the handler able to read/write that encoding.</P
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001017><P
1018></P
1019><DIV
1020CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001021><A
Daniel Veillard48267432002-10-18 11:21:38 +00001022NAME="AEN24952"><P
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001023></P
1024><TABLE
1025BORDER="0"
1026WIDTH="100%"
1027BGCOLOR="#FFD0D0"
1028CELLSPACING="0"
1029CELLPADDING="4"
1030CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001031><TBODY
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001032><TR
1033><TD
1034WIDTH="20%"
1035ALIGN="RIGHT"
1036VALIGN="TOP"
1037><TT
1038CLASS="PARAMETER"
1039><I
1040>enc</I
1041></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00001042>&nbsp;:</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001043><TD
1044WIDTH="80%"
1045ALIGN="LEFT"
1046VALIGN="TOP"
Daniel Veillardf012a642001-07-23 19:10:52 +00001047> an xmlCharEncoding value.</TD
1048></TR
1049><TR
1050><TD
1051WIDTH="20%"
1052ALIGN="RIGHT"
1053VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00001054><SPAN
1055CLASS="emphasis"
Daniel Veillardf012a642001-07-23 19:10:52 +00001056><I
1057CLASS="EMPHASIS"
1058>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00001059></SPAN
Daniel Veillardf012a642001-07-23 19:10:52 +00001060> :</TD
1061><TD
1062WIDTH="80%"
1063ALIGN="LEFT"
1064VALIGN="TOP"
1065>the handler or NULL if not found</TD
1066></TR
1067></TBODY
1068></TABLE
1069><P
1070></P
1071></DIV
1072></DIV
1073><HR><DIV
1074CLASS="REFSECT2"
1075><A
Daniel Veillard48267432002-10-18 11:21:38 +00001076NAME="AEN24965"
Daniel Veillardf012a642001-07-23 19:10:52 +00001077></A
1078><H3
1079><A
1080NAME="XMLFINDCHARENCODINGHANDLER"
1081></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00001082>xmlFindCharEncodingHandler ()</H3
Daniel Veillardf012a642001-07-23 19:10:52 +00001083><TABLE
1084BORDER="0"
1085BGCOLOR="#D6E8FF"
1086WIDTH="100%"
1087CELLPADDING="6"
1088><TR
1089><TD
1090><PRE
1091CLASS="PROGRAMLISTING"
1092><A
1093HREF="libxml-encoding.html#XMLCHARENCODINGHANDLERPTR"
1094>xmlCharEncodingHandlerPtr</A
1095> xmlFindCharEncodingHandler
1096 (const char *name);</PRE
1097></TD
1098></TR
1099></TABLE
1100><P
Daniel Veillardcbaf3992001-12-31 16:16:02 +00001101>Search in the registered set the handler able to read/write that encoding.</P
Daniel Veillardf012a642001-07-23 19:10:52 +00001102><P
1103></P
1104><DIV
1105CLASS="INFORMALTABLE"
1106><A
Daniel Veillard48267432002-10-18 11:21:38 +00001107NAME="AEN24972"><P
Daniel Veillardf012a642001-07-23 19:10:52 +00001108></P
1109><TABLE
1110BORDER="0"
1111WIDTH="100%"
1112BGCOLOR="#FFD0D0"
1113CELLSPACING="0"
1114CELLPADDING="4"
1115CLASS="CALSTABLE"
1116><TBODY
1117><TR
1118><TD
1119WIDTH="20%"
1120ALIGN="RIGHT"
1121VALIGN="TOP"
1122><TT
1123CLASS="PARAMETER"
1124><I
1125>name</I
1126></TT
1127>&nbsp;:</TD
1128><TD
1129WIDTH="80%"
1130ALIGN="LEFT"
1131VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001132> a string describing the char encoding.</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001133></TR
1134><TR
1135><TD
1136WIDTH="20%"
1137ALIGN="RIGHT"
1138VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00001139><SPAN
1140CLASS="emphasis"
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001141><I
1142CLASS="EMPHASIS"
1143>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00001144></SPAN
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001145> :</TD
1146><TD
1147WIDTH="80%"
1148ALIGN="LEFT"
1149VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001150>the handler or NULL if not found</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001151></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +00001152></TBODY
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001153></TABLE
1154><P
1155></P
1156></DIV
1157></DIV
1158><HR><DIV
1159CLASS="REFSECT2"
1160><A
Daniel Veillard48267432002-10-18 11:21:38 +00001161NAME="AEN24985"
Daniel Veillard2ace1952002-09-26 12:28:02 +00001162></A
1163><H3
1164><A
1165NAME="XMLNEWCHARENCODINGHANDLER"
1166></A
1167>xmlNewCharEncodingHandler ()</H3
1168><TABLE
1169BORDER="0"
1170BGCOLOR="#D6E8FF"
1171WIDTH="100%"
1172CELLPADDING="6"
1173><TR
1174><TD
1175><PRE
1176CLASS="PROGRAMLISTING"
1177><A
1178HREF="libxml-encoding.html#XMLCHARENCODINGHANDLERPTR"
1179>xmlCharEncodingHandlerPtr</A
1180> xmlNewCharEncodingHandler
1181 (const char *name,
1182 <A
1183HREF="libxml-encoding.html#XMLCHARENCODINGINPUTFUNC"
1184>xmlCharEncodingInputFunc</A
1185> input,
1186 <A
1187HREF="libxml-encoding.html#XMLCHARENCODINGOUTPUTFUNC"
1188>xmlCharEncodingOutputFunc</A
1189> output);</PRE
1190></TD
1191></TR
1192></TABLE
1193><P
1194>Create and registers an xmlCharEncodingHandler.</P
1195><P
1196></P
1197><DIV
1198CLASS="INFORMALTABLE"
1199><A
Daniel Veillard48267432002-10-18 11:21:38 +00001200NAME="AEN24994"><P
Daniel Veillard2ace1952002-09-26 12:28:02 +00001201></P
1202><TABLE
1203BORDER="0"
1204WIDTH="100%"
1205BGCOLOR="#FFD0D0"
1206CELLSPACING="0"
1207CELLPADDING="4"
1208CLASS="CALSTABLE"
1209><TBODY
1210><TR
1211><TD
1212WIDTH="20%"
1213ALIGN="RIGHT"
1214VALIGN="TOP"
1215><TT
1216CLASS="PARAMETER"
1217><I
1218>name</I
1219></TT
1220>&nbsp;:</TD
1221><TD
1222WIDTH="80%"
1223ALIGN="LEFT"
1224VALIGN="TOP"
1225> the encoding name, in UTF-8 format (ASCII actually)</TD
1226></TR
1227><TR
1228><TD
1229WIDTH="20%"
1230ALIGN="RIGHT"
1231VALIGN="TOP"
1232><TT
1233CLASS="PARAMETER"
1234><I
1235>input</I
1236></TT
1237>&nbsp;:</TD
1238><TD
1239WIDTH="80%"
1240ALIGN="LEFT"
1241VALIGN="TOP"
1242> the xmlCharEncodingInputFunc to read that encoding</TD
1243></TR
1244><TR
1245><TD
1246WIDTH="20%"
1247ALIGN="RIGHT"
1248VALIGN="TOP"
1249><TT
1250CLASS="PARAMETER"
1251><I
1252>output</I
1253></TT
1254>&nbsp;:</TD
1255><TD
1256WIDTH="80%"
1257ALIGN="LEFT"
1258VALIGN="TOP"
1259> the xmlCharEncodingOutputFunc to write that encoding</TD
1260></TR
1261><TR
1262><TD
1263WIDTH="20%"
1264ALIGN="RIGHT"
1265VALIGN="TOP"
1266><SPAN
1267CLASS="emphasis"
1268><I
1269CLASS="EMPHASIS"
1270>Returns</I
1271></SPAN
1272> :</TD
1273><TD
1274WIDTH="80%"
1275ALIGN="LEFT"
1276VALIGN="TOP"
1277>the xmlCharEncodingHandlerPtr created (or NULL in case of error).</TD
1278></TR
1279></TBODY
1280></TABLE
1281><P
1282></P
1283></DIV
1284></DIV
1285><HR><DIV
1286CLASS="REFSECT2"
1287><A
Daniel Veillard48267432002-10-18 11:21:38 +00001288NAME="AEN25015"
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001289></A
1290><H3
1291><A
1292NAME="XMLADDENCODINGALIAS"
1293></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00001294>xmlAddEncodingAlias ()</H3
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001295><TABLE
1296BORDER="0"
1297BGCOLOR="#D6E8FF"
1298WIDTH="100%"
1299CELLPADDING="6"
1300><TR
1301><TD
1302><PRE
1303CLASS="PROGRAMLISTING"
1304>int xmlAddEncodingAlias (const char *name,
1305 const char *alias);</PRE
1306></TD
1307></TR
1308></TABLE
1309><P
1310>Registers and alias <TT
1311CLASS="PARAMETER"
1312><I
1313>alias</I
1314></TT
1315> for an encoding named <TT
1316CLASS="PARAMETER"
1317><I
1318>name</I
1319></TT
1320>. Existing alias
1321will be overwritten.</P
1322><P
1323></P
1324><DIV
1325CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001326><A
Daniel Veillard48267432002-10-18 11:21:38 +00001327NAME="AEN25023"><P
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001328></P
1329><TABLE
1330BORDER="0"
1331WIDTH="100%"
1332BGCOLOR="#FFD0D0"
1333CELLSPACING="0"
1334CELLPADDING="4"
1335CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001336><TBODY
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001337><TR
1338><TD
1339WIDTH="20%"
1340ALIGN="RIGHT"
1341VALIGN="TOP"
1342><TT
1343CLASS="PARAMETER"
1344><I
1345>name</I
1346></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00001347>&nbsp;:</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001348><TD
1349WIDTH="80%"
1350ALIGN="LEFT"
1351VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001352> the encoding name as parsed, in UTF-8 format (ASCII actually)</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001353></TR
1354><TR
1355><TD
1356WIDTH="20%"
1357ALIGN="RIGHT"
1358VALIGN="TOP"
1359><TT
1360CLASS="PARAMETER"
1361><I
1362>alias</I
1363></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00001364>&nbsp;:</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001365><TD
1366WIDTH="80%"
1367ALIGN="LEFT"
1368VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001369> the alias name as parsed, in UTF-8 format (ASCII actually)</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001370></TR
1371><TR
1372><TD
1373WIDTH="20%"
1374ALIGN="RIGHT"
1375VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00001376><SPAN
1377CLASS="emphasis"
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001378><I
1379CLASS="EMPHASIS"
1380>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00001381></SPAN
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001382> :</TD
1383><TD
1384WIDTH="80%"
1385ALIGN="LEFT"
1386VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001387>0 in case of success, -1 in case of error</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001388></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +00001389></TBODY
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001390></TABLE
1391><P
1392></P
1393></DIV
1394></DIV
1395><HR><DIV
1396CLASS="REFSECT2"
1397><A
Daniel Veillard48267432002-10-18 11:21:38 +00001398NAME="AEN25040"
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001399></A
1400><H3
1401><A
1402NAME="XMLDELENCODINGALIAS"
1403></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00001404>xmlDelEncodingAlias ()</H3
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001405><TABLE
1406BORDER="0"
1407BGCOLOR="#D6E8FF"
1408WIDTH="100%"
1409CELLPADDING="6"
1410><TR
1411><TD
1412><PRE
1413CLASS="PROGRAMLISTING"
1414>int xmlDelEncodingAlias (const char *alias);</PRE
1415></TD
1416></TR
1417></TABLE
1418><P
1419>Unregisters an encoding alias <TT
1420CLASS="PARAMETER"
1421><I
1422>alias</I
1423></TT
1424></P
1425><P
1426></P
1427><DIV
1428CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001429><A
Daniel Veillard48267432002-10-18 11:21:38 +00001430NAME="AEN25047"><P
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001431></P
1432><TABLE
1433BORDER="0"
1434WIDTH="100%"
1435BGCOLOR="#FFD0D0"
1436CELLSPACING="0"
1437CELLPADDING="4"
1438CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001439><TBODY
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001440><TR
1441><TD
1442WIDTH="20%"
1443ALIGN="RIGHT"
1444VALIGN="TOP"
1445><TT
1446CLASS="PARAMETER"
1447><I
1448>alias</I
1449></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00001450>&nbsp;:</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001451><TD
1452WIDTH="80%"
1453ALIGN="LEFT"
1454VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001455> the alias name as parsed, in UTF-8 format (ASCII actually)</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001456></TR
1457><TR
1458><TD
1459WIDTH="20%"
1460ALIGN="RIGHT"
1461VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00001462><SPAN
1463CLASS="emphasis"
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001464><I
1465CLASS="EMPHASIS"
1466>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00001467></SPAN
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001468> :</TD
1469><TD
1470WIDTH="80%"
1471ALIGN="LEFT"
1472VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001473>0 in case of success, -1 in case of error</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001474></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +00001475></TBODY
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001476></TABLE
1477><P
1478></P
1479></DIV
1480></DIV
1481><HR><DIV
1482CLASS="REFSECT2"
1483><A
Daniel Veillard48267432002-10-18 11:21:38 +00001484NAME="AEN25060"
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001485></A
1486><H3
1487><A
1488NAME="XMLGETENCODINGALIAS"
1489></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00001490>xmlGetEncodingAlias ()</H3
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001491><TABLE
1492BORDER="0"
1493BGCOLOR="#D6E8FF"
1494WIDTH="100%"
1495CELLPADDING="6"
1496><TR
1497><TD
1498><PRE
1499CLASS="PROGRAMLISTING"
1500>const char* xmlGetEncodingAlias (const char *alias);</PRE
1501></TD
1502></TR
1503></TABLE
1504><P
1505>Lookup an encoding name for the given alias.</P
1506><P
1507></P
1508><DIV
1509CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001510><A
Daniel Veillard48267432002-10-18 11:21:38 +00001511NAME="AEN25066"><P
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001512></P
1513><TABLE
1514BORDER="0"
1515WIDTH="100%"
1516BGCOLOR="#FFD0D0"
1517CELLSPACING="0"
1518CELLPADDING="4"
1519CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001520><TBODY
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001521><TR
1522><TD
1523WIDTH="20%"
1524ALIGN="RIGHT"
1525VALIGN="TOP"
1526><TT
1527CLASS="PARAMETER"
1528><I
1529>alias</I
1530></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00001531>&nbsp;:</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001532><TD
1533WIDTH="80%"
1534ALIGN="LEFT"
1535VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001536> the alias name as parsed, in UTF-8 format (ASCII actually)</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001537></TR
1538><TR
1539><TD
1540WIDTH="20%"
1541ALIGN="RIGHT"
1542VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00001543><SPAN
1544CLASS="emphasis"
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001545><I
1546CLASS="EMPHASIS"
1547>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00001548></SPAN
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001549> :</TD
1550><TD
1551WIDTH="80%"
1552ALIGN="LEFT"
1553VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001554>NULL if not found the original name otherwise</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001555></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +00001556></TBODY
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001557></TABLE
1558><P
1559></P
1560></DIV
1561></DIV
1562><HR><DIV
1563CLASS="REFSECT2"
1564><A
Daniel Veillard48267432002-10-18 11:21:38 +00001565NAME="AEN25079"
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001566></A
1567><H3
1568><A
1569NAME="XMLCLEANUPENCODINGALIASES"
1570></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00001571>xmlCleanupEncodingAliases ()</H3
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001572><TABLE
1573BORDER="0"
1574BGCOLOR="#D6E8FF"
1575WIDTH="100%"
1576CELLPADDING="6"
1577><TR
1578><TD
1579><PRE
1580CLASS="PROGRAMLISTING"
1581>void xmlCleanupEncodingAliases (void);</PRE
1582></TD
1583></TR
1584></TABLE
1585><P
1586>Unregisters all aliases</P
1587><P
1588></P
1589></DIV
1590><HR><DIV
1591CLASS="REFSECT2"
1592><A
Daniel Veillard48267432002-10-18 11:21:38 +00001593NAME="AEN25085"
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001594></A
1595><H3
1596><A
1597NAME="XMLPARSECHARENCODING"
1598></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00001599>xmlParseCharEncoding ()</H3
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001600><TABLE
1601BORDER="0"
1602BGCOLOR="#D6E8FF"
1603WIDTH="100%"
1604CELLPADDING="6"
1605><TR
1606><TD
1607><PRE
1608CLASS="PROGRAMLISTING"
1609><A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +00001610HREF="libxml-encoding.html#XMLCHARENCODING"
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001611>xmlCharEncoding</A
1612> xmlParseCharEncoding (const char *name);</PRE
1613></TD
1614></TR
1615></TABLE
1616><P
Daniel Veillardcbaf3992001-12-31 16:16:02 +00001617>Compare the string to the known encoding schemes already known. Note
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001618that the comparison is case insensitive accordingly to the section
1619[XML] 4.3.3 Character Encoding in Entities.</P
1620><P
1621></P
1622><DIV
1623CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001624><A
Daniel Veillard48267432002-10-18 11:21:38 +00001625NAME="AEN25092"><P
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001626></P
1627><TABLE
1628BORDER="0"
1629WIDTH="100%"
1630BGCOLOR="#FFD0D0"
1631CELLSPACING="0"
1632CELLPADDING="4"
1633CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001634><TBODY
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001635><TR
1636><TD
1637WIDTH="20%"
1638ALIGN="RIGHT"
1639VALIGN="TOP"
1640><TT
1641CLASS="PARAMETER"
1642><I
1643>name</I
1644></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00001645>&nbsp;:</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001646><TD
1647WIDTH="80%"
1648ALIGN="LEFT"
1649VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001650> the encoding name as parsed, in UTF-8 format (ASCII actually)</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001651></TR
1652><TR
1653><TD
1654WIDTH="20%"
1655ALIGN="RIGHT"
1656VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00001657><SPAN
1658CLASS="emphasis"
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001659><I
1660CLASS="EMPHASIS"
1661>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00001662></SPAN
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001663> :</TD
1664><TD
1665WIDTH="80%"
1666ALIGN="LEFT"
1667VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001668>one of the XML_CHAR_ENCODING_... values or XML_CHAR_ENCODING_NONE
1669if not recognized.</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001670></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +00001671></TBODY
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001672></TABLE
1673><P
1674></P
1675></DIV
1676></DIV
1677><HR><DIV
1678CLASS="REFSECT2"
1679><A
Daniel Veillard48267432002-10-18 11:21:38 +00001680NAME="AEN25105"
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001681></A
1682><H3
1683><A
1684NAME="XMLGETCHARENCODINGNAME"
1685></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00001686>xmlGetCharEncodingName ()</H3
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001687><TABLE
1688BORDER="0"
1689BGCOLOR="#D6E8FF"
1690WIDTH="100%"
1691CELLPADDING="6"
1692><TR
1693><TD
1694><PRE
1695CLASS="PROGRAMLISTING"
1696>const char* xmlGetCharEncodingName (<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +00001697HREF="libxml-encoding.html#XMLCHARENCODING"
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001698>xmlCharEncoding</A
1699> enc);</PRE
1700></TD
1701></TR
1702></TABLE
1703><P
1704>The "canonical" name for XML encoding.
1705C.f. http://www.w3.org/TR/REC-xml<GTKDOCLINK
1706HREF="CHARENCODING"
1707>charencoding</GTKDOCLINK
1708>
1709Section 4.3.3 Character Encoding in Entities</P
1710><P
1711></P
1712><DIV
1713CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001714><A
Daniel Veillard48267432002-10-18 11:21:38 +00001715NAME="AEN25113"><P
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001716></P
1717><TABLE
1718BORDER="0"
1719WIDTH="100%"
1720BGCOLOR="#FFD0D0"
1721CELLSPACING="0"
1722CELLPADDING="4"
1723CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001724><TBODY
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001725><TR
1726><TD
1727WIDTH="20%"
1728ALIGN="RIGHT"
1729VALIGN="TOP"
1730><TT
1731CLASS="PARAMETER"
1732><I
1733>enc</I
1734></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00001735>&nbsp;:</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001736><TD
1737WIDTH="80%"
1738ALIGN="LEFT"
1739VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001740> the encoding</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001741></TR
1742><TR
1743><TD
1744WIDTH="20%"
1745ALIGN="RIGHT"
1746VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00001747><SPAN
1748CLASS="emphasis"
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001749><I
1750CLASS="EMPHASIS"
1751>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00001752></SPAN
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001753> :</TD
1754><TD
1755WIDTH="80%"
1756ALIGN="LEFT"
1757VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001758>the canonical name for the given encoding</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001759></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +00001760></TBODY
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001761></TABLE
1762><P
1763></P
1764></DIV
1765></DIV
1766><HR><DIV
1767CLASS="REFSECT2"
1768><A
Daniel Veillard48267432002-10-18 11:21:38 +00001769NAME="AEN25126"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001770></A
1771><H3
1772><A
1773NAME="XMLDETECTCHARENCODING"
1774></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00001775>xmlDetectCharEncoding ()</H3
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001776><TABLE
1777BORDER="0"
1778BGCOLOR="#D6E8FF"
1779WIDTH="100%"
1780CELLPADDING="6"
1781><TR
1782><TD
1783><PRE
1784CLASS="PROGRAMLISTING"
1785><A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +00001786HREF="libxml-encoding.html#XMLCHARENCODING"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001787>xmlCharEncoding</A
1788> xmlDetectCharEncoding (unsigned char *in,
1789 int len);</PRE
1790></TD
1791></TR
1792></TABLE
1793><P
1794>Guess the encoding of the entity using the first bytes of the entity content
1795accordingly of the non-normative appendix F of the XML-1.0 recommendation.</P
1796><P
1797></P
1798><DIV
1799CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001800><A
Daniel Veillard48267432002-10-18 11:21:38 +00001801NAME="AEN25133"><P
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001802></P
1803><TABLE
1804BORDER="0"
1805WIDTH="100%"
1806BGCOLOR="#FFD0D0"
1807CELLSPACING="0"
1808CELLPADDING="4"
1809CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001810><TBODY
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001811><TR
1812><TD
1813WIDTH="20%"
1814ALIGN="RIGHT"
1815VALIGN="TOP"
1816><TT
1817CLASS="PARAMETER"
1818><I
1819>in</I
1820></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00001821>&nbsp;:</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001822><TD
1823WIDTH="80%"
1824ALIGN="LEFT"
1825VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001826> a pointer to the first bytes of the XML entity, must be at least
Daniel Veillardaf43f632002-03-08 15:05:20 +000018274 bytes long.</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001828></TR
1829><TR
1830><TD
1831WIDTH="20%"
1832ALIGN="RIGHT"
1833VALIGN="TOP"
1834><TT
1835CLASS="PARAMETER"
1836><I
1837>len</I
1838></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00001839>&nbsp;:</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001840><TD
1841WIDTH="80%"
1842ALIGN="LEFT"
1843VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001844> pointer to the length of the buffer</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001845></TR
1846><TR
1847><TD
1848WIDTH="20%"
1849ALIGN="RIGHT"
1850VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00001851><SPAN
1852CLASS="emphasis"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001853><I
1854CLASS="EMPHASIS"
1855>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00001856></SPAN
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001857> :</TD
1858><TD
1859WIDTH="80%"
1860ALIGN="LEFT"
1861VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001862>one of the XML_CHAR_ENCODING_... values.</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001863></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +00001864></TBODY
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001865></TABLE
1866><P
1867></P
1868></DIV
1869></DIV
1870><HR><DIV
1871CLASS="REFSECT2"
1872><A
Daniel Veillard48267432002-10-18 11:21:38 +00001873NAME="AEN25150"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001874></A
1875><H3
1876><A
1877NAME="XMLCHARENCOUTFUNC"
1878></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00001879>xmlCharEncOutFunc ()</H3
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001880><TABLE
1881BORDER="0"
1882BGCOLOR="#D6E8FF"
1883WIDTH="100%"
1884CELLPADDING="6"
1885><TR
1886><TD
1887><PRE
1888CLASS="PROGRAMLISTING"
1889>int xmlCharEncOutFunc (<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +00001890HREF="libxml-encoding.html#XMLCHARENCODINGHANDLER"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001891>xmlCharEncodingHandler</A
1892> *handler,
1893 <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +00001894HREF="libxml-tree.html#XMLBUFFERPTR"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001895>xmlBufferPtr</A
1896> out,
1897 <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +00001898HREF="libxml-tree.html#XMLBUFFERPTR"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001899>xmlBufferPtr</A
1900> in);</PRE
1901></TD
1902></TR
1903></TABLE
1904><P
1905>Generic front-end for the encoding handler output function
1906a first call with <TT
1907CLASS="PARAMETER"
1908><I
1909>in</I
1910></TT
1911> == NULL has to be made firs to initiate the
1912output in case of non-stateless encoding needing to initiate their
1913state or the output (like the BOM in UTF16).
1914In case of UTF8 sequence conversion errors for the given encoder,
1915the content will be automatically remapped to a CharRef sequence.</P
1916><P
1917></P
1918><DIV
1919CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001920><A
Daniel Veillard48267432002-10-18 11:21:38 +00001921NAME="AEN25160"><P
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001922></P
1923><TABLE
1924BORDER="0"
1925WIDTH="100%"
1926BGCOLOR="#FFD0D0"
1927CELLSPACING="0"
1928CELLPADDING="4"
1929CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001930><TBODY
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001931><TR
1932><TD
1933WIDTH="20%"
1934ALIGN="RIGHT"
1935VALIGN="TOP"
1936><TT
1937CLASS="PARAMETER"
1938><I
1939>handler</I
1940></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00001941>&nbsp;:</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001942><TD
1943WIDTH="80%"
1944ALIGN="LEFT"
1945VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001946> char enconding transformation data structure</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001947></TR
1948><TR
1949><TD
1950WIDTH="20%"
1951ALIGN="RIGHT"
1952VALIGN="TOP"
1953><TT
1954CLASS="PARAMETER"
1955><I
1956>out</I
1957></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00001958>&nbsp;:</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001959><TD
1960WIDTH="80%"
1961ALIGN="LEFT"
1962VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001963> an xmlBuffer for the output.</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001964></TR
1965><TR
1966><TD
1967WIDTH="20%"
1968ALIGN="RIGHT"
1969VALIGN="TOP"
1970><TT
1971CLASS="PARAMETER"
1972><I
Daniel Veillard06047432000-04-24 11:33:38 +00001973>in</I
Daniel Veillardedfb29b2000-03-14 19:59:05 +00001974></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00001975>&nbsp;:</TD
Daniel Veillardedfb29b2000-03-14 19:59:05 +00001976><TD
1977WIDTH="80%"
1978ALIGN="LEFT"
1979VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001980> an xmlBuffer for the input</TD
Daniel Veillardedfb29b2000-03-14 19:59:05 +00001981></TR
1982><TR
1983><TD
1984WIDTH="20%"
1985ALIGN="RIGHT"
1986VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00001987><SPAN
1988CLASS="emphasis"
Daniel Veillardedfb29b2000-03-14 19:59:05 +00001989><I
1990CLASS="EMPHASIS"
1991>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00001992></SPAN
Daniel Veillardedfb29b2000-03-14 19:59:05 +00001993> :</TD
1994><TD
1995WIDTH="80%"
1996ALIGN="LEFT"
1997VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001998>the number of byte written if success, or
Daniel Veillardaf43f632002-03-08 15:05:20 +00001999-1 general error
2000-2 if the transcoding fails (for *in is not valid utf8 string or
2001the result of transformation can't fit into the encoding we want), or</TD
Daniel Veillardedfb29b2000-03-14 19:59:05 +00002002></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +00002003></TBODY
Daniel Veillardedfb29b2000-03-14 19:59:05 +00002004></TABLE
2005><P
2006></P
2007></DIV
2008></DIV
Daniel Veillard06047432000-04-24 11:33:38 +00002009><HR><DIV
2010CLASS="REFSECT2"
2011><A
Daniel Veillard48267432002-10-18 11:21:38 +00002012NAME="AEN25181"
Daniel Veillard06047432000-04-24 11:33:38 +00002013></A
2014><H3
2015><A
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002016NAME="XMLCHARENCINFUNC"
Daniel Veillard06047432000-04-24 11:33:38 +00002017></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00002018>xmlCharEncInFunc ()</H3
Daniel Veillard06047432000-04-24 11:33:38 +00002019><TABLE
2020BORDER="0"
2021BGCOLOR="#D6E8FF"
2022WIDTH="100%"
2023CELLPADDING="6"
2024><TR
2025><TD
2026><PRE
2027CLASS="PROGRAMLISTING"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002028>int xmlCharEncInFunc (<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +00002029HREF="libxml-encoding.html#XMLCHARENCODINGHANDLER"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002030>xmlCharEncodingHandler</A
2031> *handler,
2032 <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +00002033HREF="libxml-tree.html#XMLBUFFERPTR"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002034>xmlBufferPtr</A
2035> out,
2036 <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +00002037HREF="libxml-tree.html#XMLBUFFERPTR"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002038>xmlBufferPtr</A
2039> in);</PRE
Daniel Veillard06047432000-04-24 11:33:38 +00002040></TD
2041></TR
2042></TABLE
2043><P
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002044>Generic front-end for the encoding handler input function</P
Daniel Veillard06047432000-04-24 11:33:38 +00002045><P
2046></P
2047><DIV
2048CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00002049><A
Daniel Veillard48267432002-10-18 11:21:38 +00002050NAME="AEN25190"><P
Daniel Veillard06047432000-04-24 11:33:38 +00002051></P
2052><TABLE
2053BORDER="0"
2054WIDTH="100%"
2055BGCOLOR="#FFD0D0"
2056CELLSPACING="0"
2057CELLPADDING="4"
2058CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00002059><TBODY
Daniel Veillard06047432000-04-24 11:33:38 +00002060><TR
2061><TD
2062WIDTH="20%"
2063ALIGN="RIGHT"
2064VALIGN="TOP"
2065><TT
2066CLASS="PARAMETER"
2067><I
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002068>handler</I
Daniel Veillard06047432000-04-24 11:33:38 +00002069></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00002070>&nbsp;:</TD
Daniel Veillard06047432000-04-24 11:33:38 +00002071><TD
2072WIDTH="80%"
2073ALIGN="LEFT"
2074VALIGN="TOP"
Daniel Veillardcbaf3992001-12-31 16:16:02 +00002075> char encoding transformation data structure</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002076></TR
2077><TR
2078><TD
2079WIDTH="20%"
2080ALIGN="RIGHT"
2081VALIGN="TOP"
2082><TT
2083CLASS="PARAMETER"
2084><I
2085>out</I
2086></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00002087>&nbsp;:</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002088><TD
2089WIDTH="80%"
2090ALIGN="LEFT"
2091VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002092> an xmlBuffer for the output.</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002093></TR
2094><TR
2095><TD
2096WIDTH="20%"
2097ALIGN="RIGHT"
2098VALIGN="TOP"
2099><TT
2100CLASS="PARAMETER"
2101><I
2102>in</I
2103></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00002104>&nbsp;:</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002105><TD
2106WIDTH="80%"
2107ALIGN="LEFT"
2108VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002109> an xmlBuffer for the input</TD
Daniel Veillard06047432000-04-24 11:33:38 +00002110></TR
2111><TR
2112><TD
2113WIDTH="20%"
2114ALIGN="RIGHT"
2115VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00002116><SPAN
2117CLASS="emphasis"
Daniel Veillard06047432000-04-24 11:33:38 +00002118><I
2119CLASS="EMPHASIS"
2120>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00002121></SPAN
Daniel Veillard06047432000-04-24 11:33:38 +00002122> :</TD
2123><TD
2124WIDTH="80%"
2125ALIGN="LEFT"
2126VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002127>the number of byte written if success, or
Daniel Veillardaf43f632002-03-08 15:05:20 +00002128-1 general error
2129-2 if the transcoding fails (for *in is not valid utf8 string or
2130the result of transformation can't fit into the encoding we want), or</TD
Daniel Veillard06047432000-04-24 11:33:38 +00002131></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +00002132></TBODY
Daniel Veillard06047432000-04-24 11:33:38 +00002133></TABLE
2134><P
2135></P
2136></DIV
2137></DIV
2138><HR><DIV
2139CLASS="REFSECT2"
2140><A
Daniel Veillard48267432002-10-18 11:21:38 +00002141NAME="AEN25211"
Daniel Veillard06047432000-04-24 11:33:38 +00002142></A
2143><H3
2144><A
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002145NAME="XMLCHARENCFIRSTLINE"
Daniel Veillard06047432000-04-24 11:33:38 +00002146></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00002147>xmlCharEncFirstLine ()</H3
Daniel Veillard06047432000-04-24 11:33:38 +00002148><TABLE
2149BORDER="0"
2150BGCOLOR="#D6E8FF"
2151WIDTH="100%"
2152CELLPADDING="6"
2153><TR
2154><TD
2155><PRE
2156CLASS="PROGRAMLISTING"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002157>int xmlCharEncFirstLine (<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +00002158HREF="libxml-encoding.html#XMLCHARENCODINGHANDLER"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002159>xmlCharEncodingHandler</A
2160> *handler,
2161 <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +00002162HREF="libxml-tree.html#XMLBUFFERPTR"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002163>xmlBufferPtr</A
2164> out,
2165 <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +00002166HREF="libxml-tree.html#XMLBUFFERPTR"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002167>xmlBufferPtr</A
2168> in);</PRE
Daniel Veillard06047432000-04-24 11:33:38 +00002169></TD
2170></TR
2171></TABLE
2172><P
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002173>Front-end for the encoding handler input function, but handle only
2174the very first line, i.e. limit itself to 45 chars.</P
Daniel Veillard06047432000-04-24 11:33:38 +00002175><P
2176></P
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002177><DIV
2178CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00002179><A
Daniel Veillard48267432002-10-18 11:21:38 +00002180NAME="AEN25220"><P
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002181></P
2182><TABLE
2183BORDER="0"
2184WIDTH="100%"
2185BGCOLOR="#FFD0D0"
2186CELLSPACING="0"
2187CELLPADDING="4"
2188CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00002189><TBODY
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002190><TR
2191><TD
2192WIDTH="20%"
2193ALIGN="RIGHT"
2194VALIGN="TOP"
2195><TT
2196CLASS="PARAMETER"
2197><I
2198>handler</I
2199></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00002200>&nbsp;:</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002201><TD
2202WIDTH="80%"
2203ALIGN="LEFT"
2204VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002205> char enconding transformation data structure</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002206></TR
2207><TR
2208><TD
2209WIDTH="20%"
2210ALIGN="RIGHT"
2211VALIGN="TOP"
2212><TT
2213CLASS="PARAMETER"
2214><I
2215>out</I
2216></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00002217>&nbsp;:</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002218><TD
2219WIDTH="80%"
2220ALIGN="LEFT"
2221VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002222> an xmlBuffer for the output.</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002223></TR
2224><TR
2225><TD
2226WIDTH="20%"
2227ALIGN="RIGHT"
2228VALIGN="TOP"
2229><TT
2230CLASS="PARAMETER"
2231><I
2232>in</I
2233></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00002234>&nbsp;:</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002235><TD
2236WIDTH="80%"
2237ALIGN="LEFT"
2238VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002239> an xmlBuffer for the input</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002240></TR
2241><TR
2242><TD
2243WIDTH="20%"
2244ALIGN="RIGHT"
2245VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00002246><SPAN
2247CLASS="emphasis"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002248><I
2249CLASS="EMPHASIS"
2250>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00002251></SPAN
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002252> :</TD
2253><TD
2254WIDTH="80%"
2255ALIGN="LEFT"
2256VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002257>the number of byte written if success, or
Daniel Veillardaf43f632002-03-08 15:05:20 +00002258-1 general error
2259-2 if the transcoding fails (for *in is not valid utf8 string or
2260the result of transformation can't fit into the encoding we want), or</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002261></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +00002262></TBODY
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002263></TABLE
2264><P
2265></P
2266></DIV
2267></DIV
2268><HR><DIV
2269CLASS="REFSECT2"
2270><A
Daniel Veillard48267432002-10-18 11:21:38 +00002271NAME="AEN25241"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002272></A
2273><H3
2274><A
2275NAME="XMLCHARENCCLOSEFUNC"
2276></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00002277>xmlCharEncCloseFunc ()</H3
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002278><TABLE
2279BORDER="0"
2280BGCOLOR="#D6E8FF"
2281WIDTH="100%"
2282CELLPADDING="6"
2283><TR
2284><TD
2285><PRE
2286CLASS="PROGRAMLISTING"
2287>int xmlCharEncCloseFunc (<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +00002288HREF="libxml-encoding.html#XMLCHARENCODINGHANDLER"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002289>xmlCharEncodingHandler</A
2290> *handler);</PRE
2291></TD
2292></TR
2293></TABLE
2294><P
Daniel Veillardcbaf3992001-12-31 16:16:02 +00002295>Generic front-end for encoding handler close function</P
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002296><P
2297></P
2298><DIV
2299CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00002300><A
Daniel Veillard48267432002-10-18 11:21:38 +00002301NAME="AEN25248"><P
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002302></P
2303><TABLE
2304BORDER="0"
2305WIDTH="100%"
2306BGCOLOR="#FFD0D0"
2307CELLSPACING="0"
2308CELLPADDING="4"
2309CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00002310><TBODY
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002311><TR
2312><TD
2313WIDTH="20%"
2314ALIGN="RIGHT"
2315VALIGN="TOP"
2316><TT
2317CLASS="PARAMETER"
2318><I
2319>handler</I
2320></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00002321>&nbsp;:</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002322><TD
2323WIDTH="80%"
2324ALIGN="LEFT"
2325VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002326> char enconding transformation data structure</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002327></TR
2328><TR
2329><TD
2330WIDTH="20%"
2331ALIGN="RIGHT"
2332VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00002333><SPAN
2334CLASS="emphasis"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002335><I
2336CLASS="EMPHASIS"
2337>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00002338></SPAN
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002339> :</TD
2340><TD
2341WIDTH="80%"
2342ALIGN="LEFT"
2343VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002344>0 if success, or -1 in case of error</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002345></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +00002346></TBODY
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002347></TABLE
2348><P
2349></P
2350></DIV
Daniel Veillard06047432000-04-24 11:33:38 +00002351></DIV
Daniel Veillarda41123c2001-04-22 19:31:20 +00002352><HR><DIV
2353CLASS="REFSECT2"
2354><A
Daniel Veillard48267432002-10-18 11:21:38 +00002355NAME="AEN25261"
Daniel Veillarda41123c2001-04-22 19:31:20 +00002356></A
2357><H3
2358><A
2359NAME="UTF8TOISOLAT1"
2360></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00002361>UTF8Toisolat1 ()</H3
Daniel Veillarda41123c2001-04-22 19:31:20 +00002362><TABLE
2363BORDER="0"
2364BGCOLOR="#D6E8FF"
2365WIDTH="100%"
2366CELLPADDING="6"
2367><TR
2368><TD
2369><PRE
2370CLASS="PROGRAMLISTING"
2371>int UTF8Toisolat1 (unsigned char *out,
2372 int *outlen,
2373 unsigned char *in,
2374 int *inlen);</PRE
2375></TD
2376></TR
2377></TABLE
2378><P
2379>Take a block of UTF-8 chars in and try to convert it to an ISO Latin 1
2380block of chars out.</P
2381><P
2382></P
2383><DIV
2384CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00002385><A
Daniel Veillard48267432002-10-18 11:21:38 +00002386NAME="AEN25267"><P
Daniel Veillarda41123c2001-04-22 19:31:20 +00002387></P
2388><TABLE
2389BORDER="0"
2390WIDTH="100%"
2391BGCOLOR="#FFD0D0"
2392CELLSPACING="0"
2393CELLPADDING="4"
2394CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00002395><TBODY
Daniel Veillarda41123c2001-04-22 19:31:20 +00002396><TR
2397><TD
2398WIDTH="20%"
2399ALIGN="RIGHT"
2400VALIGN="TOP"
2401><TT
2402CLASS="PARAMETER"
2403><I
2404>out</I
2405></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00002406>&nbsp;:</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002407><TD
2408WIDTH="80%"
2409ALIGN="LEFT"
2410VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002411> a pointer to an array of bytes to store the result</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002412></TR
2413><TR
2414><TD
2415WIDTH="20%"
2416ALIGN="RIGHT"
2417VALIGN="TOP"
2418><TT
2419CLASS="PARAMETER"
2420><I
2421>outlen</I
2422></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00002423>&nbsp;:</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002424><TD
2425WIDTH="80%"
2426ALIGN="LEFT"
2427VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002428> the length of <TT
2429CLASS="PARAMETER"
2430><I
2431>out</I
2432></TT
2433></TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002434></TR
2435><TR
2436><TD
2437WIDTH="20%"
2438ALIGN="RIGHT"
2439VALIGN="TOP"
2440><TT
2441CLASS="PARAMETER"
2442><I
2443>in</I
2444></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00002445>&nbsp;:</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002446><TD
2447WIDTH="80%"
2448ALIGN="LEFT"
2449VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002450> a pointer to an array of UTF-8 chars</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002451></TR
2452><TR
2453><TD
2454WIDTH="20%"
2455ALIGN="RIGHT"
2456VALIGN="TOP"
2457><TT
2458CLASS="PARAMETER"
2459><I
2460>inlen</I
2461></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00002462>&nbsp;:</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002463><TD
2464WIDTH="80%"
2465ALIGN="LEFT"
2466VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002467> the length of <TT
2468CLASS="PARAMETER"
2469><I
2470>in</I
2471></TT
2472></TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002473></TR
2474><TR
2475><TD
2476WIDTH="20%"
2477ALIGN="RIGHT"
2478VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00002479><SPAN
2480CLASS="emphasis"
Daniel Veillarda41123c2001-04-22 19:31:20 +00002481><I
2482CLASS="EMPHASIS"
2483>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00002484></SPAN
Daniel Veillarda41123c2001-04-22 19:31:20 +00002485> :</TD
2486><TD
2487WIDTH="80%"
2488ALIGN="LEFT"
2489VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002490>0 if success, -2 if the transcoding fails, or -1 otherwise
2491The value of <TT
2492CLASS="PARAMETER"
2493><I
2494>inlen</I
2495></TT
2496> after return is the number of octets consumed
Daniel Veillardaf43f632002-03-08 15:05:20 +00002497as the return value is positive, else unpredictable.
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002498The value of <TT
2499CLASS="PARAMETER"
2500><I
2501>outlen</I
2502></TT
2503> after return is the number of ocetes consumed.</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002504></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +00002505></TBODY
Daniel Veillarda41123c2001-04-22 19:31:20 +00002506></TABLE
2507><P
2508></P
2509></DIV
2510></DIV
2511><HR><DIV
2512CLASS="REFSECT2"
2513><A
Daniel Veillard48267432002-10-18 11:21:38 +00002514NAME="AEN25296"
Daniel Veillarda41123c2001-04-22 19:31:20 +00002515></A
2516><H3
2517><A
2518NAME="ISOLAT1TOUTF8"
2519></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00002520>isolat1ToUTF8 ()</H3
Daniel Veillarda41123c2001-04-22 19:31:20 +00002521><TABLE
2522BORDER="0"
2523BGCOLOR="#D6E8FF"
2524WIDTH="100%"
2525CELLPADDING="6"
2526><TR
2527><TD
2528><PRE
2529CLASS="PROGRAMLISTING"
2530>int isolat1ToUTF8 (unsigned char *out,
2531 int *outlen,
2532 unsigned char *in,
2533 int *inlen);</PRE
2534></TD
2535></TR
2536></TABLE
2537><P
2538>Take a block of ISO Latin 1 chars in and try to convert it to an UTF-8
2539block of chars out.</P
2540><P
2541></P
2542><DIV
2543CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00002544><A
Daniel Veillard48267432002-10-18 11:21:38 +00002545NAME="AEN25302"><P
Daniel Veillarda41123c2001-04-22 19:31:20 +00002546></P
2547><TABLE
2548BORDER="0"
2549WIDTH="100%"
2550BGCOLOR="#FFD0D0"
2551CELLSPACING="0"
2552CELLPADDING="4"
2553CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00002554><TBODY
Daniel Veillarda41123c2001-04-22 19:31:20 +00002555><TR
2556><TD
2557WIDTH="20%"
2558ALIGN="RIGHT"
2559VALIGN="TOP"
2560><TT
2561CLASS="PARAMETER"
2562><I
2563>out</I
2564></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00002565>&nbsp;:</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002566><TD
2567WIDTH="80%"
2568ALIGN="LEFT"
2569VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002570> a pointer to an array of bytes to store the result</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002571></TR
2572><TR
2573><TD
2574WIDTH="20%"
2575ALIGN="RIGHT"
2576VALIGN="TOP"
2577><TT
2578CLASS="PARAMETER"
2579><I
2580>outlen</I
2581></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00002582>&nbsp;:</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002583><TD
2584WIDTH="80%"
2585ALIGN="LEFT"
2586VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002587> the length of <TT
2588CLASS="PARAMETER"
2589><I
2590>out</I
2591></TT
2592></TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002593></TR
2594><TR
2595><TD
2596WIDTH="20%"
2597ALIGN="RIGHT"
2598VALIGN="TOP"
2599><TT
2600CLASS="PARAMETER"
2601><I
2602>in</I
2603></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00002604>&nbsp;:</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002605><TD
2606WIDTH="80%"
2607ALIGN="LEFT"
2608VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002609> a pointer to an array of ISO Latin 1 chars</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002610></TR
2611><TR
2612><TD
2613WIDTH="20%"
2614ALIGN="RIGHT"
2615VALIGN="TOP"
2616><TT
2617CLASS="PARAMETER"
2618><I
2619>inlen</I
2620></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00002621>&nbsp;:</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002622><TD
2623WIDTH="80%"
2624ALIGN="LEFT"
2625VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002626> the length of <TT
2627CLASS="PARAMETER"
2628><I
2629>in</I
2630></TT
2631></TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002632></TR
2633><TR
2634><TD
2635WIDTH="20%"
2636ALIGN="RIGHT"
2637VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00002638><SPAN
2639CLASS="emphasis"
Daniel Veillarda41123c2001-04-22 19:31:20 +00002640><I
2641CLASS="EMPHASIS"
2642>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00002643></SPAN
Daniel Veillarda41123c2001-04-22 19:31:20 +00002644> :</TD
2645><TD
2646WIDTH="80%"
2647ALIGN="LEFT"
2648VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002649>0 if success, or -1 otherwise
2650The value of <TT
2651CLASS="PARAMETER"
2652><I
2653>inlen</I
2654></TT
2655> after return is the number of octets consumed
Daniel Veillardaf43f632002-03-08 15:05:20 +00002656as the return value is positive, else unpredictable.
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002657The value of <TT
2658CLASS="PARAMETER"
2659><I
2660>outlen</I
2661></TT
2662> after return is the number of ocetes consumed.</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002663></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +00002664></TBODY
Daniel Veillarda41123c2001-04-22 19:31:20 +00002665></TABLE
2666><P
2667></P
2668></DIV
2669></DIV
2670><HR><DIV
2671CLASS="REFSECT2"
2672><A
Daniel Veillard48267432002-10-18 11:21:38 +00002673NAME="AEN25331"
Daniel Veillarda41123c2001-04-22 19:31:20 +00002674></A
2675><H3
2676><A
2677NAME="XMLCHECKUTF8"
2678></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00002679>xmlCheckUTF8 ()</H3
Daniel Veillarda41123c2001-04-22 19:31:20 +00002680><TABLE
2681BORDER="0"
2682BGCOLOR="#D6E8FF"
2683WIDTH="100%"
2684CELLPADDING="6"
2685><TR
2686><TD
2687><PRE
2688CLASS="PROGRAMLISTING"
2689>int xmlCheckUTF8 (unsigned char *utf);</PRE
2690></TD
2691></TR
2692></TABLE
2693><P
2694>Checks <TT
2695CLASS="PARAMETER"
2696><I
2697>utf</I
2698></TT
2699> for being valid utf-8. <TT
2700CLASS="PARAMETER"
2701><I
2702>utf</I
2703></TT
2704> is assumed to be
2705null-terminated. This function is not super-strict, as it will
2706allow longer utf-8 sequences than necessary. Note that Java is
2707capable of producing these sequences if provoked. Also note, this
Daniel Veillardcbaf3992001-12-31 16:16:02 +00002708routine checks for the 4-byte maximum size, but does not check for
Daniel Veillarda41123c2001-04-22 19:31:20 +000027090x10ffff maximum value.</P
2710><P
2711></P
2712><DIV
2713CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00002714><A
Daniel Veillard48267432002-10-18 11:21:38 +00002715NAME="AEN25339"><P
Daniel Veillarda41123c2001-04-22 19:31:20 +00002716></P
2717><TABLE
2718BORDER="0"
2719WIDTH="100%"
2720BGCOLOR="#FFD0D0"
2721CELLSPACING="0"
2722CELLPADDING="4"
2723CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00002724><TBODY
Daniel Veillarda41123c2001-04-22 19:31:20 +00002725><TR
2726><TD
2727WIDTH="20%"
2728ALIGN="RIGHT"
2729VALIGN="TOP"
2730><TT
2731CLASS="PARAMETER"
2732><I
2733>utf</I
2734></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00002735>&nbsp;:</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002736><TD
2737WIDTH="80%"
2738ALIGN="LEFT"
2739VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002740> Pointer to putative utf-8 encoded string.</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002741></TR
2742><TR
2743><TD
2744WIDTH="20%"
2745ALIGN="RIGHT"
2746VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00002747><SPAN
2748CLASS="emphasis"
Daniel Veillarda41123c2001-04-22 19:31:20 +00002749><I
2750CLASS="EMPHASIS"
2751>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00002752></SPAN
Daniel Veillarda41123c2001-04-22 19:31:20 +00002753> :</TD
2754><TD
2755WIDTH="80%"
2756ALIGN="LEFT"
2757VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002758> true if <TT
2759CLASS="PARAMETER"
2760><I
2761>utf</I
2762></TT
2763> is valid.</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002764></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +00002765></TBODY
Daniel Veillarda41123c2001-04-22 19:31:20 +00002766></TABLE
2767><P
2768></P
2769></DIV
2770></DIV
2771><HR><DIV
2772CLASS="REFSECT2"
2773><A
Daniel Veillard48267432002-10-18 11:21:38 +00002774NAME="AEN25353"
Daniel Veillard4ec885a2001-06-17 10:31:07 +00002775></A
2776><H3
2777><A
2778NAME="XMLUTF8STRSIZE"
2779></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00002780>xmlUTF8Strsize ()</H3
Daniel Veillard4ec885a2001-06-17 10:31:07 +00002781><TABLE
2782BORDER="0"
2783BGCOLOR="#D6E8FF"
2784WIDTH="100%"
2785CELLPADDING="6"
2786><TR
2787><TD
2788><PRE
2789CLASS="PROGRAMLISTING"
2790>int xmlUTF8Strsize (const <A
2791HREF="libxml-tree.html#XMLCHAR"
2792>xmlChar</A
2793> *utf,
2794 int len);</PRE
2795></TD
2796></TR
2797></TABLE
2798><P
2799>storage size of an UTF8 string</P
2800><P
2801></P
2802><DIV
2803CLASS="INFORMALTABLE"
2804><A
Daniel Veillard48267432002-10-18 11:21:38 +00002805NAME="AEN25360"><P
Daniel Veillard4ec885a2001-06-17 10:31:07 +00002806></P
2807><TABLE
2808BORDER="0"
2809WIDTH="100%"
2810BGCOLOR="#FFD0D0"
2811CELLSPACING="0"
2812CELLPADDING="4"
2813CLASS="CALSTABLE"
2814><TBODY
2815><TR
2816><TD
2817WIDTH="20%"
2818ALIGN="RIGHT"
2819VALIGN="TOP"
2820><TT
2821CLASS="PARAMETER"
2822><I
2823>utf</I
2824></TT
2825>&nbsp;:</TD
2826><TD
2827WIDTH="80%"
2828ALIGN="LEFT"
2829VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002830> a sequence of UTF-8 encoded bytes</TD
Daniel Veillard4ec885a2001-06-17 10:31:07 +00002831></TR
2832><TR
2833><TD
2834WIDTH="20%"
2835ALIGN="RIGHT"
2836VALIGN="TOP"
2837><TT
2838CLASS="PARAMETER"
2839><I
2840>len</I
2841></TT
2842>&nbsp;:</TD
2843><TD
2844WIDTH="80%"
2845ALIGN="LEFT"
2846VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002847> the number of characters in the array</TD
Daniel Veillard4ec885a2001-06-17 10:31:07 +00002848></TR
2849><TR
2850><TD
2851WIDTH="20%"
2852ALIGN="RIGHT"
2853VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00002854><SPAN
2855CLASS="emphasis"
Daniel Veillard4ec885a2001-06-17 10:31:07 +00002856><I
2857CLASS="EMPHASIS"
2858>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00002859></SPAN
Daniel Veillard4ec885a2001-06-17 10:31:07 +00002860> :</TD
2861><TD
2862WIDTH="80%"
2863ALIGN="LEFT"
2864VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002865>the storage size of
2866the first 'len' characters of ARRAY&#13;</TD
Daniel Veillard4ec885a2001-06-17 10:31:07 +00002867></TR
2868></TBODY
2869></TABLE
2870><P
2871></P
2872></DIV
2873></DIV
2874><HR><DIV
2875CLASS="REFSECT2"
2876><A
Daniel Veillard48267432002-10-18 11:21:38 +00002877NAME="AEN25377"
Daniel Veillard4ec885a2001-06-17 10:31:07 +00002878></A
2879><H3
2880><A
2881NAME="XMLUTF8STRNDUP"
2882></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00002883>xmlUTF8Strndup ()</H3
Daniel Veillard4ec885a2001-06-17 10:31:07 +00002884><TABLE
2885BORDER="0"
2886BGCOLOR="#D6E8FF"
2887WIDTH="100%"
2888CELLPADDING="6"
2889><TR
2890><TD
2891><PRE
2892CLASS="PROGRAMLISTING"
2893><A
2894HREF="libxml-tree.html#XMLCHAR"
2895>xmlChar</A
2896>* xmlUTF8Strndup (const <A
2897HREF="libxml-tree.html#XMLCHAR"
2898>xmlChar</A
2899> *utf,
2900 int len);</PRE
2901></TD
2902></TR
2903></TABLE
2904><P
2905>a strndup for array of UTF8's</P
2906><P
2907></P
2908><DIV
2909CLASS="INFORMALTABLE"
2910><A
Daniel Veillard48267432002-10-18 11:21:38 +00002911NAME="AEN25385"><P
Daniel Veillard4ec885a2001-06-17 10:31:07 +00002912></P
2913><TABLE
2914BORDER="0"
2915WIDTH="100%"
2916BGCOLOR="#FFD0D0"
2917CELLSPACING="0"
2918CELLPADDING="4"
2919CLASS="CALSTABLE"
2920><TBODY
2921><TR
2922><TD
2923WIDTH="20%"
2924ALIGN="RIGHT"
2925VALIGN="TOP"
2926><TT
2927CLASS="PARAMETER"
2928><I
2929>utf</I
2930></TT
2931>&nbsp;:</TD
2932><TD
2933WIDTH="80%"
2934ALIGN="LEFT"
2935VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002936> the input UTF8 *</TD
Daniel Veillard4ec885a2001-06-17 10:31:07 +00002937></TR
2938><TR
2939><TD
2940WIDTH="20%"
2941ALIGN="RIGHT"
2942VALIGN="TOP"
2943><TT
2944CLASS="PARAMETER"
2945><I
2946>len</I
2947></TT
2948>&nbsp;:</TD
2949><TD
2950WIDTH="80%"
2951ALIGN="LEFT"
2952VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002953> the len of <TT
2954CLASS="PARAMETER"
2955><I
2956>utf</I
2957></TT
2958> (in chars)</TD
Daniel Veillard4ec885a2001-06-17 10:31:07 +00002959></TR
2960><TR
2961><TD
2962WIDTH="20%"
2963ALIGN="RIGHT"
2964VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00002965><SPAN
2966CLASS="emphasis"
Daniel Veillard4ec885a2001-06-17 10:31:07 +00002967><I
2968CLASS="EMPHASIS"
2969>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00002970></SPAN
Daniel Veillard4ec885a2001-06-17 10:31:07 +00002971> :</TD
2972><TD
2973WIDTH="80%"
2974ALIGN="LEFT"
2975VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002976>a new UTF8 * or NULL</TD
Daniel Veillard4ec885a2001-06-17 10:31:07 +00002977></TR
2978></TBODY
2979></TABLE
2980><P
2981></P
2982></DIV
2983></DIV
2984><HR><DIV
2985CLASS="REFSECT2"
2986><A
Daniel Veillard48267432002-10-18 11:21:38 +00002987NAME="AEN25403"
Daniel Veillard4ec885a2001-06-17 10:31:07 +00002988></A
2989><H3
2990><A
2991NAME="XMLUTF8STRPOS"
2992></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00002993>xmlUTF8Strpos ()</H3
Daniel Veillard4ec885a2001-06-17 10:31:07 +00002994><TABLE
2995BORDER="0"
2996BGCOLOR="#D6E8FF"
2997WIDTH="100%"
2998CELLPADDING="6"
2999><TR
3000><TD
3001><PRE
3002CLASS="PROGRAMLISTING"
3003><A
3004HREF="libxml-tree.html#XMLCHAR"
3005>xmlChar</A
3006>* xmlUTF8Strpos (const <A
3007HREF="libxml-tree.html#XMLCHAR"
3008>xmlChar</A
3009> *utf,
3010 int pos);</PRE
3011></TD
3012></TR
3013></TABLE
3014><P
3015>a function to provide the equivalent of fetching a
3016character from a string array</P
3017><P
3018></P
3019><DIV
3020CLASS="INFORMALTABLE"
3021><A
Daniel Veillard48267432002-10-18 11:21:38 +00003022NAME="AEN25411"><P
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003023></P
3024><TABLE
3025BORDER="0"
3026WIDTH="100%"
3027BGCOLOR="#FFD0D0"
3028CELLSPACING="0"
3029CELLPADDING="4"
3030CLASS="CALSTABLE"
3031><TBODY
3032><TR
3033><TD
3034WIDTH="20%"
3035ALIGN="RIGHT"
3036VALIGN="TOP"
3037><TT
3038CLASS="PARAMETER"
3039><I
3040>utf</I
3041></TT
3042>&nbsp;:</TD
3043><TD
3044WIDTH="80%"
3045ALIGN="LEFT"
3046VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00003047> the input UTF8 *</TD
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003048></TR
3049><TR
3050><TD
3051WIDTH="20%"
3052ALIGN="RIGHT"
3053VALIGN="TOP"
3054><TT
3055CLASS="PARAMETER"
3056><I
3057>pos</I
3058></TT
3059>&nbsp;:</TD
3060><TD
3061WIDTH="80%"
3062ALIGN="LEFT"
3063VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00003064> the position of the desired UTF8 char (in chars)</TD
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003065></TR
3066><TR
3067><TD
3068WIDTH="20%"
3069ALIGN="RIGHT"
3070VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00003071><SPAN
3072CLASS="emphasis"
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003073><I
3074CLASS="EMPHASIS"
3075>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00003076></SPAN
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003077> :</TD
3078><TD
3079WIDTH="80%"
3080ALIGN="LEFT"
3081VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00003082>a pointer to the UTF8 character or NULL</TD
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003083></TR
3084></TBODY
3085></TABLE
3086><P
3087></P
3088></DIV
3089></DIV
3090><HR><DIV
3091CLASS="REFSECT2"
3092><A
Daniel Veillard48267432002-10-18 11:21:38 +00003093NAME="AEN25428"
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003094></A
3095><H3
3096><A
3097NAME="XMLUTF8STRLOC"
3098></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00003099>xmlUTF8Strloc ()</H3
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003100><TABLE
3101BORDER="0"
3102BGCOLOR="#D6E8FF"
3103WIDTH="100%"
3104CELLPADDING="6"
3105><TR
3106><TD
3107><PRE
3108CLASS="PROGRAMLISTING"
3109>int xmlUTF8Strloc (const <A
3110HREF="libxml-tree.html#XMLCHAR"
3111>xmlChar</A
3112> *utf,
3113 const <A
3114HREF="libxml-tree.html#XMLCHAR"
3115>xmlChar</A
3116> *utfchar);</PRE
3117></TD
3118></TR
3119></TABLE
3120><P
3121>a function to provide relative location of a UTF8 char</P
3122><P
3123></P
3124><DIV
3125CLASS="INFORMALTABLE"
3126><A
Daniel Veillard48267432002-10-18 11:21:38 +00003127NAME="AEN25436"><P
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003128></P
3129><TABLE
3130BORDER="0"
3131WIDTH="100%"
3132BGCOLOR="#FFD0D0"
3133CELLSPACING="0"
3134CELLPADDING="4"
3135CLASS="CALSTABLE"
3136><TBODY
3137><TR
3138><TD
3139WIDTH="20%"
3140ALIGN="RIGHT"
3141VALIGN="TOP"
3142><TT
3143CLASS="PARAMETER"
3144><I
3145>utf</I
3146></TT
3147>&nbsp;:</TD
3148><TD
3149WIDTH="80%"
3150ALIGN="LEFT"
3151VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00003152> the input UTF8 *</TD
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003153></TR
3154><TR
3155><TD
3156WIDTH="20%"
3157ALIGN="RIGHT"
3158VALIGN="TOP"
3159><TT
3160CLASS="PARAMETER"
3161><I
3162>utfchar</I
3163></TT
3164>&nbsp;:</TD
3165><TD
3166WIDTH="80%"
3167ALIGN="LEFT"
3168VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00003169> the UTF8 character to be found</TD
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003170></TR
3171><TR
3172><TD
3173WIDTH="20%"
3174ALIGN="RIGHT"
3175VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00003176><SPAN
3177CLASS="emphasis"
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003178><I
3179CLASS="EMPHASIS"
3180>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00003181></SPAN
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003182> :</TD
3183><TD
3184WIDTH="80%"
3185ALIGN="LEFT"
3186VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00003187>the relative character position of the desired char
3188or -1 if not found</TD
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003189></TR
3190></TBODY
3191></TABLE
3192><P
3193></P
3194></DIV
3195></DIV
3196><HR><DIV
3197CLASS="REFSECT2"
3198><A
Daniel Veillard48267432002-10-18 11:21:38 +00003199NAME="AEN25453"
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003200></A
3201><H3
3202><A
3203NAME="XMLUTF8STRSUB"
3204></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00003205>xmlUTF8Strsub ()</H3
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003206><TABLE
3207BORDER="0"
3208BGCOLOR="#D6E8FF"
3209WIDTH="100%"
3210CELLPADDING="6"
3211><TR
3212><TD
3213><PRE
3214CLASS="PROGRAMLISTING"
3215><A
3216HREF="libxml-tree.html#XMLCHAR"
3217>xmlChar</A
3218>* xmlUTF8Strsub (const <A
3219HREF="libxml-tree.html#XMLCHAR"
3220>xmlChar</A
3221> *utf,
3222 int start,
3223 int len);</PRE
3224></TD
3225></TR
3226></TABLE
3227><P
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003228>Note: positions are given in units of UTF-8 chars</P
3229><P
3230></P
3231><DIV
3232CLASS="INFORMALTABLE"
3233><A
Daniel Veillard48267432002-10-18 11:21:38 +00003234NAME="AEN25461"><P
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003235></P
3236><TABLE
3237BORDER="0"
3238WIDTH="100%"
3239BGCOLOR="#FFD0D0"
3240CELLSPACING="0"
3241CELLPADDING="4"
3242CLASS="CALSTABLE"
3243><TBODY
3244><TR
3245><TD
3246WIDTH="20%"
3247ALIGN="RIGHT"
3248VALIGN="TOP"
3249><TT
3250CLASS="PARAMETER"
3251><I
3252>utf</I
3253></TT
3254>&nbsp;:</TD
3255><TD
3256WIDTH="80%"
3257ALIGN="LEFT"
3258VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00003259> a sequence of UTF-8 encoded bytes</TD
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003260></TR
3261><TR
3262><TD
3263WIDTH="20%"
3264ALIGN="RIGHT"
3265VALIGN="TOP"
3266><TT
3267CLASS="PARAMETER"
3268><I
3269>start</I
3270></TT
3271>&nbsp;:</TD
3272><TD
3273WIDTH="80%"
3274ALIGN="LEFT"
3275VALIGN="TOP"
Daniel Veillardf012a642001-07-23 19:10:52 +00003276> relative pos of first char</TD
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003277></TR
3278><TR
3279><TD
3280WIDTH="20%"
3281ALIGN="RIGHT"
3282VALIGN="TOP"
3283><TT
3284CLASS="PARAMETER"
3285><I
3286>len</I
3287></TT
3288>&nbsp;:</TD
3289><TD
3290WIDTH="80%"
3291ALIGN="LEFT"
3292VALIGN="TOP"
Daniel Veillardf012a642001-07-23 19:10:52 +00003293> total number to copy</TD
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003294></TR
3295><TR
3296><TD
3297WIDTH="20%"
3298ALIGN="RIGHT"
3299VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00003300><SPAN
3301CLASS="emphasis"
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003302><I
3303CLASS="EMPHASIS"
3304>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00003305></SPAN
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003306> :</TD
3307><TD
3308WIDTH="80%"
3309ALIGN="LEFT"
3310VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00003311>a pointer to a newly created string
3312or NULL if any problem</TD
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003313></TR
3314></TBODY
3315></TABLE
3316><P
3317></P
3318></DIV
3319></DIV
3320><HR><DIV
3321CLASS="REFSECT2"
3322><A
Daniel Veillard48267432002-10-18 11:21:38 +00003323NAME="AEN25482"
Daniel Veillarda41123c2001-04-22 19:31:20 +00003324></A
3325><H3
3326><A
3327NAME="XMLUTF8STRLEN"
3328></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00003329>xmlUTF8Strlen ()</H3
Daniel Veillarda41123c2001-04-22 19:31:20 +00003330><TABLE
3331BORDER="0"
3332BGCOLOR="#D6E8FF"
3333WIDTH="100%"
3334CELLPADDING="6"
3335><TR
3336><TD
3337><PRE
3338CLASS="PROGRAMLISTING"
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003339>int xmlUTF8Strlen (const <A
3340HREF="libxml-tree.html#XMLCHAR"
3341>xmlChar</A
3342> *utf);</PRE
Daniel Veillarda41123c2001-04-22 19:31:20 +00003343></TD
3344></TR
3345></TABLE
3346><P
Daniel Veillard60087f32001-10-10 09:45:09 +00003347>compute the length of an UTF8 string, it doesn't do a full UTF8
Daniel Veillarda41123c2001-04-22 19:31:20 +00003348checking of the content of the string.</P
3349><P
3350></P
3351><DIV
3352CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00003353><A
Daniel Veillard48267432002-10-18 11:21:38 +00003354NAME="AEN25489"><P
Daniel Veillarda41123c2001-04-22 19:31:20 +00003355></P
3356><TABLE
3357BORDER="0"
3358WIDTH="100%"
3359BGCOLOR="#FFD0D0"
3360CELLSPACING="0"
3361CELLPADDING="4"
3362CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00003363><TBODY
Daniel Veillarda41123c2001-04-22 19:31:20 +00003364><TR
3365><TD
3366WIDTH="20%"
3367ALIGN="RIGHT"
3368VALIGN="TOP"
3369><TT
3370CLASS="PARAMETER"
3371><I
3372>utf</I
3373></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00003374>&nbsp;:</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00003375><TD
3376WIDTH="80%"
3377ALIGN="LEFT"
3378VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00003379> a sequence of UTF-8 encoded bytes</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00003380></TR
3381><TR
3382><TD
3383WIDTH="20%"
3384ALIGN="RIGHT"
3385VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00003386><SPAN
3387CLASS="emphasis"
Daniel Veillarda41123c2001-04-22 19:31:20 +00003388><I
3389CLASS="EMPHASIS"
3390>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00003391></SPAN
Daniel Veillarda41123c2001-04-22 19:31:20 +00003392> :</TD
3393><TD
3394WIDTH="80%"
3395ALIGN="LEFT"
3396VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00003397>the number of characters in the string or -1 in case of error</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00003398></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +00003399></TBODY
Daniel Veillarda41123c2001-04-22 19:31:20 +00003400></TABLE
3401><P
3402></P
3403></DIV
3404></DIV
Daniel Veillardaeea04f2000-01-25 19:27:27 +00003405></DIV
3406><DIV
3407CLASS="NAVFOOTER"
3408><BR
3409CLEAR="all"><BR><TABLE
3410WIDTH="100%"
3411BORDER="0"
3412BGCOLOR="#000000"
3413CELLPADDING="1"
3414CELLSPACING="0"
3415><TR
3416><TD
3417WIDTH="25%"
3418BGCOLOR="#C00000"
3419ALIGN="left"
3420><A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +00003421HREF="libxml-parserinternals.html"
Daniel Veillardaeea04f2000-01-25 19:27:27 +00003422><FONT
3423COLOR="#FFFFFF"
3424SIZE="3"
3425><B
3426>&#60;&#60;&#60; Previous Page</B
3427></FONT
3428></A
3429></TD
3430><TD
3431WIDTH="25%"
3432BGCOLOR="#0000C0"
3433ALIGN="center"
3434><FONT
3435COLOR="#FFFFFF"
3436SIZE="3"
3437><B
3438><A
3439HREF="book1.html"
3440><FONT
3441COLOR="#FFFFFF"
3442SIZE="3"
3443><B
3444>Home</B
3445></FONT
3446></A
3447></B
3448></FONT
3449></TD
3450><TD
3451WIDTH="25%"
3452BGCOLOR="#00C000"
3453ALIGN="center"
3454><FONT
3455COLOR="#FFFFFF"
3456SIZE="3"
3457><B
3458><A
3459HREF="libxml-lib.html"
3460><FONT
3461COLOR="#FFFFFF"
3462SIZE="3"
3463><B
3464>Up</B
3465></FONT
3466></A
3467></B
3468></FONT
3469></TD
3470><TD
3471WIDTH="25%"
3472BGCOLOR="#C00000"
3473ALIGN="right"
3474><A
Daniel Veillard52dcab32001-10-30 12:51:17 +00003475HREF="libxml-hash.html"
Daniel Veillardaeea04f2000-01-25 19:27:27 +00003476><FONT
3477COLOR="#FFFFFF"
3478SIZE="3"
3479><B
3480>Next Page &#62;&#62;&#62;</B
3481></FONT
3482></A
3483></TD
3484></TR
3485><TR
3486><TD
3487COLSPAN="2"
3488ALIGN="left"
3489><FONT
3490COLOR="#FFFFFF"
3491SIZE="3"
3492><B
3493>parserInternals</B
3494></FONT
3495></TD
3496><TD
3497COLSPAN="2"
3498ALIGN="right"
3499><FONT
3500COLOR="#FFFFFF"
3501SIZE="3"
3502><B
Daniel Veillard52dcab32001-10-30 12:51:17 +00003503>hash</B
Daniel Veillardaeea04f2000-01-25 19:27:27 +00003504></FONT
3505></TD
3506></TR
3507></TABLE
3508></DIV
3509></BODY
3510></HTML
3511>