blob: 24f64a78894cf06b5265f56ac358a6295b209137 [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 Veillardaec63562003-03-23 20:42:17 +0000120NAME="LIBXML-ENCODING"
121></A
122>encoding</H1
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000123><DIV
124CLASS="REFNAMEDIV"
125><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000126NAME="AEN26832"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000127></A
128><H2
129>Name</H2
Daniel Veillard503b8932001-01-05 06:36:31 +0000130>encoding&nbsp;--&nbsp;</DIV
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000131><DIV
132CLASS="REFSYNOPSISDIV"
133><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000134NAME="AEN26835"
135></A
136><H2
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000137>Synopsis</H2
138><TABLE
139BORDER="0"
140BGCOLOR="#D6E8FF"
141WIDTH="100%"
142CELLPADDING="6"
143><TR
144><TD
145><PRE
146CLASS="SYNOPSIS"
147>&#13;
148
149enum <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000150HREF="libxml-encoding.html#XMLCHARENCODING"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000151>xmlCharEncoding</A
152>;
153int (<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000154HREF="libxml-encoding.html#XMLCHARENCODINGINPUTFUNC"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000155>*xmlCharEncodingInputFunc</A
156>) (unsigned char *out,
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000157 int *outlen,
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000158 unsigned char *in,
Daniel Veillardedfb29b2000-03-14 19:59:05 +0000159 int *inlen);
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000160int (<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000161HREF="libxml-encoding.html#XMLCHARENCODINGOUTPUTFUNC"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000162>*xmlCharEncodingOutputFunc</A
163>) (unsigned char *out,
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000164 int *outlen,
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000165 unsigned char *in,
Daniel Veillardedfb29b2000-03-14 19:59:05 +0000166 int *inlen);
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000167struct <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000168HREF="libxml-encoding.html#XMLCHARENCODINGHANDLER"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000169>xmlCharEncodingHandler</A
170>;
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000171typedef <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000172HREF="libxml-encoding.html#XMLCHARENCODINGHANDLERPTR"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000173>xmlCharEncodingHandlerPtr</A
174>;
175void <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000176HREF="libxml-encoding.html#XMLINITCHARENCODINGHANDLERS"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000177>xmlInitCharEncodingHandlers</A
178> (void);
179void <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000180HREF="libxml-encoding.html#XMLCLEANUPCHARENCODINGHANDLERS"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000181>xmlCleanupCharEncodingHandlers</A
182> (void);
183void <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000184HREF="libxml-encoding.html#XMLREGISTERCHARENCODINGHANDLER"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000185>xmlRegisterCharEncodingHandler</A
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> handler);
190<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000191HREF="libxml-encoding.html#XMLCHARENCODINGHANDLERPTR"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000192>xmlCharEncodingHandlerPtr</A
193> <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000194HREF="libxml-encoding.html#XMLGETCHARENCODINGHANDLER"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000195>xmlGetCharEncodingHandler</A
196>
197 (<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000198HREF="libxml-encoding.html#XMLCHARENCODING"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000199>xmlCharEncoding</A
200> enc);
201<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000202HREF="libxml-encoding.html#XMLCHARENCODINGHANDLERPTR"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000203>xmlCharEncodingHandlerPtr</A
204> <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000205HREF="libxml-encoding.html#XMLFINDCHARENCODINGHANDLER"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000206>xmlFindCharEncodingHandler</A
207>
Daniel Veillardedfb29b2000-03-14 19:59:05 +0000208 (const char *name);
Daniel Veillard2ace1952002-09-26 12:28:02 +0000209<A
210HREF="libxml-encoding.html#XMLCHARENCODINGHANDLERPTR"
211>xmlCharEncodingHandlerPtr</A
212> <A
213HREF="libxml-encoding.html#XMLNEWCHARENCODINGHANDLER"
214>xmlNewCharEncodingHandler</A
215>
216 (const char *name,
217 <A
218HREF="libxml-encoding.html#XMLCHARENCODINGINPUTFUNC"
219>xmlCharEncodingInputFunc</A
220> input,
221 <A
222HREF="libxml-encoding.html#XMLCHARENCODINGOUTPUTFUNC"
223>xmlCharEncodingOutputFunc</A
224> output);
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000225int <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000226HREF="libxml-encoding.html#XMLADDENCODINGALIAS"
Daniel Veillard3bff2b02000-10-01 20:33:47 +0000227>xmlAddEncodingAlias</A
228> (const char *name,
229 const char *alias);
230int <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000231HREF="libxml-encoding.html#XMLDELENCODINGALIAS"
Daniel Veillard3bff2b02000-10-01 20:33:47 +0000232>xmlDelEncodingAlias</A
233> (const char *alias);
234const char* <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000235HREF="libxml-encoding.html#XMLGETENCODINGALIAS"
Daniel Veillard3bff2b02000-10-01 20:33:47 +0000236>xmlGetEncodingAlias</A
237> (const char *alias);
238void <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000239HREF="libxml-encoding.html#XMLCLEANUPENCODINGALIASES"
Daniel Veillard3bff2b02000-10-01 20:33:47 +0000240>xmlCleanupEncodingAliases</A
241> (void);
242<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000243HREF="libxml-encoding.html#XMLCHARENCODING"
Daniel Veillard3bff2b02000-10-01 20:33:47 +0000244>xmlCharEncoding</A
245> <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000246HREF="libxml-encoding.html#XMLPARSECHARENCODING"
Daniel Veillard3bff2b02000-10-01 20:33:47 +0000247>xmlParseCharEncoding</A
248> (const char *name);
249const char* <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000250HREF="libxml-encoding.html#XMLGETCHARENCODINGNAME"
Daniel Veillard3bff2b02000-10-01 20:33:47 +0000251>xmlGetCharEncodingName</A
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> enc);
256<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000257HREF="libxml-encoding.html#XMLCHARENCODING"
Daniel Veillard3bff2b02000-10-01 20:33:47 +0000258>xmlCharEncoding</A
259> <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000260HREF="libxml-encoding.html#XMLDETECTCHARENCODING"
Daniel Veillard3bff2b02000-10-01 20:33:47 +0000261>xmlDetectCharEncoding</A
262> (unsigned char *in,
263 int len);
264int <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000265HREF="libxml-encoding.html#XMLCHARENCOUTFUNC"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000266>xmlCharEncOutFunc</A
267> (<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000268HREF="libxml-encoding.html#XMLCHARENCODINGHANDLER"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000269>xmlCharEncodingHandler</A
270> *handler,
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> out,
275 <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000276HREF="libxml-tree.html#XMLBUFFERPTR"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000277>xmlBufferPtr</A
278> in);
279int <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000280HREF="libxml-encoding.html#XMLCHARENCINFUNC"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000281>xmlCharEncInFunc</A
282> (<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000283HREF="libxml-encoding.html#XMLCHARENCODINGHANDLER"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000284>xmlCharEncodingHandler</A
285> *handler,
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> out,
290 <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000291HREF="libxml-tree.html#XMLBUFFERPTR"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000292>xmlBufferPtr</A
293> in);
294int <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000295HREF="libxml-encoding.html#XMLCHARENCFIRSTLINE"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000296>xmlCharEncFirstLine</A
297> (<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000298HREF="libxml-encoding.html#XMLCHARENCODINGHANDLER"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000299>xmlCharEncodingHandler</A
300> *handler,
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> out,
305 <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000306HREF="libxml-tree.html#XMLBUFFERPTR"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000307>xmlBufferPtr</A
308> in);
309int <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000310HREF="libxml-encoding.html#XMLCHARENCCLOSEFUNC"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000311>xmlCharEncCloseFunc</A
312> (<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000313HREF="libxml-encoding.html#XMLCHARENCODINGHANDLER"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000314>xmlCharEncodingHandler</A
Daniel Veillarda41123c2001-04-22 19:31:20 +0000315> *handler);
316int <A
317HREF="libxml-encoding.html#UTF8TOISOLAT1"
318>UTF8Toisolat1</A
319> (unsigned char *out,
320 int *outlen,
321 unsigned char *in,
322 int *inlen);
323int <A
324HREF="libxml-encoding.html#ISOLAT1TOUTF8"
325>isolat1ToUTF8</A
326> (unsigned char *out,
327 int *outlen,
328 unsigned char *in,
329 int *inlen);
330int <A
Daniel Veillardaec63562003-03-23 20:42:17 +0000331HREF="libxml-encoding.html#XMLGETUTF8CHAR"
332>xmlGetUTF8Char</A
333> (unsigned char *utf,
334 int *len);
335int <A
Daniel Veillarda41123c2001-04-22 19:31:20 +0000336HREF="libxml-encoding.html#XMLCHECKUTF8"
337>xmlCheckUTF8</A
338> (unsigned char *utf);
339int <A
Daniel Veillard4ec885a2001-06-17 10:31:07 +0000340HREF="libxml-encoding.html#XMLUTF8STRSIZE"
341>xmlUTF8Strsize</A
342> (const <A
343HREF="libxml-tree.html#XMLCHAR"
344>xmlChar</A
345> *utf,
346 int len);
347<A
348HREF="libxml-tree.html#XMLCHAR"
349>xmlChar</A
350>* <A
351HREF="libxml-encoding.html#XMLUTF8STRNDUP"
352>xmlUTF8Strndup</A
353> (const <A
354HREF="libxml-tree.html#XMLCHAR"
355>xmlChar</A
356> *utf,
357 int len);
358<A
359HREF="libxml-tree.html#XMLCHAR"
360>xmlChar</A
361>* <A
362HREF="libxml-encoding.html#XMLUTF8STRPOS"
363>xmlUTF8Strpos</A
364> (const <A
365HREF="libxml-tree.html#XMLCHAR"
366>xmlChar</A
367> *utf,
368 int pos);
369int <A
370HREF="libxml-encoding.html#XMLUTF8STRLOC"
371>xmlUTF8Strloc</A
372> (const <A
373HREF="libxml-tree.html#XMLCHAR"
374>xmlChar</A
375> *utf,
376 const <A
377HREF="libxml-tree.html#XMLCHAR"
378>xmlChar</A
379> *utfchar);
380<A
381HREF="libxml-tree.html#XMLCHAR"
382>xmlChar</A
383>* <A
384HREF="libxml-encoding.html#XMLUTF8STRSUB"
385>xmlUTF8Strsub</A
386> (const <A
387HREF="libxml-tree.html#XMLCHAR"
388>xmlChar</A
389> *utf,
390 int start,
391 int len);
392int <A
Daniel Veillarda41123c2001-04-22 19:31:20 +0000393HREF="libxml-encoding.html#XMLUTF8STRLEN"
394>xmlUTF8Strlen</A
Daniel Veillard4ec885a2001-06-17 10:31:07 +0000395> (const <A
396HREF="libxml-tree.html#XMLCHAR"
397>xmlChar</A
398> *utf);</PRE
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000399></TD
400></TR
401></TABLE
402></DIV
403><DIV
404CLASS="REFSECT1"
405><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000406NAME="AEN26900"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000407></A
408><H2
409>Description</H2
410><P
411></P
412></DIV
413><DIV
414CLASS="REFSECT1"
415><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000416NAME="AEN26903"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000417></A
418><H2
419>Details</H2
420><DIV
421CLASS="REFSECT2"
422><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000423NAME="AEN26905"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000424></A
425><H3
426><A
427NAME="XMLCHARENCODING"
428></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000429>enum xmlCharEncoding</H3
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000430><TABLE
431BORDER="0"
432BGCOLOR="#D6E8FF"
433WIDTH="100%"
434CELLPADDING="6"
435><TR
436><TD
437><PRE
438CLASS="PROGRAMLISTING"
439>typedef enum {
440 XML_CHAR_ENCODING_ERROR= -1, /* No char encoding detected */
441 XML_CHAR_ENCODING_NONE= 0, /* No char encoding detected */
442 XML_CHAR_ENCODING_UTF8= 1, /* UTF-8 */
443 XML_CHAR_ENCODING_UTF16LE= 2, /* UTF-16 little endian */
444 XML_CHAR_ENCODING_UTF16BE= 3, /* UTF-16 big endian */
445 XML_CHAR_ENCODING_UCS4LE= 4, /* UCS-4 little endian */
446 XML_CHAR_ENCODING_UCS4BE= 5, /* UCS-4 big endian */
447 XML_CHAR_ENCODING_EBCDIC= 6, /* EBCDIC uh! */
448 XML_CHAR_ENCODING_UCS4_2143=7, /* UCS-4 unusual ordering */
449 XML_CHAR_ENCODING_UCS4_3412=8, /* UCS-4 unusual ordering */
450 XML_CHAR_ENCODING_UCS2= 9, /* UCS-2 */
451 XML_CHAR_ENCODING_8859_1= 10,/* ISO-8859-1 ISO Latin 1 */
452 XML_CHAR_ENCODING_8859_2= 11,/* ISO-8859-2 ISO Latin 2 */
453 XML_CHAR_ENCODING_8859_3= 12,/* ISO-8859-3 */
454 XML_CHAR_ENCODING_8859_4= 13,/* ISO-8859-4 */
455 XML_CHAR_ENCODING_8859_5= 14,/* ISO-8859-5 */
456 XML_CHAR_ENCODING_8859_6= 15,/* ISO-8859-6 */
457 XML_CHAR_ENCODING_8859_7= 16,/* ISO-8859-7 */
458 XML_CHAR_ENCODING_8859_8= 17,/* ISO-8859-8 */
459 XML_CHAR_ENCODING_8859_9= 18,/* ISO-8859-9 */
460 XML_CHAR_ENCODING_2022_JP= 19,/* ISO-2022-JP */
461 XML_CHAR_ENCODING_SHIFT_JIS=20,/* Shift_JIS */
Daniel Veillarde46e20d2000-07-14 15:02:46 +0000462 XML_CHAR_ENCODING_EUC_JP= 21,/* EUC-JP */
463 XML_CHAR_ENCODING_ASCII= 22 /* pure ASCII */
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000464} xmlCharEncoding;</PRE
465></TD
466></TR
467></TABLE
468><P
Daniel Veillard19274092002-03-25 16:48:03 +0000469>Predefined values for some standard encodings.
470Libxml don't do beforehand translation on UTF8, ISOLatinX.
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000471It also support UTF16 (LE and BE) by default.</P
472><P
473>Anything else would have to be translated to UTF8 before being
474given to the parser itself. The BOM for UTF16 and the encoding
475declaration are looked at and a converter is looked for at that
476point. If not found the parser stops here as asked by the XML REC
477Converter can be registered by the user using xmlRegisterCharEncodingHandler
Daniel Veillardcbaf3992001-12-31 16:16:02 +0000478but the current form doesn't allow stateful transcoding (a serious
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000479problem agreed !). If iconv has been found it will be used
480automatically and allow stateful transcoding, the simplest is then
481to be sure to enable icon and to provide iconv libs for the encoding
482support needed.</P
483><P
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000484></P
485></DIV
486><HR><DIV
487CLASS="REFSECT2"
488><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000489NAME="AEN26912"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000490></A
491><H3
492><A
493NAME="XMLCHARENCODINGINPUTFUNC"
494></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000495>xmlCharEncodingInputFunc ()</H3
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000496><TABLE
497BORDER="0"
498BGCOLOR="#D6E8FF"
499WIDTH="100%"
500CELLPADDING="6"
501><TR
502><TD
503><PRE
504CLASS="PROGRAMLISTING"
505>int (*xmlCharEncodingInputFunc) (unsigned char *out,
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000506 int *outlen,
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000507 unsigned char *in,
Daniel Veillardedfb29b2000-03-14 19:59:05 +0000508 int *inlen);</PRE
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000509></TD
510></TR
511></TABLE
512><P
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000513>Take a block of chars in the original encoding and try to convert
514it to an UTF-8 block of chars out.</P
515><P
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000516></P
517><DIV
518CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +0000519><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000520NAME="AEN26918"
521></A
522><P
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000523></P
524><TABLE
525BORDER="0"
526WIDTH="100%"
527BGCOLOR="#FFD0D0"
528CELLSPACING="0"
529CELLPADDING="4"
530CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +0000531><TBODY
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000532><TR
533><TD
534WIDTH="20%"
535ALIGN="RIGHT"
536VALIGN="TOP"
537><TT
538CLASS="PARAMETER"
539><I
540>out</I
541></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +0000542>&nbsp;:</TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000543><TD
544WIDTH="80%"
545ALIGN="LEFT"
546VALIGN="TOP"
Daniel Veillardcbaf3992001-12-31 16:16:02 +0000547> a pointer to an array of bytes to store the UTF-8 result</TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000548></TR
549><TR
550><TD
551WIDTH="20%"
552ALIGN="RIGHT"
553VALIGN="TOP"
554><TT
555CLASS="PARAMETER"
556><I
557>outlen</I
558></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +0000559>&nbsp;:</TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000560><TD
561WIDTH="80%"
562ALIGN="LEFT"
563VALIGN="TOP"
Daniel Veillard60087f32001-10-10 09:45:09 +0000564> the length of <TT
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000565CLASS="PARAMETER"
566><I
567>out</I
568></TT
569></TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000570></TR
571><TR
572><TD
573WIDTH="20%"
574ALIGN="RIGHT"
575VALIGN="TOP"
576><TT
577CLASS="PARAMETER"
578><I
579>in</I
580></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +0000581>&nbsp;:</TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000582><TD
583WIDTH="80%"
584ALIGN="LEFT"
585VALIGN="TOP"
Daniel Veillardcbaf3992001-12-31 16:16:02 +0000586> a pointer to an array of chars in the original encoding</TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000587></TR
588><TR
589><TD
590WIDTH="20%"
591ALIGN="RIGHT"
592VALIGN="TOP"
593><TT
594CLASS="PARAMETER"
595><I
596>inlen</I
597></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +0000598>&nbsp;:</TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000599><TD
600WIDTH="80%"
601ALIGN="LEFT"
602VALIGN="TOP"
Daniel Veillard60087f32001-10-10 09:45:09 +0000603> the length of <TT
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000604CLASS="PARAMETER"
605><I
606>in</I
607></TT
608></TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000609></TR
610><TR
611><TD
612WIDTH="20%"
613ALIGN="RIGHT"
614VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +0000615><SPAN
616CLASS="emphasis"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000617><I
618CLASS="EMPHASIS"
619>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +0000620></SPAN
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000621> :</TD
622><TD
623WIDTH="80%"
624ALIGN="LEFT"
625VALIGN="TOP"
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000626>the number of byte written, or -1 by lack of space, or -2
Daniel Veillardaec63562003-03-23 20:42:17 +0000627 if the transcoding failed.
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000628The value of <TT
629CLASS="PARAMETER"
630><I
631>inlen</I
632></TT
633> after return is the number of octets consumed
Daniel Veillardaec63562003-03-23 20:42:17 +0000634 as the return value is positive, else unpredictiable.
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000635The value of <TT
636CLASS="PARAMETER"
637><I
638>outlen</I
639></TT
Daniel Veillardcbaf3992001-12-31 16:16:02 +0000640> after return is the number of octets consumed.</TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000641></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +0000642></TBODY
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000643></TABLE
644><P
645></P
646></DIV
647></DIV
648><HR><DIV
649CLASS="REFSECT2"
650><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000651NAME="AEN26947"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000652></A
653><H3
654><A
655NAME="XMLCHARENCODINGOUTPUTFUNC"
656></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000657>xmlCharEncodingOutputFunc ()</H3
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000658><TABLE
659BORDER="0"
660BGCOLOR="#D6E8FF"
661WIDTH="100%"
662CELLPADDING="6"
663><TR
664><TD
665><PRE
666CLASS="PROGRAMLISTING"
667>int (*xmlCharEncodingOutputFunc) (unsigned char *out,
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000668 int *outlen,
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000669 unsigned char *in,
Daniel Veillardedfb29b2000-03-14 19:59:05 +0000670 int *inlen);</PRE
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000671></TD
672></TR
673></TABLE
674><P
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000675>Take a block of UTF-8 chars in and try to convert it to an other
676encoding.
677Note: a first call designed to produce heading info is called with
Daniel Veillard19274092002-03-25 16:48:03 +0000678in = NULL. If stateful this should also initialize the encoder state.</P
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000679><P
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000680></P
681><DIV
682CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +0000683><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000684NAME="AEN26953"
685></A
686><P
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000687></P
688><TABLE
689BORDER="0"
690WIDTH="100%"
691BGCOLOR="#FFD0D0"
692CELLSPACING="0"
693CELLPADDING="4"
694CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +0000695><TBODY
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000696><TR
697><TD
698WIDTH="20%"
699ALIGN="RIGHT"
700VALIGN="TOP"
701><TT
702CLASS="PARAMETER"
703><I
704>out</I
705></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +0000706>&nbsp;:</TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000707><TD
708WIDTH="80%"
709ALIGN="LEFT"
710VALIGN="TOP"
Daniel Veillardcbaf3992001-12-31 16:16:02 +0000711> a pointer to an array of bytes to store the result</TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000712></TR
713><TR
714><TD
715WIDTH="20%"
716ALIGN="RIGHT"
717VALIGN="TOP"
718><TT
719CLASS="PARAMETER"
720><I
721>outlen</I
722></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +0000723>&nbsp;:</TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000724><TD
725WIDTH="80%"
726ALIGN="LEFT"
727VALIGN="TOP"
Daniel Veillard60087f32001-10-10 09:45:09 +0000728> the length of <TT
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000729CLASS="PARAMETER"
730><I
731>out</I
732></TT
733></TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000734></TR
735><TR
736><TD
737WIDTH="20%"
738ALIGN="RIGHT"
739VALIGN="TOP"
740><TT
741CLASS="PARAMETER"
742><I
743>in</I
744></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +0000745>&nbsp;:</TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000746><TD
747WIDTH="80%"
748ALIGN="LEFT"
749VALIGN="TOP"
Daniel Veillardcbaf3992001-12-31 16:16:02 +0000750> a pointer to an array of UTF-8 chars</TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000751></TR
752><TR
753><TD
754WIDTH="20%"
755ALIGN="RIGHT"
756VALIGN="TOP"
757><TT
758CLASS="PARAMETER"
759><I
760>inlen</I
761></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +0000762>&nbsp;:</TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000763><TD
764WIDTH="80%"
765ALIGN="LEFT"
766VALIGN="TOP"
Daniel Veillard60087f32001-10-10 09:45:09 +0000767> the length of <TT
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000768CLASS="PARAMETER"
769><I
770>in</I
771></TT
772></TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000773></TR
774><TR
775><TD
776WIDTH="20%"
777ALIGN="RIGHT"
778VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +0000779><SPAN
780CLASS="emphasis"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000781><I
782CLASS="EMPHASIS"
783>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +0000784></SPAN
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000785> :</TD
786><TD
787WIDTH="80%"
788ALIGN="LEFT"
789VALIGN="TOP"
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000790>the number of byte written, or -1 by lack of space, or -2
Daniel Veillardaec63562003-03-23 20:42:17 +0000791 if the transcoding failed.
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000792The value of <TT
793CLASS="PARAMETER"
794><I
795>inlen</I
796></TT
797> after return is the number of octets consumed
Daniel Veillardaec63562003-03-23 20:42:17 +0000798 as the return value is positive, else unpredictiable.
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000799The value of <TT
800CLASS="PARAMETER"
801><I
802>outlen</I
803></TT
804> after return is the number of ocetes consumed.</TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000805></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +0000806></TBODY
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000807></TABLE
808><P
809></P
810></DIV
811></DIV
812><HR><DIV
813CLASS="REFSECT2"
814><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000815NAME="AEN26982"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000816></A
817><H3
818><A
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000819NAME="XMLCHARENCODINGHANDLER"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000820></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000821>struct xmlCharEncodingHandler</H3
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000822><TABLE
823BORDER="0"
824BGCOLOR="#D6E8FF"
825WIDTH="100%"
826CELLPADDING="6"
827><TR
828><TD
829><PRE
830CLASS="PROGRAMLISTING"
831>struct xmlCharEncodingHandler {
832 char *name;
833 xmlCharEncodingInputFunc input;
834 xmlCharEncodingOutputFunc output;
835#ifdef LIBXML_ICONV_ENABLED
836 iconv_t iconv_in;
837 iconv_t iconv_out;
838#endif /* LIBXML_ICONV_ENABLED */
839};</PRE
840></TD
841></TR
842></TABLE
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000843><P
844></P
845></DIV
846><HR><DIV
847CLASS="REFSECT2"
848><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000849NAME="AEN26987"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000850></A
851><H3
852><A
853NAME="XMLCHARENCODINGHANDLERPTR"
854></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000855>xmlCharEncodingHandlerPtr</H3
Daniel Veillard4b8328d2001-07-05 22:48:42 +0000856><TABLE
857BORDER="0"
858BGCOLOR="#D6E8FF"
859WIDTH="100%"
860CELLPADDING="6"
861><TR
862><TD
863><PRE
864CLASS="PROGRAMLISTING"
865>typedef xmlCharEncodingHandler *xmlCharEncodingHandlerPtr;</PRE
866></TD
867></TR
868></TABLE
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000869><P
870></P
871></DIV
872><HR><DIV
873CLASS="REFSECT2"
874><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000875NAME="AEN26992"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000876></A
877><H3
878><A
879NAME="XMLINITCHARENCODINGHANDLERS"
880></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000881>xmlInitCharEncodingHandlers ()</H3
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000882><TABLE
883BORDER="0"
884BGCOLOR="#D6E8FF"
885WIDTH="100%"
886CELLPADDING="6"
887><TR
888><TD
889><PRE
890CLASS="PROGRAMLISTING"
891>void xmlInitCharEncodingHandlers (void);</PRE
892></TD
893></TR
894></TABLE
895><P
896>Initialize the char encoding support, it registers the default
897encoding supported.
898NOTE: while public, this function usually doesn't need to be called
Daniel Veillardaec63562003-03-23 20:42:17 +0000899 in normal processing.</P
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000900><P
901></P
902></DIV
903><HR><DIV
904CLASS="REFSECT2"
905><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000906NAME="AEN26998"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000907></A
908><H3
909><A
910NAME="XMLCLEANUPCHARENCODINGHANDLERS"
911></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000912>xmlCleanupCharEncodingHandlers ()</H3
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000913><TABLE
914BORDER="0"
915BGCOLOR="#D6E8FF"
916WIDTH="100%"
917CELLPADDING="6"
918><TR
919><TD
920><PRE
921CLASS="PROGRAMLISTING"
922>void xmlCleanupCharEncodingHandlers (void);</PRE
923></TD
924></TR
925></TABLE
926><P
927>Cleanup the memory allocated for the char encoding support, it
Daniel Veillard3bff2b02000-10-01 20:33:47 +0000928unregisters all the encoding handlers and the aliases.</P
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000929><P
930></P
931></DIV
932><HR><DIV
933CLASS="REFSECT2"
934><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000935NAME="AEN27004"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000936></A
937><H3
938><A
939NAME="XMLREGISTERCHARENCODINGHANDLER"
940></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000941>xmlRegisterCharEncodingHandler ()</H3
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000942><TABLE
943BORDER="0"
944BGCOLOR="#D6E8FF"
945WIDTH="100%"
946CELLPADDING="6"
947><TR
948><TD
949><PRE
950CLASS="PROGRAMLISTING"
951>void xmlRegisterCharEncodingHandler (<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000952HREF="libxml-encoding.html#XMLCHARENCODINGHANDLERPTR"
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000953>xmlCharEncodingHandlerPtr</A
954> handler);</PRE
955></TD
956></TR
957></TABLE
958><P
Daniel Veillardcbaf3992001-12-31 16:16:02 +0000959>Register the char encoding handler, surprising, isn't it ?</P
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000960><P
961></P
962><DIV
963CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +0000964><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000965NAME="AEN27011"
966></A
967><P
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000968></P
969><TABLE
970BORDER="0"
971WIDTH="100%"
972BGCOLOR="#FFD0D0"
973CELLSPACING="0"
974CELLPADDING="4"
975CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +0000976><TBODY
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000977><TR
978><TD
979WIDTH="20%"
980ALIGN="RIGHT"
981VALIGN="TOP"
982><TT
983CLASS="PARAMETER"
984><I
985>handler</I
986></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +0000987>&nbsp;:</TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000988><TD
989WIDTH="80%"
990ALIGN="LEFT"
991VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +0000992> the xmlCharEncodingHandlerPtr handler block</TD
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000993></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +0000994></TBODY
Daniel Veillardaeea04f2000-01-25 19:27:27 +0000995></TABLE
996><P
997></P
998></DIV
999></DIV
1000><HR><DIV
1001CLASS="REFSECT2"
1002><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001003NAME="AEN27020"
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001004></A
1005><H3
1006><A
1007NAME="XMLGETCHARENCODINGHANDLER"
1008></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00001009>xmlGetCharEncodingHandler ()</H3
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001010><TABLE
1011BORDER="0"
1012BGCOLOR="#D6E8FF"
1013WIDTH="100%"
1014CELLPADDING="6"
1015><TR
1016><TD
1017><PRE
1018CLASS="PROGRAMLISTING"
1019><A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +00001020HREF="libxml-encoding.html#XMLCHARENCODINGHANDLERPTR"
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001021>xmlCharEncodingHandlerPtr</A
1022> xmlGetCharEncodingHandler
1023 (<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +00001024HREF="libxml-encoding.html#XMLCHARENCODING"
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001025>xmlCharEncoding</A
1026> enc);</PRE
1027></TD
1028></TR
1029></TABLE
1030><P
Daniel Veillardcbaf3992001-12-31 16:16:02 +00001031>Search in the registered set the handler able to read/write that encoding.</P
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001032><P
1033></P
1034><DIV
1035CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001036><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001037NAME="AEN27028"
1038></A
1039><P
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001040></P
1041><TABLE
1042BORDER="0"
1043WIDTH="100%"
1044BGCOLOR="#FFD0D0"
1045CELLSPACING="0"
1046CELLPADDING="4"
1047CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001048><TBODY
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001049><TR
1050><TD
1051WIDTH="20%"
1052ALIGN="RIGHT"
1053VALIGN="TOP"
1054><TT
1055CLASS="PARAMETER"
1056><I
1057>enc</I
1058></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00001059>&nbsp;:</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001060><TD
1061WIDTH="80%"
1062ALIGN="LEFT"
1063VALIGN="TOP"
Daniel Veillardf012a642001-07-23 19:10:52 +00001064> an xmlCharEncoding value.</TD
1065></TR
1066><TR
1067><TD
1068WIDTH="20%"
1069ALIGN="RIGHT"
1070VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00001071><SPAN
1072CLASS="emphasis"
Daniel Veillardf012a642001-07-23 19:10:52 +00001073><I
1074CLASS="EMPHASIS"
1075>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00001076></SPAN
Daniel Veillardf012a642001-07-23 19:10:52 +00001077> :</TD
1078><TD
1079WIDTH="80%"
1080ALIGN="LEFT"
1081VALIGN="TOP"
1082>the handler or NULL if not found</TD
1083></TR
1084></TBODY
1085></TABLE
1086><P
1087></P
1088></DIV
1089></DIV
1090><HR><DIV
1091CLASS="REFSECT2"
1092><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001093NAME="AEN27041"
Daniel Veillardf012a642001-07-23 19:10:52 +00001094></A
1095><H3
1096><A
1097NAME="XMLFINDCHARENCODINGHANDLER"
1098></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00001099>xmlFindCharEncodingHandler ()</H3
Daniel Veillardf012a642001-07-23 19:10:52 +00001100><TABLE
1101BORDER="0"
1102BGCOLOR="#D6E8FF"
1103WIDTH="100%"
1104CELLPADDING="6"
1105><TR
1106><TD
1107><PRE
1108CLASS="PROGRAMLISTING"
1109><A
1110HREF="libxml-encoding.html#XMLCHARENCODINGHANDLERPTR"
1111>xmlCharEncodingHandlerPtr</A
1112> xmlFindCharEncodingHandler
1113 (const char *name);</PRE
1114></TD
1115></TR
1116></TABLE
1117><P
Daniel Veillardcbaf3992001-12-31 16:16:02 +00001118>Search in the registered set the handler able to read/write that encoding.</P
Daniel Veillardf012a642001-07-23 19:10:52 +00001119><P
1120></P
1121><DIV
1122CLASS="INFORMALTABLE"
1123><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001124NAME="AEN27048"
1125></A
1126><P
Daniel Veillardf012a642001-07-23 19:10:52 +00001127></P
1128><TABLE
1129BORDER="0"
1130WIDTH="100%"
1131BGCOLOR="#FFD0D0"
1132CELLSPACING="0"
1133CELLPADDING="4"
1134CLASS="CALSTABLE"
1135><TBODY
1136><TR
1137><TD
1138WIDTH="20%"
1139ALIGN="RIGHT"
1140VALIGN="TOP"
1141><TT
1142CLASS="PARAMETER"
1143><I
1144>name</I
1145></TT
1146>&nbsp;:</TD
1147><TD
1148WIDTH="80%"
1149ALIGN="LEFT"
1150VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001151> a string describing the char encoding.</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001152></TR
1153><TR
1154><TD
1155WIDTH="20%"
1156ALIGN="RIGHT"
1157VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00001158><SPAN
1159CLASS="emphasis"
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001160><I
1161CLASS="EMPHASIS"
1162>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00001163></SPAN
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001164> :</TD
1165><TD
1166WIDTH="80%"
1167ALIGN="LEFT"
1168VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001169>the handler or NULL if not found</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001170></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +00001171></TBODY
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001172></TABLE
1173><P
1174></P
1175></DIV
1176></DIV
1177><HR><DIV
1178CLASS="REFSECT2"
1179><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001180NAME="AEN27061"
Daniel Veillard2ace1952002-09-26 12:28:02 +00001181></A
1182><H3
1183><A
1184NAME="XMLNEWCHARENCODINGHANDLER"
1185></A
1186>xmlNewCharEncodingHandler ()</H3
1187><TABLE
1188BORDER="0"
1189BGCOLOR="#D6E8FF"
1190WIDTH="100%"
1191CELLPADDING="6"
1192><TR
1193><TD
1194><PRE
1195CLASS="PROGRAMLISTING"
1196><A
1197HREF="libxml-encoding.html#XMLCHARENCODINGHANDLERPTR"
1198>xmlCharEncodingHandlerPtr</A
1199> xmlNewCharEncodingHandler
1200 (const char *name,
1201 <A
1202HREF="libxml-encoding.html#XMLCHARENCODINGINPUTFUNC"
1203>xmlCharEncodingInputFunc</A
1204> input,
1205 <A
1206HREF="libxml-encoding.html#XMLCHARENCODINGOUTPUTFUNC"
1207>xmlCharEncodingOutputFunc</A
1208> output);</PRE
1209></TD
1210></TR
1211></TABLE
1212><P
1213>Create and registers an xmlCharEncodingHandler.</P
1214><P
1215></P
1216><DIV
1217CLASS="INFORMALTABLE"
1218><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001219NAME="AEN27070"
1220></A
1221><P
Daniel Veillard2ace1952002-09-26 12:28:02 +00001222></P
1223><TABLE
1224BORDER="0"
1225WIDTH="100%"
1226BGCOLOR="#FFD0D0"
1227CELLSPACING="0"
1228CELLPADDING="4"
1229CLASS="CALSTABLE"
1230><TBODY
1231><TR
1232><TD
1233WIDTH="20%"
1234ALIGN="RIGHT"
1235VALIGN="TOP"
1236><TT
1237CLASS="PARAMETER"
1238><I
1239>name</I
1240></TT
1241>&nbsp;:</TD
1242><TD
1243WIDTH="80%"
1244ALIGN="LEFT"
1245VALIGN="TOP"
1246> the encoding name, in UTF-8 format (ASCII actually)</TD
1247></TR
1248><TR
1249><TD
1250WIDTH="20%"
1251ALIGN="RIGHT"
1252VALIGN="TOP"
1253><TT
1254CLASS="PARAMETER"
1255><I
1256>input</I
1257></TT
1258>&nbsp;:</TD
1259><TD
1260WIDTH="80%"
1261ALIGN="LEFT"
1262VALIGN="TOP"
1263> the xmlCharEncodingInputFunc to read that encoding</TD
1264></TR
1265><TR
1266><TD
1267WIDTH="20%"
1268ALIGN="RIGHT"
1269VALIGN="TOP"
1270><TT
1271CLASS="PARAMETER"
1272><I
1273>output</I
1274></TT
1275>&nbsp;:</TD
1276><TD
1277WIDTH="80%"
1278ALIGN="LEFT"
1279VALIGN="TOP"
1280> the xmlCharEncodingOutputFunc to write that encoding</TD
1281></TR
1282><TR
1283><TD
1284WIDTH="20%"
1285ALIGN="RIGHT"
1286VALIGN="TOP"
1287><SPAN
1288CLASS="emphasis"
1289><I
1290CLASS="EMPHASIS"
1291>Returns</I
1292></SPAN
1293> :</TD
1294><TD
1295WIDTH="80%"
1296ALIGN="LEFT"
1297VALIGN="TOP"
1298>the xmlCharEncodingHandlerPtr created (or NULL in case of error).</TD
1299></TR
1300></TBODY
1301></TABLE
1302><P
1303></P
1304></DIV
1305></DIV
1306><HR><DIV
1307CLASS="REFSECT2"
1308><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001309NAME="AEN27091"
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001310></A
1311><H3
1312><A
1313NAME="XMLADDENCODINGALIAS"
1314></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00001315>xmlAddEncodingAlias ()</H3
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001316><TABLE
1317BORDER="0"
1318BGCOLOR="#D6E8FF"
1319WIDTH="100%"
1320CELLPADDING="6"
1321><TR
1322><TD
1323><PRE
1324CLASS="PROGRAMLISTING"
1325>int xmlAddEncodingAlias (const char *name,
1326 const char *alias);</PRE
1327></TD
1328></TR
1329></TABLE
1330><P
1331>Registers and alias <TT
1332CLASS="PARAMETER"
1333><I
1334>alias</I
1335></TT
1336> for an encoding named <TT
1337CLASS="PARAMETER"
1338><I
1339>name</I
1340></TT
1341>. Existing alias
1342will be overwritten.</P
1343><P
1344></P
1345><DIV
1346CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001347><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001348NAME="AEN27099"
1349></A
1350><P
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001351></P
1352><TABLE
1353BORDER="0"
1354WIDTH="100%"
1355BGCOLOR="#FFD0D0"
1356CELLSPACING="0"
1357CELLPADDING="4"
1358CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001359><TBODY
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001360><TR
1361><TD
1362WIDTH="20%"
1363ALIGN="RIGHT"
1364VALIGN="TOP"
1365><TT
1366CLASS="PARAMETER"
1367><I
1368>name</I
1369></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00001370>&nbsp;:</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001371><TD
1372WIDTH="80%"
1373ALIGN="LEFT"
1374VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001375> the encoding name as parsed, in UTF-8 format (ASCII actually)</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001376></TR
1377><TR
1378><TD
1379WIDTH="20%"
1380ALIGN="RIGHT"
1381VALIGN="TOP"
1382><TT
1383CLASS="PARAMETER"
1384><I
1385>alias</I
1386></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00001387>&nbsp;:</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001388><TD
1389WIDTH="80%"
1390ALIGN="LEFT"
1391VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001392> the alias name as parsed, in UTF-8 format (ASCII actually)</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001393></TR
1394><TR
1395><TD
1396WIDTH="20%"
1397ALIGN="RIGHT"
1398VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00001399><SPAN
1400CLASS="emphasis"
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001401><I
1402CLASS="EMPHASIS"
1403>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00001404></SPAN
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001405> :</TD
1406><TD
1407WIDTH="80%"
1408ALIGN="LEFT"
1409VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001410>0 in case of success, -1 in case of error</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001411></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +00001412></TBODY
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001413></TABLE
1414><P
1415></P
1416></DIV
1417></DIV
1418><HR><DIV
1419CLASS="REFSECT2"
1420><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001421NAME="AEN27116"
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001422></A
1423><H3
1424><A
1425NAME="XMLDELENCODINGALIAS"
1426></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00001427>xmlDelEncodingAlias ()</H3
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001428><TABLE
1429BORDER="0"
1430BGCOLOR="#D6E8FF"
1431WIDTH="100%"
1432CELLPADDING="6"
1433><TR
1434><TD
1435><PRE
1436CLASS="PROGRAMLISTING"
1437>int xmlDelEncodingAlias (const char *alias);</PRE
1438></TD
1439></TR
1440></TABLE
1441><P
1442>Unregisters an encoding alias <TT
1443CLASS="PARAMETER"
1444><I
1445>alias</I
1446></TT
1447></P
1448><P
1449></P
1450><DIV
1451CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001452><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001453NAME="AEN27123"
1454></A
1455><P
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001456></P
1457><TABLE
1458BORDER="0"
1459WIDTH="100%"
1460BGCOLOR="#FFD0D0"
1461CELLSPACING="0"
1462CELLPADDING="4"
1463CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001464><TBODY
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001465><TR
1466><TD
1467WIDTH="20%"
1468ALIGN="RIGHT"
1469VALIGN="TOP"
1470><TT
1471CLASS="PARAMETER"
1472><I
1473>alias</I
1474></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00001475>&nbsp;:</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001476><TD
1477WIDTH="80%"
1478ALIGN="LEFT"
1479VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001480> the alias name as parsed, in UTF-8 format (ASCII actually)</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001481></TR
1482><TR
1483><TD
1484WIDTH="20%"
1485ALIGN="RIGHT"
1486VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00001487><SPAN
1488CLASS="emphasis"
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001489><I
1490CLASS="EMPHASIS"
1491>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00001492></SPAN
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001493> :</TD
1494><TD
1495WIDTH="80%"
1496ALIGN="LEFT"
1497VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001498>0 in case of success, -1 in case of error</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001499></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +00001500></TBODY
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001501></TABLE
1502><P
1503></P
1504></DIV
1505></DIV
1506><HR><DIV
1507CLASS="REFSECT2"
1508><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001509NAME="AEN27136"
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001510></A
1511><H3
1512><A
1513NAME="XMLGETENCODINGALIAS"
1514></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00001515>xmlGetEncodingAlias ()</H3
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001516><TABLE
1517BORDER="0"
1518BGCOLOR="#D6E8FF"
1519WIDTH="100%"
1520CELLPADDING="6"
1521><TR
1522><TD
1523><PRE
1524CLASS="PROGRAMLISTING"
1525>const char* xmlGetEncodingAlias (const char *alias);</PRE
1526></TD
1527></TR
1528></TABLE
1529><P
1530>Lookup an encoding name for the given alias.</P
1531><P
1532></P
1533><DIV
1534CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001535><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001536NAME="AEN27142"
1537></A
1538><P
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001539></P
1540><TABLE
1541BORDER="0"
1542WIDTH="100%"
1543BGCOLOR="#FFD0D0"
1544CELLSPACING="0"
1545CELLPADDING="4"
1546CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001547><TBODY
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001548><TR
1549><TD
1550WIDTH="20%"
1551ALIGN="RIGHT"
1552VALIGN="TOP"
1553><TT
1554CLASS="PARAMETER"
1555><I
1556>alias</I
1557></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00001558>&nbsp;:</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001559><TD
1560WIDTH="80%"
1561ALIGN="LEFT"
1562VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001563> the alias name as parsed, in UTF-8 format (ASCII actually)</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001564></TR
1565><TR
1566><TD
1567WIDTH="20%"
1568ALIGN="RIGHT"
1569VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00001570><SPAN
1571CLASS="emphasis"
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001572><I
1573CLASS="EMPHASIS"
1574>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00001575></SPAN
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001576> :</TD
1577><TD
1578WIDTH="80%"
1579ALIGN="LEFT"
1580VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001581>NULL if not found the original name otherwise</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001582></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +00001583></TBODY
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001584></TABLE
1585><P
1586></P
1587></DIV
1588></DIV
1589><HR><DIV
1590CLASS="REFSECT2"
1591><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001592NAME="AEN27155"
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001593></A
1594><H3
1595><A
1596NAME="XMLCLEANUPENCODINGALIASES"
1597></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00001598>xmlCleanupEncodingAliases ()</H3
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001599><TABLE
1600BORDER="0"
1601BGCOLOR="#D6E8FF"
1602WIDTH="100%"
1603CELLPADDING="6"
1604><TR
1605><TD
1606><PRE
1607CLASS="PROGRAMLISTING"
1608>void xmlCleanupEncodingAliases (void);</PRE
1609></TD
1610></TR
1611></TABLE
1612><P
1613>Unregisters all aliases</P
1614><P
1615></P
1616></DIV
1617><HR><DIV
1618CLASS="REFSECT2"
1619><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001620NAME="AEN27161"
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001621></A
1622><H3
1623><A
1624NAME="XMLPARSECHARENCODING"
1625></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00001626>xmlParseCharEncoding ()</H3
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001627><TABLE
1628BORDER="0"
1629BGCOLOR="#D6E8FF"
1630WIDTH="100%"
1631CELLPADDING="6"
1632><TR
1633><TD
1634><PRE
1635CLASS="PROGRAMLISTING"
1636><A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +00001637HREF="libxml-encoding.html#XMLCHARENCODING"
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001638>xmlCharEncoding</A
1639> xmlParseCharEncoding (const char *name);</PRE
1640></TD
1641></TR
1642></TABLE
1643><P
Daniel Veillardcbaf3992001-12-31 16:16:02 +00001644>Compare the string to the known encoding schemes already known. Note
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001645that the comparison is case insensitive accordingly to the section
1646[XML] 4.3.3 Character Encoding in Entities.</P
1647><P
1648></P
1649><DIV
1650CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001651><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001652NAME="AEN27168"
1653></A
1654><P
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001655></P
1656><TABLE
1657BORDER="0"
1658WIDTH="100%"
1659BGCOLOR="#FFD0D0"
1660CELLSPACING="0"
1661CELLPADDING="4"
1662CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001663><TBODY
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001664><TR
1665><TD
1666WIDTH="20%"
1667ALIGN="RIGHT"
1668VALIGN="TOP"
1669><TT
1670CLASS="PARAMETER"
1671><I
1672>name</I
1673></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00001674>&nbsp;:</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001675><TD
1676WIDTH="80%"
1677ALIGN="LEFT"
1678VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001679> the encoding name as parsed, in UTF-8 format (ASCII actually)</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001680></TR
1681><TR
1682><TD
1683WIDTH="20%"
1684ALIGN="RIGHT"
1685VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00001686><SPAN
1687CLASS="emphasis"
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001688><I
1689CLASS="EMPHASIS"
1690>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00001691></SPAN
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001692> :</TD
1693><TD
1694WIDTH="80%"
1695ALIGN="LEFT"
1696VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001697>one of the XML_CHAR_ENCODING_... values or XML_CHAR_ENCODING_NONE
1698if not recognized.</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001699></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +00001700></TBODY
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001701></TABLE
1702><P
1703></P
1704></DIV
1705></DIV
1706><HR><DIV
1707CLASS="REFSECT2"
1708><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001709NAME="AEN27181"
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001710></A
1711><H3
1712><A
1713NAME="XMLGETCHARENCODINGNAME"
1714></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00001715>xmlGetCharEncodingName ()</H3
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001716><TABLE
1717BORDER="0"
1718BGCOLOR="#D6E8FF"
1719WIDTH="100%"
1720CELLPADDING="6"
1721><TR
1722><TD
1723><PRE
1724CLASS="PROGRAMLISTING"
1725>const char* xmlGetCharEncodingName (<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +00001726HREF="libxml-encoding.html#XMLCHARENCODING"
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001727>xmlCharEncoding</A
1728> enc);</PRE
1729></TD
1730></TR
1731></TABLE
1732><P
1733>The "canonical" name for XML encoding.
1734C.f. http://www.w3.org/TR/REC-xml<GTKDOCLINK
1735HREF="CHARENCODING"
1736>charencoding</GTKDOCLINK
1737>
1738Section 4.3.3 Character Encoding in Entities</P
1739><P
1740></P
1741><DIV
1742CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001743><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001744NAME="AEN27189"
1745></A
1746><P
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001747></P
1748><TABLE
1749BORDER="0"
1750WIDTH="100%"
1751BGCOLOR="#FFD0D0"
1752CELLSPACING="0"
1753CELLPADDING="4"
1754CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001755><TBODY
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001756><TR
1757><TD
1758WIDTH="20%"
1759ALIGN="RIGHT"
1760VALIGN="TOP"
1761><TT
1762CLASS="PARAMETER"
1763><I
1764>enc</I
1765></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00001766>&nbsp;:</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001767><TD
1768WIDTH="80%"
1769ALIGN="LEFT"
1770VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001771> the encoding</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001772></TR
1773><TR
1774><TD
1775WIDTH="20%"
1776ALIGN="RIGHT"
1777VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00001778><SPAN
1779CLASS="emphasis"
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001780><I
1781CLASS="EMPHASIS"
1782>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00001783></SPAN
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001784> :</TD
1785><TD
1786WIDTH="80%"
1787ALIGN="LEFT"
1788VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001789>the canonical name for the given encoding</TD
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001790></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +00001791></TBODY
Daniel Veillard3bff2b02000-10-01 20:33:47 +00001792></TABLE
1793><P
1794></P
1795></DIV
1796></DIV
1797><HR><DIV
1798CLASS="REFSECT2"
1799><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001800NAME="AEN27202"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001801></A
1802><H3
1803><A
1804NAME="XMLDETECTCHARENCODING"
1805></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00001806>xmlDetectCharEncoding ()</H3
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001807><TABLE
1808BORDER="0"
1809BGCOLOR="#D6E8FF"
1810WIDTH="100%"
1811CELLPADDING="6"
1812><TR
1813><TD
1814><PRE
1815CLASS="PROGRAMLISTING"
1816><A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +00001817HREF="libxml-encoding.html#XMLCHARENCODING"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001818>xmlCharEncoding</A
1819> xmlDetectCharEncoding (unsigned char *in,
1820 int len);</PRE
1821></TD
1822></TR
1823></TABLE
1824><P
1825>Guess the encoding of the entity using the first bytes of the entity content
1826accordingly of the non-normative appendix F of the XML-1.0 recommendation.</P
1827><P
1828></P
1829><DIV
1830CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001831><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001832NAME="AEN27209"
1833></A
1834><P
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001835></P
1836><TABLE
1837BORDER="0"
1838WIDTH="100%"
1839BGCOLOR="#FFD0D0"
1840CELLSPACING="0"
1841CELLPADDING="4"
1842CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001843><TBODY
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001844><TR
1845><TD
1846WIDTH="20%"
1847ALIGN="RIGHT"
1848VALIGN="TOP"
1849><TT
1850CLASS="PARAMETER"
1851><I
1852>in</I
1853></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00001854>&nbsp;:</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001855><TD
1856WIDTH="80%"
1857ALIGN="LEFT"
1858VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001859> a pointer to the first bytes of the XML entity, must be at least
Daniel Veillardaec63562003-03-23 20:42:17 +00001860 4 bytes long.</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001861></TR
1862><TR
1863><TD
1864WIDTH="20%"
1865ALIGN="RIGHT"
1866VALIGN="TOP"
1867><TT
1868CLASS="PARAMETER"
1869><I
1870>len</I
1871></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00001872>&nbsp;:</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001873><TD
1874WIDTH="80%"
1875ALIGN="LEFT"
1876VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001877> pointer to the length of the buffer</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001878></TR
1879><TR
1880><TD
1881WIDTH="20%"
1882ALIGN="RIGHT"
1883VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00001884><SPAN
1885CLASS="emphasis"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001886><I
1887CLASS="EMPHASIS"
1888>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00001889></SPAN
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001890> :</TD
1891><TD
1892WIDTH="80%"
1893ALIGN="LEFT"
1894VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001895>one of the XML_CHAR_ENCODING_... values.</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001896></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +00001897></TBODY
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001898></TABLE
1899><P
1900></P
1901></DIV
1902></DIV
1903><HR><DIV
1904CLASS="REFSECT2"
1905><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001906NAME="AEN27226"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001907></A
1908><H3
1909><A
1910NAME="XMLCHARENCOUTFUNC"
1911></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00001912>xmlCharEncOutFunc ()</H3
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001913><TABLE
1914BORDER="0"
1915BGCOLOR="#D6E8FF"
1916WIDTH="100%"
1917CELLPADDING="6"
1918><TR
1919><TD
1920><PRE
1921CLASS="PROGRAMLISTING"
1922>int xmlCharEncOutFunc (<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +00001923HREF="libxml-encoding.html#XMLCHARENCODINGHANDLER"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001924>xmlCharEncodingHandler</A
1925> *handler,
1926 <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +00001927HREF="libxml-tree.html#XMLBUFFERPTR"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001928>xmlBufferPtr</A
1929> out,
1930 <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +00001931HREF="libxml-tree.html#XMLBUFFERPTR"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001932>xmlBufferPtr</A
1933> in);</PRE
1934></TD
1935></TR
1936></TABLE
1937><P
1938>Generic front-end for the encoding handler output function
1939a first call with <TT
1940CLASS="PARAMETER"
1941><I
1942>in</I
1943></TT
1944> == NULL has to be made firs to initiate the
1945output in case of non-stateless encoding needing to initiate their
1946state or the output (like the BOM in UTF16).
1947In case of UTF8 sequence conversion errors for the given encoder,
1948the content will be automatically remapped to a CharRef sequence.</P
1949><P
1950></P
1951><DIV
1952CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001953><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001954NAME="AEN27236"
1955></A
1956><P
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001957></P
1958><TABLE
1959BORDER="0"
1960WIDTH="100%"
1961BGCOLOR="#FFD0D0"
1962CELLSPACING="0"
1963CELLPADDING="4"
1964CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001965><TBODY
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001966><TR
1967><TD
1968WIDTH="20%"
1969ALIGN="RIGHT"
1970VALIGN="TOP"
1971><TT
1972CLASS="PARAMETER"
1973><I
1974>handler</I
1975></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00001976>&nbsp;:</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001977><TD
1978WIDTH="80%"
1979ALIGN="LEFT"
1980VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001981> char enconding transformation data structure</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001982></TR
1983><TR
1984><TD
1985WIDTH="20%"
1986ALIGN="RIGHT"
1987VALIGN="TOP"
1988><TT
1989CLASS="PARAMETER"
1990><I
1991>out</I
1992></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00001993>&nbsp;:</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001994><TD
1995WIDTH="80%"
1996ALIGN="LEFT"
1997VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00001998> an xmlBuffer for the output.</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001999></TR
2000><TR
2001><TD
2002WIDTH="20%"
2003ALIGN="RIGHT"
2004VALIGN="TOP"
2005><TT
2006CLASS="PARAMETER"
2007><I
Daniel Veillard06047432000-04-24 11:33:38 +00002008>in</I
Daniel Veillardedfb29b2000-03-14 19:59:05 +00002009></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00002010>&nbsp;:</TD
Daniel Veillardedfb29b2000-03-14 19:59:05 +00002011><TD
2012WIDTH="80%"
2013ALIGN="LEFT"
2014VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002015> an xmlBuffer for the input</TD
Daniel Veillardedfb29b2000-03-14 19:59:05 +00002016></TR
2017><TR
2018><TD
2019WIDTH="20%"
2020ALIGN="RIGHT"
2021VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00002022><SPAN
2023CLASS="emphasis"
Daniel Veillardedfb29b2000-03-14 19:59:05 +00002024><I
2025CLASS="EMPHASIS"
2026>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00002027></SPAN
Daniel Veillardedfb29b2000-03-14 19:59:05 +00002028> :</TD
2029><TD
2030WIDTH="80%"
2031ALIGN="LEFT"
2032VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002033>the number of byte written if success, or
Daniel Veillardaec63562003-03-23 20:42:17 +00002034 -1 general error
2035 -2 if the transcoding fails (for *in is not valid utf8 string or
2036 the result of transformation can't fit into the encoding we want), or</TD
Daniel Veillardedfb29b2000-03-14 19:59:05 +00002037></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +00002038></TBODY
Daniel Veillardedfb29b2000-03-14 19:59:05 +00002039></TABLE
2040><P
2041></P
2042></DIV
2043></DIV
Daniel Veillard06047432000-04-24 11:33:38 +00002044><HR><DIV
2045CLASS="REFSECT2"
2046><A
Daniel Veillardaec63562003-03-23 20:42:17 +00002047NAME="AEN27257"
Daniel Veillard06047432000-04-24 11:33:38 +00002048></A
2049><H3
2050><A
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002051NAME="XMLCHARENCINFUNC"
Daniel Veillard06047432000-04-24 11:33:38 +00002052></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00002053>xmlCharEncInFunc ()</H3
Daniel Veillard06047432000-04-24 11:33:38 +00002054><TABLE
2055BORDER="0"
2056BGCOLOR="#D6E8FF"
2057WIDTH="100%"
2058CELLPADDING="6"
2059><TR
2060><TD
2061><PRE
2062CLASS="PROGRAMLISTING"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002063>int xmlCharEncInFunc (<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +00002064HREF="libxml-encoding.html#XMLCHARENCODINGHANDLER"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002065>xmlCharEncodingHandler</A
2066> *handler,
2067 <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +00002068HREF="libxml-tree.html#XMLBUFFERPTR"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002069>xmlBufferPtr</A
2070> out,
2071 <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +00002072HREF="libxml-tree.html#XMLBUFFERPTR"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002073>xmlBufferPtr</A
2074> in);</PRE
Daniel Veillard06047432000-04-24 11:33:38 +00002075></TD
2076></TR
2077></TABLE
2078><P
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002079>Generic front-end for the encoding handler input function</P
Daniel Veillard06047432000-04-24 11:33:38 +00002080><P
2081></P
2082><DIV
2083CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00002084><A
Daniel Veillardaec63562003-03-23 20:42:17 +00002085NAME="AEN27266"
2086></A
2087><P
Daniel Veillard06047432000-04-24 11:33:38 +00002088></P
2089><TABLE
2090BORDER="0"
2091WIDTH="100%"
2092BGCOLOR="#FFD0D0"
2093CELLSPACING="0"
2094CELLPADDING="4"
2095CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00002096><TBODY
Daniel Veillard06047432000-04-24 11:33:38 +00002097><TR
2098><TD
2099WIDTH="20%"
2100ALIGN="RIGHT"
2101VALIGN="TOP"
2102><TT
2103CLASS="PARAMETER"
2104><I
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002105>handler</I
Daniel Veillard06047432000-04-24 11:33:38 +00002106></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00002107>&nbsp;:</TD
Daniel Veillard06047432000-04-24 11:33:38 +00002108><TD
2109WIDTH="80%"
2110ALIGN="LEFT"
2111VALIGN="TOP"
Daniel Veillardcbaf3992001-12-31 16:16:02 +00002112> char encoding transformation data structure</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002113></TR
2114><TR
2115><TD
2116WIDTH="20%"
2117ALIGN="RIGHT"
2118VALIGN="TOP"
2119><TT
2120CLASS="PARAMETER"
2121><I
2122>out</I
2123></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00002124>&nbsp;:</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002125><TD
2126WIDTH="80%"
2127ALIGN="LEFT"
2128VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002129> an xmlBuffer for the output.</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002130></TR
2131><TR
2132><TD
2133WIDTH="20%"
2134ALIGN="RIGHT"
2135VALIGN="TOP"
2136><TT
2137CLASS="PARAMETER"
2138><I
2139>in</I
2140></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00002141>&nbsp;:</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002142><TD
2143WIDTH="80%"
2144ALIGN="LEFT"
2145VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002146> an xmlBuffer for the input</TD
Daniel Veillard06047432000-04-24 11:33:38 +00002147></TR
2148><TR
2149><TD
2150WIDTH="20%"
2151ALIGN="RIGHT"
2152VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00002153><SPAN
2154CLASS="emphasis"
Daniel Veillard06047432000-04-24 11:33:38 +00002155><I
2156CLASS="EMPHASIS"
2157>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00002158></SPAN
Daniel Veillard06047432000-04-24 11:33:38 +00002159> :</TD
2160><TD
2161WIDTH="80%"
2162ALIGN="LEFT"
2163VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002164>the number of byte written if success, or
Daniel Veillardaec63562003-03-23 20:42:17 +00002165 -1 general error
2166 -2 if the transcoding fails (for *in is not valid utf8 string or
2167 the result of transformation can't fit into the encoding we want), or</TD
Daniel Veillard06047432000-04-24 11:33:38 +00002168></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +00002169></TBODY
Daniel Veillard06047432000-04-24 11:33:38 +00002170></TABLE
2171><P
2172></P
2173></DIV
2174></DIV
2175><HR><DIV
2176CLASS="REFSECT2"
2177><A
Daniel Veillardaec63562003-03-23 20:42:17 +00002178NAME="AEN27287"
Daniel Veillard06047432000-04-24 11:33:38 +00002179></A
2180><H3
2181><A
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002182NAME="XMLCHARENCFIRSTLINE"
Daniel Veillard06047432000-04-24 11:33:38 +00002183></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00002184>xmlCharEncFirstLine ()</H3
Daniel Veillard06047432000-04-24 11:33:38 +00002185><TABLE
2186BORDER="0"
2187BGCOLOR="#D6E8FF"
2188WIDTH="100%"
2189CELLPADDING="6"
2190><TR
2191><TD
2192><PRE
2193CLASS="PROGRAMLISTING"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002194>int xmlCharEncFirstLine (<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +00002195HREF="libxml-encoding.html#XMLCHARENCODINGHANDLER"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002196>xmlCharEncodingHandler</A
2197> *handler,
2198 <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +00002199HREF="libxml-tree.html#XMLBUFFERPTR"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002200>xmlBufferPtr</A
2201> out,
2202 <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +00002203HREF="libxml-tree.html#XMLBUFFERPTR"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002204>xmlBufferPtr</A
2205> in);</PRE
Daniel Veillard06047432000-04-24 11:33:38 +00002206></TD
2207></TR
2208></TABLE
2209><P
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002210>Front-end for the encoding handler input function, but handle only
2211the very first line, i.e. limit itself to 45 chars.</P
Daniel Veillard06047432000-04-24 11:33:38 +00002212><P
2213></P
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002214><DIV
2215CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00002216><A
Daniel Veillardaec63562003-03-23 20:42:17 +00002217NAME="AEN27296"
2218></A
2219><P
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002220></P
2221><TABLE
2222BORDER="0"
2223WIDTH="100%"
2224BGCOLOR="#FFD0D0"
2225CELLSPACING="0"
2226CELLPADDING="4"
2227CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00002228><TBODY
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002229><TR
2230><TD
2231WIDTH="20%"
2232ALIGN="RIGHT"
2233VALIGN="TOP"
2234><TT
2235CLASS="PARAMETER"
2236><I
2237>handler</I
2238></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00002239>&nbsp;:</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002240><TD
2241WIDTH="80%"
2242ALIGN="LEFT"
2243VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002244> char enconding transformation data structure</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002245></TR
2246><TR
2247><TD
2248WIDTH="20%"
2249ALIGN="RIGHT"
2250VALIGN="TOP"
2251><TT
2252CLASS="PARAMETER"
2253><I
2254>out</I
2255></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00002256>&nbsp;:</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002257><TD
2258WIDTH="80%"
2259ALIGN="LEFT"
2260VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002261> an xmlBuffer for the output.</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002262></TR
2263><TR
2264><TD
2265WIDTH="20%"
2266ALIGN="RIGHT"
2267VALIGN="TOP"
2268><TT
2269CLASS="PARAMETER"
2270><I
2271>in</I
2272></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00002273>&nbsp;:</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002274><TD
2275WIDTH="80%"
2276ALIGN="LEFT"
2277VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002278> an xmlBuffer for the input</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002279></TR
2280><TR
2281><TD
2282WIDTH="20%"
2283ALIGN="RIGHT"
2284VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00002285><SPAN
2286CLASS="emphasis"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002287><I
2288CLASS="EMPHASIS"
2289>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00002290></SPAN
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002291> :</TD
2292><TD
2293WIDTH="80%"
2294ALIGN="LEFT"
2295VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002296>the number of byte written if success, or
Daniel Veillardaec63562003-03-23 20:42:17 +00002297 -1 general error
2298 -2 if the transcoding fails (for *in is not valid utf8 string or
2299 the result of transformation can't fit into the encoding we want), or</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002300></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +00002301></TBODY
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002302></TABLE
2303><P
2304></P
2305></DIV
2306></DIV
2307><HR><DIV
2308CLASS="REFSECT2"
2309><A
Daniel Veillardaec63562003-03-23 20:42:17 +00002310NAME="AEN27317"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002311></A
2312><H3
2313><A
2314NAME="XMLCHARENCCLOSEFUNC"
2315></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00002316>xmlCharEncCloseFunc ()</H3
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002317><TABLE
2318BORDER="0"
2319BGCOLOR="#D6E8FF"
2320WIDTH="100%"
2321CELLPADDING="6"
2322><TR
2323><TD
2324><PRE
2325CLASS="PROGRAMLISTING"
2326>int xmlCharEncCloseFunc (<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +00002327HREF="libxml-encoding.html#XMLCHARENCODINGHANDLER"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002328>xmlCharEncodingHandler</A
2329> *handler);</PRE
2330></TD
2331></TR
2332></TABLE
2333><P
Daniel Veillardcbaf3992001-12-31 16:16:02 +00002334>Generic front-end for encoding handler close function</P
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002335><P
2336></P
2337><DIV
2338CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00002339><A
Daniel Veillardaec63562003-03-23 20:42:17 +00002340NAME="AEN27324"
2341></A
2342><P
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002343></P
2344><TABLE
2345BORDER="0"
2346WIDTH="100%"
2347BGCOLOR="#FFD0D0"
2348CELLSPACING="0"
2349CELLPADDING="4"
2350CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00002351><TBODY
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002352><TR
2353><TD
2354WIDTH="20%"
2355ALIGN="RIGHT"
2356VALIGN="TOP"
2357><TT
2358CLASS="PARAMETER"
2359><I
2360>handler</I
2361></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00002362>&nbsp;:</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002363><TD
2364WIDTH="80%"
2365ALIGN="LEFT"
2366VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002367> char enconding transformation data structure</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002368></TR
2369><TR
2370><TD
2371WIDTH="20%"
2372ALIGN="RIGHT"
2373VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00002374><SPAN
2375CLASS="emphasis"
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002376><I
2377CLASS="EMPHASIS"
2378>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00002379></SPAN
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002380> :</TD
2381><TD
2382WIDTH="80%"
2383ALIGN="LEFT"
2384VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002385>0 if success, or -1 in case of error</TD
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002386></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +00002387></TBODY
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00002388></TABLE
2389><P
2390></P
2391></DIV
Daniel Veillard06047432000-04-24 11:33:38 +00002392></DIV
Daniel Veillarda41123c2001-04-22 19:31:20 +00002393><HR><DIV
2394CLASS="REFSECT2"
2395><A
Daniel Veillardaec63562003-03-23 20:42:17 +00002396NAME="AEN27337"
Daniel Veillarda41123c2001-04-22 19:31:20 +00002397></A
2398><H3
2399><A
2400NAME="UTF8TOISOLAT1"
2401></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00002402>UTF8Toisolat1 ()</H3
Daniel Veillarda41123c2001-04-22 19:31:20 +00002403><TABLE
2404BORDER="0"
2405BGCOLOR="#D6E8FF"
2406WIDTH="100%"
2407CELLPADDING="6"
2408><TR
2409><TD
2410><PRE
2411CLASS="PROGRAMLISTING"
2412>int UTF8Toisolat1 (unsigned char *out,
2413 int *outlen,
2414 unsigned char *in,
2415 int *inlen);</PRE
2416></TD
2417></TR
2418></TABLE
2419><P
2420>Take a block of UTF-8 chars in and try to convert it to an ISO Latin 1
2421block of chars out.</P
2422><P
2423></P
2424><DIV
2425CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00002426><A
Daniel Veillardaec63562003-03-23 20:42:17 +00002427NAME="AEN27343"
2428></A
2429><P
Daniel Veillarda41123c2001-04-22 19:31:20 +00002430></P
2431><TABLE
2432BORDER="0"
2433WIDTH="100%"
2434BGCOLOR="#FFD0D0"
2435CELLSPACING="0"
2436CELLPADDING="4"
2437CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00002438><TBODY
Daniel Veillarda41123c2001-04-22 19:31:20 +00002439><TR
2440><TD
2441WIDTH="20%"
2442ALIGN="RIGHT"
2443VALIGN="TOP"
2444><TT
2445CLASS="PARAMETER"
2446><I
2447>out</I
2448></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00002449>&nbsp;:</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002450><TD
2451WIDTH="80%"
2452ALIGN="LEFT"
2453VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002454> a pointer to an array of bytes to store the result</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002455></TR
2456><TR
2457><TD
2458WIDTH="20%"
2459ALIGN="RIGHT"
2460VALIGN="TOP"
2461><TT
2462CLASS="PARAMETER"
2463><I
2464>outlen</I
2465></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00002466>&nbsp;:</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002467><TD
2468WIDTH="80%"
2469ALIGN="LEFT"
2470VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002471> the length of <TT
2472CLASS="PARAMETER"
2473><I
2474>out</I
2475></TT
2476></TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002477></TR
2478><TR
2479><TD
2480WIDTH="20%"
2481ALIGN="RIGHT"
2482VALIGN="TOP"
2483><TT
2484CLASS="PARAMETER"
2485><I
2486>in</I
2487></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00002488>&nbsp;:</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002489><TD
2490WIDTH="80%"
2491ALIGN="LEFT"
2492VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002493> a pointer to an array of UTF-8 chars</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002494></TR
2495><TR
2496><TD
2497WIDTH="20%"
2498ALIGN="RIGHT"
2499VALIGN="TOP"
2500><TT
2501CLASS="PARAMETER"
2502><I
2503>inlen</I
2504></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00002505>&nbsp;:</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002506><TD
2507WIDTH="80%"
2508ALIGN="LEFT"
2509VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002510> the length of <TT
2511CLASS="PARAMETER"
2512><I
2513>in</I
2514></TT
2515></TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002516></TR
2517><TR
2518><TD
2519WIDTH="20%"
2520ALIGN="RIGHT"
2521VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00002522><SPAN
2523CLASS="emphasis"
Daniel Veillarda41123c2001-04-22 19:31:20 +00002524><I
2525CLASS="EMPHASIS"
2526>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00002527></SPAN
Daniel Veillarda41123c2001-04-22 19:31:20 +00002528> :</TD
2529><TD
2530WIDTH="80%"
2531ALIGN="LEFT"
2532VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002533>0 if success, -2 if the transcoding fails, or -1 otherwise
2534The value of <TT
2535CLASS="PARAMETER"
2536><I
2537>inlen</I
2538></TT
2539> after return is the number of octets consumed
Daniel Veillardaec63562003-03-23 20:42:17 +00002540 as the return value is positive, else unpredictable.
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002541The value of <TT
2542CLASS="PARAMETER"
2543><I
2544>outlen</I
2545></TT
2546> after return is the number of ocetes consumed.</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002547></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +00002548></TBODY
Daniel Veillarda41123c2001-04-22 19:31:20 +00002549></TABLE
2550><P
2551></P
2552></DIV
2553></DIV
2554><HR><DIV
2555CLASS="REFSECT2"
2556><A
Daniel Veillardaec63562003-03-23 20:42:17 +00002557NAME="AEN27372"
Daniel Veillarda41123c2001-04-22 19:31:20 +00002558></A
2559><H3
2560><A
2561NAME="ISOLAT1TOUTF8"
2562></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00002563>isolat1ToUTF8 ()</H3
Daniel Veillarda41123c2001-04-22 19:31:20 +00002564><TABLE
2565BORDER="0"
2566BGCOLOR="#D6E8FF"
2567WIDTH="100%"
2568CELLPADDING="6"
2569><TR
2570><TD
2571><PRE
2572CLASS="PROGRAMLISTING"
2573>int isolat1ToUTF8 (unsigned char *out,
2574 int *outlen,
2575 unsigned char *in,
2576 int *inlen);</PRE
2577></TD
2578></TR
2579></TABLE
2580><P
2581>Take a block of ISO Latin 1 chars in and try to convert it to an UTF-8
2582block of chars out.</P
2583><P
2584></P
2585><DIV
2586CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00002587><A
Daniel Veillardaec63562003-03-23 20:42:17 +00002588NAME="AEN27378"
2589></A
2590><P
Daniel Veillarda41123c2001-04-22 19:31:20 +00002591></P
2592><TABLE
2593BORDER="0"
2594WIDTH="100%"
2595BGCOLOR="#FFD0D0"
2596CELLSPACING="0"
2597CELLPADDING="4"
2598CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00002599><TBODY
Daniel Veillarda41123c2001-04-22 19:31:20 +00002600><TR
2601><TD
2602WIDTH="20%"
2603ALIGN="RIGHT"
2604VALIGN="TOP"
2605><TT
2606CLASS="PARAMETER"
2607><I
2608>out</I
2609></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00002610>&nbsp;:</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002611><TD
2612WIDTH="80%"
2613ALIGN="LEFT"
2614VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002615> a pointer to an array of bytes to store the result</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002616></TR
2617><TR
2618><TD
2619WIDTH="20%"
2620ALIGN="RIGHT"
2621VALIGN="TOP"
2622><TT
2623CLASS="PARAMETER"
2624><I
2625>outlen</I
2626></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00002627>&nbsp;:</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002628><TD
2629WIDTH="80%"
2630ALIGN="LEFT"
2631VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002632> the length of <TT
2633CLASS="PARAMETER"
2634><I
2635>out</I
2636></TT
2637></TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002638></TR
2639><TR
2640><TD
2641WIDTH="20%"
2642ALIGN="RIGHT"
2643VALIGN="TOP"
2644><TT
2645CLASS="PARAMETER"
2646><I
2647>in</I
2648></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00002649>&nbsp;:</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002650><TD
2651WIDTH="80%"
2652ALIGN="LEFT"
2653VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002654> a pointer to an array of ISO Latin 1 chars</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002655></TR
2656><TR
2657><TD
2658WIDTH="20%"
2659ALIGN="RIGHT"
2660VALIGN="TOP"
2661><TT
2662CLASS="PARAMETER"
2663><I
2664>inlen</I
2665></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00002666>&nbsp;:</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002667><TD
2668WIDTH="80%"
2669ALIGN="LEFT"
2670VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002671> the length of <TT
2672CLASS="PARAMETER"
2673><I
2674>in</I
2675></TT
2676></TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002677></TR
2678><TR
2679><TD
2680WIDTH="20%"
2681ALIGN="RIGHT"
2682VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00002683><SPAN
2684CLASS="emphasis"
Daniel Veillarda41123c2001-04-22 19:31:20 +00002685><I
2686CLASS="EMPHASIS"
2687>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00002688></SPAN
Daniel Veillarda41123c2001-04-22 19:31:20 +00002689> :</TD
2690><TD
2691WIDTH="80%"
2692ALIGN="LEFT"
2693VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002694>0 if success, or -1 otherwise
2695The value of <TT
2696CLASS="PARAMETER"
2697><I
2698>inlen</I
2699></TT
2700> after return is the number of octets consumed
Daniel Veillardaec63562003-03-23 20:42:17 +00002701 as the return value is positive, else unpredictable.
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002702The value of <TT
2703CLASS="PARAMETER"
2704><I
2705>outlen</I
2706></TT
2707> after return is the number of ocetes consumed.</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002708></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +00002709></TBODY
Daniel Veillarda41123c2001-04-22 19:31:20 +00002710></TABLE
2711><P
2712></P
2713></DIV
2714></DIV
2715><HR><DIV
2716CLASS="REFSECT2"
2717><A
Daniel Veillardaec63562003-03-23 20:42:17 +00002718NAME="AEN27407"
2719></A
2720><H3
2721><A
2722NAME="XMLGETUTF8CHAR"
2723></A
2724>xmlGetUTF8Char ()</H3
2725><TABLE
2726BORDER="0"
2727BGCOLOR="#D6E8FF"
2728WIDTH="100%"
2729CELLPADDING="6"
2730><TR
2731><TD
2732><PRE
2733CLASS="PROGRAMLISTING"
2734>int xmlGetUTF8Char (unsigned char *utf,
2735 int *len);</PRE
2736></TD
2737></TR
2738></TABLE
2739><P
2740>Read one UTF8 Char from <TT
2741CLASS="PARAMETER"
2742><I
2743>utf</I
2744></TT
2745></P
2746><P
2747></P
2748><DIV
2749CLASS="INFORMALTABLE"
2750><A
2751NAME="AEN27414"
2752></A
2753><P
2754></P
2755><TABLE
2756BORDER="0"
2757WIDTH="100%"
2758BGCOLOR="#FFD0D0"
2759CELLSPACING="0"
2760CELLPADDING="4"
2761CLASS="CALSTABLE"
2762><TBODY
2763><TR
2764><TD
2765WIDTH="20%"
2766ALIGN="RIGHT"
2767VALIGN="TOP"
2768><TT
2769CLASS="PARAMETER"
2770><I
2771>utf</I
2772></TT
2773>&nbsp;:</TD
2774><TD
2775WIDTH="80%"
2776ALIGN="LEFT"
2777VALIGN="TOP"
2778> a sequence of UTF-8 encoded bytes</TD
2779></TR
2780><TR
2781><TD
2782WIDTH="20%"
2783ALIGN="RIGHT"
2784VALIGN="TOP"
2785><TT
2786CLASS="PARAMETER"
2787><I
2788>len</I
2789></TT
2790>&nbsp;:</TD
2791><TD
2792WIDTH="80%"
2793ALIGN="LEFT"
2794VALIGN="TOP"
2795> a pointer to <TT
2796CLASS="PARAMETER"
2797><I
2798>bytes</I
2799></TT
2800> len</TD
2801></TR
2802><TR
2803><TD
2804WIDTH="20%"
2805ALIGN="RIGHT"
2806VALIGN="TOP"
2807><SPAN
2808CLASS="emphasis"
2809><I
2810CLASS="EMPHASIS"
2811>Returns</I
2812></SPAN
2813> :</TD
2814><TD
2815WIDTH="80%"
2816ALIGN="LEFT"
2817VALIGN="TOP"
2818>the char value or -1 in case of error and update <TT
2819CLASS="PARAMETER"
2820><I
2821>len</I
2822></TT
2823> with the
2824 number of bytes used</TD
2825></TR
2826></TBODY
2827></TABLE
2828><P
2829></P
2830></DIV
2831></DIV
2832><HR><DIV
2833CLASS="REFSECT2"
2834><A
2835NAME="AEN27433"
Daniel Veillarda41123c2001-04-22 19:31:20 +00002836></A
2837><H3
2838><A
2839NAME="XMLCHECKUTF8"
2840></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00002841>xmlCheckUTF8 ()</H3
Daniel Veillarda41123c2001-04-22 19:31:20 +00002842><TABLE
2843BORDER="0"
2844BGCOLOR="#D6E8FF"
2845WIDTH="100%"
2846CELLPADDING="6"
2847><TR
2848><TD
2849><PRE
2850CLASS="PROGRAMLISTING"
2851>int xmlCheckUTF8 (unsigned char *utf);</PRE
2852></TD
2853></TR
2854></TABLE
2855><P
2856>Checks <TT
2857CLASS="PARAMETER"
2858><I
2859>utf</I
2860></TT
2861> for being valid utf-8. <TT
2862CLASS="PARAMETER"
2863><I
2864>utf</I
2865></TT
2866> is assumed to be
2867null-terminated. This function is not super-strict, as it will
2868allow longer utf-8 sequences than necessary. Note that Java is
2869capable of producing these sequences if provoked. Also note, this
Daniel Veillardcbaf3992001-12-31 16:16:02 +00002870routine checks for the 4-byte maximum size, but does not check for
Daniel Veillarda41123c2001-04-22 19:31:20 +000028710x10ffff maximum value.</P
2872><P
2873></P
2874><DIV
2875CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00002876><A
Daniel Veillardaec63562003-03-23 20:42:17 +00002877NAME="AEN27441"
2878></A
2879><P
Daniel Veillarda41123c2001-04-22 19:31:20 +00002880></P
2881><TABLE
2882BORDER="0"
2883WIDTH="100%"
2884BGCOLOR="#FFD0D0"
2885CELLSPACING="0"
2886CELLPADDING="4"
2887CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00002888><TBODY
Daniel Veillarda41123c2001-04-22 19:31:20 +00002889><TR
2890><TD
2891WIDTH="20%"
2892ALIGN="RIGHT"
2893VALIGN="TOP"
2894><TT
2895CLASS="PARAMETER"
2896><I
2897>utf</I
2898></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00002899>&nbsp;:</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002900><TD
2901WIDTH="80%"
2902ALIGN="LEFT"
2903VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002904> Pointer to putative utf-8 encoded string.</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002905></TR
2906><TR
2907><TD
2908WIDTH="20%"
2909ALIGN="RIGHT"
2910VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00002911><SPAN
2912CLASS="emphasis"
Daniel Veillarda41123c2001-04-22 19:31:20 +00002913><I
2914CLASS="EMPHASIS"
2915>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00002916></SPAN
Daniel Veillarda41123c2001-04-22 19:31:20 +00002917> :</TD
2918><TD
2919WIDTH="80%"
2920ALIGN="LEFT"
2921VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002922> true if <TT
2923CLASS="PARAMETER"
2924><I
2925>utf</I
2926></TT
2927> is valid.</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00002928></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +00002929></TBODY
Daniel Veillarda41123c2001-04-22 19:31:20 +00002930></TABLE
2931><P
2932></P
2933></DIV
2934></DIV
2935><HR><DIV
2936CLASS="REFSECT2"
2937><A
Daniel Veillardaec63562003-03-23 20:42:17 +00002938NAME="AEN27455"
Daniel Veillard4ec885a2001-06-17 10:31:07 +00002939></A
2940><H3
2941><A
2942NAME="XMLUTF8STRSIZE"
2943></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00002944>xmlUTF8Strsize ()</H3
Daniel Veillard4ec885a2001-06-17 10:31:07 +00002945><TABLE
2946BORDER="0"
2947BGCOLOR="#D6E8FF"
2948WIDTH="100%"
2949CELLPADDING="6"
2950><TR
2951><TD
2952><PRE
2953CLASS="PROGRAMLISTING"
2954>int xmlUTF8Strsize (const <A
2955HREF="libxml-tree.html#XMLCHAR"
2956>xmlChar</A
2957> *utf,
2958 int len);</PRE
2959></TD
2960></TR
2961></TABLE
2962><P
2963>storage size of an UTF8 string</P
2964><P
2965></P
2966><DIV
2967CLASS="INFORMALTABLE"
2968><A
Daniel Veillardaec63562003-03-23 20:42:17 +00002969NAME="AEN27462"
2970></A
2971><P
Daniel Veillard4ec885a2001-06-17 10:31:07 +00002972></P
2973><TABLE
2974BORDER="0"
2975WIDTH="100%"
2976BGCOLOR="#FFD0D0"
2977CELLSPACING="0"
2978CELLPADDING="4"
2979CLASS="CALSTABLE"
2980><TBODY
2981><TR
2982><TD
2983WIDTH="20%"
2984ALIGN="RIGHT"
2985VALIGN="TOP"
2986><TT
2987CLASS="PARAMETER"
2988><I
2989>utf</I
2990></TT
2991>&nbsp;:</TD
2992><TD
2993WIDTH="80%"
2994ALIGN="LEFT"
2995VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00002996> a sequence of UTF-8 encoded bytes</TD
Daniel Veillard4ec885a2001-06-17 10:31:07 +00002997></TR
2998><TR
2999><TD
3000WIDTH="20%"
3001ALIGN="RIGHT"
3002VALIGN="TOP"
3003><TT
3004CLASS="PARAMETER"
3005><I
3006>len</I
3007></TT
3008>&nbsp;:</TD
3009><TD
3010WIDTH="80%"
3011ALIGN="LEFT"
3012VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00003013> the number of characters in the array</TD
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003014></TR
3015><TR
3016><TD
3017WIDTH="20%"
3018ALIGN="RIGHT"
3019VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00003020><SPAN
3021CLASS="emphasis"
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003022><I
3023CLASS="EMPHASIS"
3024>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00003025></SPAN
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003026> :</TD
3027><TD
3028WIDTH="80%"
3029ALIGN="LEFT"
3030VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00003031>the storage size of
3032the first 'len' characters of ARRAY&#13;</TD
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003033></TR
3034></TBODY
3035></TABLE
3036><P
3037></P
3038></DIV
3039></DIV
3040><HR><DIV
3041CLASS="REFSECT2"
3042><A
Daniel Veillardaec63562003-03-23 20:42:17 +00003043NAME="AEN27479"
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003044></A
3045><H3
3046><A
3047NAME="XMLUTF8STRNDUP"
3048></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00003049>xmlUTF8Strndup ()</H3
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003050><TABLE
3051BORDER="0"
3052BGCOLOR="#D6E8FF"
3053WIDTH="100%"
3054CELLPADDING="6"
3055><TR
3056><TD
3057><PRE
3058CLASS="PROGRAMLISTING"
3059><A
3060HREF="libxml-tree.html#XMLCHAR"
3061>xmlChar</A
3062>* xmlUTF8Strndup (const <A
3063HREF="libxml-tree.html#XMLCHAR"
3064>xmlChar</A
3065> *utf,
3066 int len);</PRE
3067></TD
3068></TR
3069></TABLE
3070><P
3071>a strndup for array of UTF8's</P
3072><P
3073></P
3074><DIV
3075CLASS="INFORMALTABLE"
3076><A
Daniel Veillardaec63562003-03-23 20:42:17 +00003077NAME="AEN27487"
3078></A
3079><P
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003080></P
3081><TABLE
3082BORDER="0"
3083WIDTH="100%"
3084BGCOLOR="#FFD0D0"
3085CELLSPACING="0"
3086CELLPADDING="4"
3087CLASS="CALSTABLE"
3088><TBODY
3089><TR
3090><TD
3091WIDTH="20%"
3092ALIGN="RIGHT"
3093VALIGN="TOP"
3094><TT
3095CLASS="PARAMETER"
3096><I
3097>utf</I
3098></TT
3099>&nbsp;:</TD
3100><TD
3101WIDTH="80%"
3102ALIGN="LEFT"
3103VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00003104> the input UTF8 *</TD
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003105></TR
3106><TR
3107><TD
3108WIDTH="20%"
3109ALIGN="RIGHT"
3110VALIGN="TOP"
3111><TT
3112CLASS="PARAMETER"
3113><I
3114>len</I
3115></TT
3116>&nbsp;:</TD
3117><TD
3118WIDTH="80%"
3119ALIGN="LEFT"
3120VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00003121> the len of <TT
3122CLASS="PARAMETER"
3123><I
3124>utf</I
3125></TT
3126> (in chars)</TD
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003127></TR
3128><TR
3129><TD
3130WIDTH="20%"
3131ALIGN="RIGHT"
3132VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00003133><SPAN
3134CLASS="emphasis"
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003135><I
3136CLASS="EMPHASIS"
3137>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00003138></SPAN
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003139> :</TD
3140><TD
3141WIDTH="80%"
3142ALIGN="LEFT"
3143VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00003144>a new UTF8 * or NULL</TD
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003145></TR
3146></TBODY
3147></TABLE
3148><P
3149></P
3150></DIV
3151></DIV
3152><HR><DIV
3153CLASS="REFSECT2"
3154><A
Daniel Veillardaec63562003-03-23 20:42:17 +00003155NAME="AEN27505"
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003156></A
3157><H3
3158><A
3159NAME="XMLUTF8STRPOS"
3160></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00003161>xmlUTF8Strpos ()</H3
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003162><TABLE
3163BORDER="0"
3164BGCOLOR="#D6E8FF"
3165WIDTH="100%"
3166CELLPADDING="6"
3167><TR
3168><TD
3169><PRE
3170CLASS="PROGRAMLISTING"
3171><A
3172HREF="libxml-tree.html#XMLCHAR"
3173>xmlChar</A
3174>* xmlUTF8Strpos (const <A
3175HREF="libxml-tree.html#XMLCHAR"
3176>xmlChar</A
3177> *utf,
3178 int pos);</PRE
3179></TD
3180></TR
3181></TABLE
3182><P
3183>a function to provide the equivalent of fetching a
3184character from a string array</P
3185><P
3186></P
3187><DIV
3188CLASS="INFORMALTABLE"
3189><A
Daniel Veillardaec63562003-03-23 20:42:17 +00003190NAME="AEN27513"
3191></A
3192><P
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003193></P
3194><TABLE
3195BORDER="0"
3196WIDTH="100%"
3197BGCOLOR="#FFD0D0"
3198CELLSPACING="0"
3199CELLPADDING="4"
3200CLASS="CALSTABLE"
3201><TBODY
3202><TR
3203><TD
3204WIDTH="20%"
3205ALIGN="RIGHT"
3206VALIGN="TOP"
3207><TT
3208CLASS="PARAMETER"
3209><I
3210>utf</I
3211></TT
3212>&nbsp;:</TD
3213><TD
3214WIDTH="80%"
3215ALIGN="LEFT"
3216VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00003217> the input UTF8 *</TD
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003218></TR
3219><TR
3220><TD
3221WIDTH="20%"
3222ALIGN="RIGHT"
3223VALIGN="TOP"
3224><TT
3225CLASS="PARAMETER"
3226><I
3227>pos</I
3228></TT
3229>&nbsp;:</TD
3230><TD
3231WIDTH="80%"
3232ALIGN="LEFT"
3233VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00003234> the position of the desired UTF8 char (in chars)</TD
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003235></TR
3236><TR
3237><TD
3238WIDTH="20%"
3239ALIGN="RIGHT"
3240VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00003241><SPAN
3242CLASS="emphasis"
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003243><I
3244CLASS="EMPHASIS"
3245>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00003246></SPAN
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003247> :</TD
3248><TD
3249WIDTH="80%"
3250ALIGN="LEFT"
3251VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00003252>a pointer to the UTF8 character or NULL</TD
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003253></TR
3254></TBODY
3255></TABLE
3256><P
3257></P
3258></DIV
3259></DIV
3260><HR><DIV
3261CLASS="REFSECT2"
3262><A
Daniel Veillardaec63562003-03-23 20:42:17 +00003263NAME="AEN27530"
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003264></A
3265><H3
3266><A
3267NAME="XMLUTF8STRLOC"
3268></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00003269>xmlUTF8Strloc ()</H3
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003270><TABLE
3271BORDER="0"
3272BGCOLOR="#D6E8FF"
3273WIDTH="100%"
3274CELLPADDING="6"
3275><TR
3276><TD
3277><PRE
3278CLASS="PROGRAMLISTING"
3279>int xmlUTF8Strloc (const <A
3280HREF="libxml-tree.html#XMLCHAR"
3281>xmlChar</A
3282> *utf,
3283 const <A
3284HREF="libxml-tree.html#XMLCHAR"
3285>xmlChar</A
3286> *utfchar);</PRE
3287></TD
3288></TR
3289></TABLE
3290><P
3291>a function to provide relative location of a UTF8 char</P
3292><P
3293></P
3294><DIV
3295CLASS="INFORMALTABLE"
3296><A
Daniel Veillardaec63562003-03-23 20:42:17 +00003297NAME="AEN27538"
3298></A
3299><P
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003300></P
3301><TABLE
3302BORDER="0"
3303WIDTH="100%"
3304BGCOLOR="#FFD0D0"
3305CELLSPACING="0"
3306CELLPADDING="4"
3307CLASS="CALSTABLE"
3308><TBODY
3309><TR
3310><TD
3311WIDTH="20%"
3312ALIGN="RIGHT"
3313VALIGN="TOP"
3314><TT
3315CLASS="PARAMETER"
3316><I
3317>utf</I
3318></TT
3319>&nbsp;:</TD
3320><TD
3321WIDTH="80%"
3322ALIGN="LEFT"
3323VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00003324> the input UTF8 *</TD
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003325></TR
3326><TR
3327><TD
3328WIDTH="20%"
3329ALIGN="RIGHT"
3330VALIGN="TOP"
3331><TT
3332CLASS="PARAMETER"
3333><I
3334>utfchar</I
3335></TT
3336>&nbsp;:</TD
3337><TD
3338WIDTH="80%"
3339ALIGN="LEFT"
3340VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00003341> the UTF8 character to be found</TD
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003342></TR
3343><TR
3344><TD
3345WIDTH="20%"
3346ALIGN="RIGHT"
3347VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00003348><SPAN
3349CLASS="emphasis"
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003350><I
3351CLASS="EMPHASIS"
3352>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00003353></SPAN
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003354> :</TD
3355><TD
3356WIDTH="80%"
3357ALIGN="LEFT"
3358VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00003359>the relative character position of the desired char
3360or -1 if not found</TD
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003361></TR
3362></TBODY
3363></TABLE
3364><P
3365></P
3366></DIV
3367></DIV
3368><HR><DIV
3369CLASS="REFSECT2"
3370><A
Daniel Veillardaec63562003-03-23 20:42:17 +00003371NAME="AEN27555"
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003372></A
3373><H3
3374><A
3375NAME="XMLUTF8STRSUB"
3376></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00003377>xmlUTF8Strsub ()</H3
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003378><TABLE
3379BORDER="0"
3380BGCOLOR="#D6E8FF"
3381WIDTH="100%"
3382CELLPADDING="6"
3383><TR
3384><TD
3385><PRE
3386CLASS="PROGRAMLISTING"
3387><A
3388HREF="libxml-tree.html#XMLCHAR"
3389>xmlChar</A
3390>* xmlUTF8Strsub (const <A
3391HREF="libxml-tree.html#XMLCHAR"
3392>xmlChar</A
3393> *utf,
3394 int start,
3395 int len);</PRE
3396></TD
3397></TR
3398></TABLE
3399><P
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003400>Note: positions are given in units of UTF-8 chars</P
3401><P
3402></P
3403><DIV
3404CLASS="INFORMALTABLE"
3405><A
Daniel Veillardaec63562003-03-23 20:42:17 +00003406NAME="AEN27563"
3407></A
3408><P
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003409></P
3410><TABLE
3411BORDER="0"
3412WIDTH="100%"
3413BGCOLOR="#FFD0D0"
3414CELLSPACING="0"
3415CELLPADDING="4"
3416CLASS="CALSTABLE"
3417><TBODY
3418><TR
3419><TD
3420WIDTH="20%"
3421ALIGN="RIGHT"
3422VALIGN="TOP"
3423><TT
3424CLASS="PARAMETER"
3425><I
3426>utf</I
3427></TT
3428>&nbsp;:</TD
3429><TD
3430WIDTH="80%"
3431ALIGN="LEFT"
3432VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00003433> a sequence of UTF-8 encoded bytes</TD
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003434></TR
3435><TR
3436><TD
3437WIDTH="20%"
3438ALIGN="RIGHT"
3439VALIGN="TOP"
3440><TT
3441CLASS="PARAMETER"
3442><I
3443>start</I
3444></TT
3445>&nbsp;:</TD
3446><TD
3447WIDTH="80%"
3448ALIGN="LEFT"
3449VALIGN="TOP"
Daniel Veillardf012a642001-07-23 19:10:52 +00003450> relative pos of first char</TD
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003451></TR
3452><TR
3453><TD
3454WIDTH="20%"
3455ALIGN="RIGHT"
3456VALIGN="TOP"
3457><TT
3458CLASS="PARAMETER"
3459><I
3460>len</I
3461></TT
3462>&nbsp;:</TD
3463><TD
3464WIDTH="80%"
3465ALIGN="LEFT"
3466VALIGN="TOP"
Daniel Veillardf012a642001-07-23 19:10:52 +00003467> total number to copy</TD
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003468></TR
3469><TR
3470><TD
3471WIDTH="20%"
3472ALIGN="RIGHT"
3473VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00003474><SPAN
3475CLASS="emphasis"
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003476><I
3477CLASS="EMPHASIS"
3478>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00003479></SPAN
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003480> :</TD
3481><TD
3482WIDTH="80%"
3483ALIGN="LEFT"
3484VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00003485>a pointer to a newly created string
3486or NULL if any problem</TD
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003487></TR
3488></TBODY
3489></TABLE
3490><P
3491></P
3492></DIV
3493></DIV
3494><HR><DIV
3495CLASS="REFSECT2"
3496><A
Daniel Veillardaec63562003-03-23 20:42:17 +00003497NAME="AEN27584"
Daniel Veillarda41123c2001-04-22 19:31:20 +00003498></A
3499><H3
3500><A
3501NAME="XMLUTF8STRLEN"
3502></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00003503>xmlUTF8Strlen ()</H3
Daniel Veillarda41123c2001-04-22 19:31:20 +00003504><TABLE
3505BORDER="0"
3506BGCOLOR="#D6E8FF"
3507WIDTH="100%"
3508CELLPADDING="6"
3509><TR
3510><TD
3511><PRE
3512CLASS="PROGRAMLISTING"
Daniel Veillard4ec885a2001-06-17 10:31:07 +00003513>int xmlUTF8Strlen (const <A
3514HREF="libxml-tree.html#XMLCHAR"
3515>xmlChar</A
3516> *utf);</PRE
Daniel Veillarda41123c2001-04-22 19:31:20 +00003517></TD
3518></TR
3519></TABLE
3520><P
Daniel Veillard60087f32001-10-10 09:45:09 +00003521>compute the length of an UTF8 string, it doesn't do a full UTF8
Daniel Veillarda41123c2001-04-22 19:31:20 +00003522checking of the content of the string.</P
3523><P
3524></P
3525><DIV
3526CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00003527><A
Daniel Veillardaec63562003-03-23 20:42:17 +00003528NAME="AEN27591"
3529></A
3530><P
Daniel Veillarda41123c2001-04-22 19:31:20 +00003531></P
3532><TABLE
3533BORDER="0"
3534WIDTH="100%"
3535BGCOLOR="#FFD0D0"
3536CELLSPACING="0"
3537CELLPADDING="4"
3538CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00003539><TBODY
Daniel Veillarda41123c2001-04-22 19:31:20 +00003540><TR
3541><TD
3542WIDTH="20%"
3543ALIGN="RIGHT"
3544VALIGN="TOP"
3545><TT
3546CLASS="PARAMETER"
3547><I
3548>utf</I
3549></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00003550>&nbsp;:</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00003551><TD
3552WIDTH="80%"
3553ALIGN="LEFT"
3554VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00003555> a sequence of UTF-8 encoded bytes</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00003556></TR
3557><TR
3558><TD
3559WIDTH="20%"
3560ALIGN="RIGHT"
3561VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00003562><SPAN
3563CLASS="emphasis"
Daniel Veillarda41123c2001-04-22 19:31:20 +00003564><I
3565CLASS="EMPHASIS"
3566>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00003567></SPAN
Daniel Veillarda41123c2001-04-22 19:31:20 +00003568> :</TD
3569><TD
3570WIDTH="80%"
3571ALIGN="LEFT"
3572VALIGN="TOP"
Daniel Veillard4b8328d2001-07-05 22:48:42 +00003573>the number of characters in the string or -1 in case of error</TD
Daniel Veillarda41123c2001-04-22 19:31:20 +00003574></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +00003575></TBODY
Daniel Veillarda41123c2001-04-22 19:31:20 +00003576></TABLE
3577><P
3578></P
3579></DIV
3580></DIV
Daniel Veillardaeea04f2000-01-25 19:27:27 +00003581></DIV
3582><DIV
3583CLASS="NAVFOOTER"
3584><BR
3585CLEAR="all"><BR><TABLE
3586WIDTH="100%"
3587BORDER="0"
3588BGCOLOR="#000000"
3589CELLPADDING="1"
3590CELLSPACING="0"
3591><TR
3592><TD
3593WIDTH="25%"
3594BGCOLOR="#C00000"
3595ALIGN="left"
3596><A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +00003597HREF="libxml-parserinternals.html"
Daniel Veillardaeea04f2000-01-25 19:27:27 +00003598><FONT
3599COLOR="#FFFFFF"
3600SIZE="3"
3601><B
3602>&#60;&#60;&#60; Previous Page</B
3603></FONT
3604></A
3605></TD
3606><TD
3607WIDTH="25%"
3608BGCOLOR="#0000C0"
3609ALIGN="center"
3610><FONT
3611COLOR="#FFFFFF"
3612SIZE="3"
3613><B
3614><A
3615HREF="book1.html"
3616><FONT
3617COLOR="#FFFFFF"
3618SIZE="3"
3619><B
3620>Home</B
3621></FONT
3622></A
3623></B
3624></FONT
3625></TD
3626><TD
3627WIDTH="25%"
3628BGCOLOR="#00C000"
3629ALIGN="center"
3630><FONT
3631COLOR="#FFFFFF"
3632SIZE="3"
3633><B
3634><A
3635HREF="libxml-lib.html"
3636><FONT
3637COLOR="#FFFFFF"
3638SIZE="3"
3639><B
3640>Up</B
3641></FONT
3642></A
3643></B
3644></FONT
3645></TD
3646><TD
3647WIDTH="25%"
3648BGCOLOR="#C00000"
3649ALIGN="right"
3650><A
Daniel Veillard52dcab32001-10-30 12:51:17 +00003651HREF="libxml-hash.html"
Daniel Veillardaeea04f2000-01-25 19:27:27 +00003652><FONT
3653COLOR="#FFFFFF"
3654SIZE="3"
3655><B
3656>Next Page &#62;&#62;&#62;</B
3657></FONT
3658></A
3659></TD
3660></TR
3661><TR
3662><TD
3663COLSPAN="2"
3664ALIGN="left"
3665><FONT
3666COLOR="#FFFFFF"
3667SIZE="3"
3668><B
3669>parserInternals</B
3670></FONT
3671></TD
3672><TD
3673COLSPAN="2"
3674ALIGN="right"
3675><FONT
3676COLOR="#FFFFFF"
3677SIZE="3"
3678><B
Daniel Veillard52dcab32001-10-30 12:51:17 +00003679>hash</B
Daniel Veillardaeea04f2000-01-25 19:27:27 +00003680></FONT
3681></TD
3682></TR
3683></TABLE
3684></DIV
3685></BODY
3686></HTML
3687>