blob: a754e1ea231a6b229f0cc43f04635d168943d8e6 [file] [log] [blame]
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001<HTML
2><HEAD
3><TITLE
4>uri</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 Veillardb732a0e2000-10-15 11:27:01 +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"
Daniel Veillardaec63562003-03-23 20:42:17 +000016TITLE="relaxng"
17HREF="libxml-relaxng.html"><LINK
Daniel Veillardb732a0e2000-10-15 11:27:01 +000018REL="NEXT"
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +000019TITLE="xmlerror"
20HREF="libxml-xmlerror.html"></HEAD
Daniel Veillardb732a0e2000-10-15 11:27:01 +000021><BODY
Daniel Veillardbed7b052001-05-19 14:59:49 +000022CLASS="REFENTRY"
Daniel Veillardb732a0e2000-10-15 11:27:01 +000023BGCOLOR="#FFFFFF"
24TEXT="#000000"
Daniel Veillard503b8932001-01-05 06:36:31 +000025LINK="#0000FF"
26VLINK="#840084"
27ALINK="#0000FF"
Daniel Veillardb732a0e2000-10-15 11:27:01 +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 Veillardaec63562003-03-23 20:42:17 +000052HREF="libxml-relaxng.html"
Daniel Veillardb732a0e2000-10-15 11:27:01 +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 Veillard3bbbe6f2001-05-03 11:15:37 +0000106HREF="libxml-xmlerror.html"
Daniel Veillardb732a0e2000-10-15 11:27:01 +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-URI"
121></A
122>uri</H1
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000123><DIV
124CLASS="REFNAMEDIV"
125><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000126NAME="AEN12609"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000127></A
128><H2
129>Name</H2
Daniel Veillard503b8932001-01-05 06:36:31 +0000130>uri&nbsp;--&nbsp;</DIV
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000131><DIV
132CLASS="REFSYNOPSISDIV"
133><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000134NAME="AEN12612"
135></A
136><H2
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000137>Synopsis</H2
138><TABLE
139BORDER="0"
140BGCOLOR="#D6E8FF"
141WIDTH="100%"
142CELLPADDING="6"
143><TR
144><TD
145><PRE
146CLASS="SYNOPSIS"
147>&#13;
148
149struct <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000150HREF="libxml-uri.html#XMLURI"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000151>xmlURI</A
152>;
153typedef <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000154HREF="libxml-uri.html#XMLURIPTR"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000155>xmlURIPtr</A
156>;
157<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000158HREF="libxml-uri.html#XMLURIPTR"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000159>xmlURIPtr</A
160> <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000161HREF="libxml-uri.html#XMLCREATEURI"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000162>xmlCreateURI</A
163> (void);
164<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000165HREF="libxml-tree.html#XMLCHAR"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000166>xmlChar</A
167>* <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000168HREF="libxml-uri.html#XMLBUILDURI"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000169>xmlBuildURI</A
170> (const <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000171HREF="libxml-tree.html#XMLCHAR"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000172>xmlChar</A
173> *URI,
174 const <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000175HREF="libxml-tree.html#XMLCHAR"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000176>xmlChar</A
177> *base);
178<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000179HREF="libxml-uri.html#XMLURIPTR"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000180>xmlURIPtr</A
181> <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000182HREF="libxml-uri.html#XMLPARSEURI"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000183>xmlParseURI</A
Daniel Veillardef90ba72001-12-07 14:24:22 +0000184> (const char *str);
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000185int <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000186HREF="libxml-uri.html#XMLPARSEURIREFERENCE"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000187>xmlParseURIReference</A
188> (<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000189HREF="libxml-uri.html#XMLURIPTR"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000190>xmlURIPtr</A
191> uri,
192 const char *str);
193<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000194HREF="libxml-tree.html#XMLCHAR"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000195>xmlChar</A
196>* <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000197HREF="libxml-uri.html#XMLSAVEURI"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000198>xmlSaveUri</A
199> (<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000200HREF="libxml-uri.html#XMLURIPTR"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000201>xmlURIPtr</A
202> uri);
203void <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000204HREF="libxml-uri.html#XMLPRINTURI"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000205>xmlPrintURI</A
206> (<GTKDOCLINK
Daniel Veillard503b8932001-01-05 06:36:31 +0000207HREF="FILE-CAPS"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000208>FILE</GTKDOCLINK
209> *stream,
210 <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000211HREF="libxml-uri.html#XMLURIPTR"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000212>xmlURIPtr</A
213> uri);
Daniel Veillard4ec885a2001-06-17 10:31:07 +0000214<A
215HREF="libxml-tree.html#XMLCHAR"
216>xmlChar</A
217>* <A
218HREF="libxml-uri.html#XMLURIESCAPESTR"
219>xmlURIEscapeStr</A
220> (const <A
221HREF="libxml-tree.html#XMLCHAR"
222>xmlChar</A
223> *str,
224 const <A
225HREF="libxml-tree.html#XMLCHAR"
226>xmlChar</A
227> *list);
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000228char* <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000229HREF="libxml-uri.html#XMLURIUNESCAPESTRING"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000230>xmlURIUnescapeString</A
231> (const char *str,
232 int len,
233 char *target);
234int <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000235HREF="libxml-uri.html#XMLNORMALIZEURIPATH"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000236>xmlNormalizeURIPath</A
237> (char *path);
Daniel Veillard28929b22000-11-13 18:22:49 +0000238<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000239HREF="libxml-tree.html#XMLCHAR"
Daniel Veillard28929b22000-11-13 18:22:49 +0000240>xmlChar</A
241>* <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000242HREF="libxml-uri.html#XMLURIESCAPE"
Daniel Veillard28929b22000-11-13 18:22:49 +0000243>xmlURIEscape</A
244> (const <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000245HREF="libxml-tree.html#XMLCHAR"
Daniel Veillard28929b22000-11-13 18:22:49 +0000246>xmlChar</A
247> *str);
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000248void <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000249HREF="libxml-uri.html#XMLFREEURI"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000250>xmlFreeURI</A
251> (<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000252HREF="libxml-uri.html#XMLURIPTR"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000253>xmlURIPtr</A
Daniel Veillardaec63562003-03-23 20:42:17 +0000254> uri);
255<A
256HREF="libxml-tree.html#XMLCHAR"
257>xmlChar</A
258>* <A
259HREF="libxml-uri.html#XMLCANONICPATH"
260>xmlCanonicPath</A
261> (const <A
262HREF="libxml-tree.html#XMLCHAR"
263>xmlChar</A
264> *path);</PRE
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000265></TD
266></TR
267></TABLE
268></DIV
269><DIV
270CLASS="REFSECT1"
271><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000272NAME="AEN12647"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000273></A
274><H2
275>Description</H2
276><P
277></P
278></DIV
279><DIV
280CLASS="REFSECT1"
281><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000282NAME="AEN12650"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000283></A
284><H2
285>Details</H2
286><DIV
287CLASS="REFSECT2"
288><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000289NAME="AEN12652"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000290></A
291><H3
292><A
293NAME="XMLURI"
294></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000295>struct xmlURI</H3
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000296><TABLE
297BORDER="0"
298BGCOLOR="#D6E8FF"
299WIDTH="100%"
300CELLPADDING="6"
301><TR
302><TD
303><PRE
304CLASS="PROGRAMLISTING"
305>struct xmlURI {
Daniel Veillardef90ba72001-12-07 14:24:22 +0000306 char *scheme; /* the URI scheme */
307 char *opaque; /* opaque part */
308 char *authority; /* the authority part */
309 char *server; /* the server part */
310 char *user; /* the user part */
311 int port; /* the port number */
312 char *path; /* the path string */
313 char *query; /* the query string */
314 char *fragment; /* the fragment identifier */
315 int cleanup; /* parsing potentially unclean URI */
316};</PRE
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000317></TD
318></TR
319></TABLE
320><P
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000321>A parsed URI reference. This is a struct containing the various fields
Daniel Veillard19274092002-03-25 16:48:03 +0000322as described in RFC 2396 but separated for further processing.</P
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000323><P
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000324></P
325></DIV
326><HR><DIV
327CLASS="REFSECT2"
328><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000329NAME="AEN12658"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000330></A
331><H3
332><A
333NAME="XMLURIPTR"
334></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000335>xmlURIPtr</H3
Daniel Veillardef90ba72001-12-07 14:24:22 +0000336><TABLE
337BORDER="0"
338BGCOLOR="#D6E8FF"
339WIDTH="100%"
340CELLPADDING="6"
341><TR
342><TD
343><PRE
344CLASS="PROGRAMLISTING"
345>typedef xmlURI *xmlURIPtr;</PRE
346></TD
347></TR
348></TABLE
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000349><P
350></P
351></DIV
352><HR><DIV
353CLASS="REFSECT2"
354><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000355NAME="AEN12663"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000356></A
357><H3
358><A
359NAME="XMLCREATEURI"
360></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000361>xmlCreateURI ()</H3
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000362><TABLE
363BORDER="0"
364BGCOLOR="#D6E8FF"
365WIDTH="100%"
366CELLPADDING="6"
367><TR
368><TD
369><PRE
370CLASS="PROGRAMLISTING"
371><A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000372HREF="libxml-uri.html#XMLURIPTR"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000373>xmlURIPtr</A
374> xmlCreateURI (void);</PRE
375></TD
376></TR
377></TABLE
378><P
379>Simply creates an empty xmlURI</P
380><P
381></P
382><DIV
383CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +0000384><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000385NAME="AEN12670"
386></A
387><P
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000388></P
389><TABLE
390BORDER="0"
391WIDTH="100%"
392BGCOLOR="#FFD0D0"
393CELLSPACING="0"
394CELLPADDING="4"
395CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +0000396><TBODY
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000397><TR
398><TD
399WIDTH="20%"
400ALIGN="RIGHT"
401VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +0000402><SPAN
403CLASS="emphasis"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000404><I
405CLASS="EMPHASIS"
406>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +0000407></SPAN
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000408> :</TD
409><TD
410WIDTH="80%"
411ALIGN="LEFT"
412VALIGN="TOP"
Daniel Veillardef90ba72001-12-07 14:24:22 +0000413>the new structure or NULL in case of error</TD
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000414></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +0000415></TBODY
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000416></TABLE
417><P
418></P
419></DIV
420></DIV
421><HR><DIV
422CLASS="REFSECT2"
423><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000424NAME="AEN12679"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000425></A
426><H3
427><A
428NAME="XMLBUILDURI"
429></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000430>xmlBuildURI ()</H3
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000431><TABLE
432BORDER="0"
433BGCOLOR="#D6E8FF"
434WIDTH="100%"
435CELLPADDING="6"
436><TR
437><TD
438><PRE
439CLASS="PROGRAMLISTING"
440><A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000441HREF="libxml-tree.html#XMLCHAR"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000442>xmlChar</A
443>* xmlBuildURI (const <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000444HREF="libxml-tree.html#XMLCHAR"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000445>xmlChar</A
446> *URI,
447 const <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000448HREF="libxml-tree.html#XMLCHAR"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000449>xmlChar</A
450> *base);</PRE
451></TD
452></TR
453></TABLE
454><P
455>Computes he final URI of the reference done by checking that
456the given URI is valid, and building the final URI using the
457base URI. This is processed according to section 5.2 of the
458RFC 2396</P
459><P
460>5.2. Resolving Relative References to Absolute Form</P
461><P
462></P
463><DIV
464CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +0000465><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000466NAME="AEN12689"
467></A
468><P
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000469></P
470><TABLE
471BORDER="0"
472WIDTH="100%"
473BGCOLOR="#FFD0D0"
474CELLSPACING="0"
475CELLPADDING="4"
476CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +0000477><TBODY
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000478><TR
479><TD
480WIDTH="20%"
481ALIGN="RIGHT"
482VALIGN="TOP"
483><TT
484CLASS="PARAMETER"
485><I
486>URI</I
487></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +0000488>&nbsp;:</TD
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000489><TD
490WIDTH="80%"
491ALIGN="LEFT"
492VALIGN="TOP"
Daniel Veillardef90ba72001-12-07 14:24:22 +0000493> the URI instance found in the document</TD
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000494></TR
495><TR
496><TD
497WIDTH="20%"
498ALIGN="RIGHT"
499VALIGN="TOP"
500><TT
501CLASS="PARAMETER"
502><I
503>base</I
504></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +0000505>&nbsp;:</TD
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000506><TD
507WIDTH="80%"
508ALIGN="LEFT"
509VALIGN="TOP"
Daniel Veillardef90ba72001-12-07 14:24:22 +0000510> the base value</TD
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000511></TR
512><TR
513><TD
514WIDTH="20%"
515ALIGN="RIGHT"
516VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +0000517><SPAN
518CLASS="emphasis"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000519><I
520CLASS="EMPHASIS"
521>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +0000522></SPAN
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000523> :</TD
524><TD
525WIDTH="80%"
526ALIGN="LEFT"
527VALIGN="TOP"
Daniel Veillardef90ba72001-12-07 14:24:22 +0000528>a new URI string (to be freed by the caller) or NULL in case
Daniel Veillardaec63562003-03-23 20:42:17 +0000529 of error.</TD
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000530></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +0000531></TBODY
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000532></TABLE
533><P
534></P
535></DIV
536></DIV
537><HR><DIV
538CLASS="REFSECT2"
539><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000540NAME="AEN12706"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000541></A
542><H3
543><A
544NAME="XMLPARSEURI"
545></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000546>xmlParseURI ()</H3
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000547><TABLE
548BORDER="0"
549BGCOLOR="#D6E8FF"
550WIDTH="100%"
551CELLPADDING="6"
552><TR
553><TD
554><PRE
555CLASS="PROGRAMLISTING"
556><A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000557HREF="libxml-uri.html#XMLURIPTR"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000558>xmlURIPtr</A
Daniel Veillardef90ba72001-12-07 14:24:22 +0000559> xmlParseURI (const char *str);</PRE
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000560></TD
561></TR
562></TABLE
563><P
564>Parse an URI </P
565><P
566>URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ]</P
567><P
568></P
569><DIV
570CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +0000571><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000572NAME="AEN12714"
573></A
574><P
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000575></P
576><TABLE
577BORDER="0"
578WIDTH="100%"
579BGCOLOR="#FFD0D0"
580CELLSPACING="0"
581CELLPADDING="4"
582CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +0000583><TBODY
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000584><TR
585><TD
586WIDTH="20%"
587ALIGN="RIGHT"
588VALIGN="TOP"
589><TT
590CLASS="PARAMETER"
591><I
Daniel Veillardef90ba72001-12-07 14:24:22 +0000592>str</I
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000593></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +0000594>&nbsp;:</TD
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000595><TD
596WIDTH="80%"
597ALIGN="LEFT"
598VALIGN="TOP"
Daniel Veillardef90ba72001-12-07 14:24:22 +0000599> the URI string to analyze</TD
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000600></TR
601><TR
602><TD
603WIDTH="20%"
604ALIGN="RIGHT"
605VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +0000606><SPAN
607CLASS="emphasis"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000608><I
609CLASS="EMPHASIS"
610>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +0000611></SPAN
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000612> :</TD
613><TD
614WIDTH="80%"
615ALIGN="LEFT"
616VALIGN="TOP"
Daniel Veillardef90ba72001-12-07 14:24:22 +0000617>a newly build xmlURIPtr or NULL in case of error</TD
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000618></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +0000619></TBODY
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000620></TABLE
621><P
622></P
623></DIV
624></DIV
625><HR><DIV
626CLASS="REFSECT2"
627><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000628NAME="AEN12727"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000629></A
630><H3
631><A
632NAME="XMLPARSEURIREFERENCE"
633></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000634>xmlParseURIReference ()</H3
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000635><TABLE
636BORDER="0"
637BGCOLOR="#D6E8FF"
638WIDTH="100%"
639CELLPADDING="6"
640><TR
641><TD
642><PRE
643CLASS="PROGRAMLISTING"
644>int xmlParseURIReference (<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000645HREF="libxml-uri.html#XMLURIPTR"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000646>xmlURIPtr</A
647> uri,
648 const char *str);</PRE
649></TD
650></TR
651></TABLE
652><P
653>Parse an URI reference string and fills in the appropriate fields
654of the <TT
655CLASS="PARAMETER"
656><I
657>uri</I
658></TT
659> structure</P
660><P
661>URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ]</P
662><P
663></P
664><DIV
665CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +0000666><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000667NAME="AEN12736"
668></A
669><P
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000670></P
671><TABLE
672BORDER="0"
673WIDTH="100%"
674BGCOLOR="#FFD0D0"
675CELLSPACING="0"
676CELLPADDING="4"
677CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +0000678><TBODY
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000679><TR
680><TD
681WIDTH="20%"
682ALIGN="RIGHT"
683VALIGN="TOP"
684><TT
685CLASS="PARAMETER"
686><I
687>uri</I
688></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +0000689>&nbsp;:</TD
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000690><TD
691WIDTH="80%"
692ALIGN="LEFT"
693VALIGN="TOP"
Daniel Veillardef90ba72001-12-07 14:24:22 +0000694> pointer to an URI structure</TD
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000695></TR
696><TR
697><TD
698WIDTH="20%"
699ALIGN="RIGHT"
700VALIGN="TOP"
701><TT
702CLASS="PARAMETER"
703><I
704>str</I
705></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +0000706>&nbsp;:</TD
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000707><TD
708WIDTH="80%"
709ALIGN="LEFT"
710VALIGN="TOP"
Daniel Veillardef90ba72001-12-07 14:24:22 +0000711> the string to analyze</TD
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000712></TR
713><TR
714><TD
715WIDTH="20%"
716ALIGN="RIGHT"
717VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +0000718><SPAN
719CLASS="emphasis"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000720><I
721CLASS="EMPHASIS"
722>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +0000723></SPAN
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000724> :</TD
725><TD
726WIDTH="80%"
727ALIGN="LEFT"
728VALIGN="TOP"
Daniel Veillardef90ba72001-12-07 14:24:22 +0000729>0 or the error code</TD
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000730></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +0000731></TBODY
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000732></TABLE
733><P
734></P
735></DIV
736></DIV
737><HR><DIV
738CLASS="REFSECT2"
739><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000740NAME="AEN12753"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000741></A
742><H3
743><A
744NAME="XMLSAVEURI"
745></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000746>xmlSaveUri ()</H3
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000747><TABLE
748BORDER="0"
749BGCOLOR="#D6E8FF"
750WIDTH="100%"
751CELLPADDING="6"
752><TR
753><TD
754><PRE
755CLASS="PROGRAMLISTING"
756><A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000757HREF="libxml-tree.html#XMLCHAR"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000758>xmlChar</A
759>* xmlSaveUri (<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000760HREF="libxml-uri.html#XMLURIPTR"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000761>xmlURIPtr</A
762> uri);</PRE
763></TD
764></TR
765></TABLE
766><P
767>Save the URI as an escaped string</P
768><P
769></P
770><DIV
771CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +0000772><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000773NAME="AEN12761"
774></A
775><P
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000776></P
777><TABLE
778BORDER="0"
779WIDTH="100%"
780BGCOLOR="#FFD0D0"
781CELLSPACING="0"
782CELLPADDING="4"
783CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +0000784><TBODY
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000785><TR
786><TD
787WIDTH="20%"
788ALIGN="RIGHT"
789VALIGN="TOP"
790><TT
791CLASS="PARAMETER"
792><I
793>uri</I
794></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +0000795>&nbsp;:</TD
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000796><TD
797WIDTH="80%"
798ALIGN="LEFT"
799VALIGN="TOP"
Daniel Veillardef90ba72001-12-07 14:24:22 +0000800> pointer to an xmlURI</TD
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000801></TR
802><TR
803><TD
804WIDTH="20%"
805ALIGN="RIGHT"
806VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +0000807><SPAN
808CLASS="emphasis"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000809><I
810CLASS="EMPHASIS"
811>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +0000812></SPAN
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000813> :</TD
814><TD
815WIDTH="80%"
816ALIGN="LEFT"
817VALIGN="TOP"
Daniel Veillardef90ba72001-12-07 14:24:22 +0000818>a new string (to be deallocated by caller)</TD
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000819></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +0000820></TBODY
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000821></TABLE
822><P
823></P
824></DIV
825></DIV
826><HR><DIV
827CLASS="REFSECT2"
828><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000829NAME="AEN12774"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000830></A
831><H3
832><A
833NAME="XMLPRINTURI"
834></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000835>xmlPrintURI ()</H3
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000836><TABLE
837BORDER="0"
838BGCOLOR="#D6E8FF"
839WIDTH="100%"
840CELLPADDING="6"
841><TR
842><TD
843><PRE
844CLASS="PROGRAMLISTING"
845>void xmlPrintURI (<GTKDOCLINK
Daniel Veillard503b8932001-01-05 06:36:31 +0000846HREF="FILE-CAPS"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000847>FILE</GTKDOCLINK
848> *stream,
849 <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000850HREF="libxml-uri.html#XMLURIPTR"
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000851>xmlURIPtr</A
852> uri);</PRE
853></TD
854></TR
855></TABLE
856><P
857>Prints the URI in the stream <TT
858CLASS="PARAMETER"
859><I
860>steam</I
861></TT
862>.</P
863><P
864></P
865><DIV
866CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +0000867><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000868NAME="AEN12783"
869></A
870><P
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000871></P
872><TABLE
873BORDER="0"
874WIDTH="100%"
875BGCOLOR="#FFD0D0"
876CELLSPACING="0"
877CELLPADDING="4"
878CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +0000879><TBODY
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000880><TR
881><TD
882WIDTH="20%"
883ALIGN="RIGHT"
884VALIGN="TOP"
885><TT
886CLASS="PARAMETER"
887><I
888>stream</I
889></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +0000890>&nbsp;:</TD
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000891><TD
892WIDTH="80%"
893ALIGN="LEFT"
894VALIGN="TOP"
Daniel Veillardef90ba72001-12-07 14:24:22 +0000895> a FILE* for the output</TD
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000896></TR
897><TR
898><TD
899WIDTH="20%"
900ALIGN="RIGHT"
901VALIGN="TOP"
902><TT
903CLASS="PARAMETER"
904><I
905>uri</I
906></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +0000907>&nbsp;:</TD
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000908><TD
909WIDTH="80%"
910ALIGN="LEFT"
911VALIGN="TOP"
Daniel Veillardef90ba72001-12-07 14:24:22 +0000912> pointer to an xmlURI</TD
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000913></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +0000914></TBODY
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000915></TABLE
916><P
917></P
918></DIV
919></DIV
920><HR><DIV
921CLASS="REFSECT2"
922><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000923NAME="AEN12796"
Daniel Veillard4ec885a2001-06-17 10:31:07 +0000924></A
925><H3
926><A
927NAME="XMLURIESCAPESTR"
928></A
Daniel Veillardaf43f632002-03-08 15:05:20 +0000929>xmlURIEscapeStr ()</H3
Daniel Veillard4ec885a2001-06-17 10:31:07 +0000930><TABLE
931BORDER="0"
932BGCOLOR="#D6E8FF"
933WIDTH="100%"
934CELLPADDING="6"
935><TR
936><TD
937><PRE
938CLASS="PROGRAMLISTING"
939><A
940HREF="libxml-tree.html#XMLCHAR"
941>xmlChar</A
942>* xmlURIEscapeStr (const <A
943HREF="libxml-tree.html#XMLCHAR"
944>xmlChar</A
945> *str,
946 const <A
947HREF="libxml-tree.html#XMLCHAR"
948>xmlChar</A
949> *list);</PRE
950></TD
951></TR
952></TABLE
953><P
954>This routine escapes a string to hex, ignoring reserved characters (a-z)
955and the characters in the exception list.</P
956><P
957></P
958><DIV
959CLASS="INFORMALTABLE"
960><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000961NAME="AEN12805"
962></A
963><P
Daniel Veillard4ec885a2001-06-17 10:31:07 +0000964></P
965><TABLE
966BORDER="0"
967WIDTH="100%"
968BGCOLOR="#FFD0D0"
969CELLSPACING="0"
970CELLPADDING="4"
971CLASS="CALSTABLE"
972><TBODY
973><TR
974><TD
975WIDTH="20%"
976ALIGN="RIGHT"
977VALIGN="TOP"
978><TT
979CLASS="PARAMETER"
980><I
981>str</I
982></TT
983>&nbsp;:</TD
984><TD
985WIDTH="80%"
986ALIGN="LEFT"
987VALIGN="TOP"
Daniel Veillardef90ba72001-12-07 14:24:22 +0000988> string to escape</TD
Daniel Veillard4ec885a2001-06-17 10:31:07 +0000989></TR
990><TR
991><TD
992WIDTH="20%"
993ALIGN="RIGHT"
994VALIGN="TOP"
995><TT
996CLASS="PARAMETER"
997><I
998>list</I
999></TT
1000>&nbsp;:</TD
1001><TD
1002WIDTH="80%"
1003ALIGN="LEFT"
1004VALIGN="TOP"
Daniel Veillardef90ba72001-12-07 14:24:22 +00001005> exception list string of chars not to escape</TD
Daniel Veillard4ec885a2001-06-17 10:31:07 +00001006></TR
1007><TR
1008><TD
1009WIDTH="20%"
1010ALIGN="RIGHT"
1011VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00001012><SPAN
1013CLASS="emphasis"
Daniel Veillard4ec885a2001-06-17 10:31:07 +00001014><I
1015CLASS="EMPHASIS"
1016>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00001017></SPAN
Daniel Veillard4ec885a2001-06-17 10:31:07 +00001018> :</TD
1019><TD
1020WIDTH="80%"
1021ALIGN="LEFT"
1022VALIGN="TOP"
Daniel Veillardef90ba72001-12-07 14:24:22 +00001023>a new escaped string or NULL in case of error.</TD
Daniel Veillard4ec885a2001-06-17 10:31:07 +00001024></TR
1025></TBODY
1026></TABLE
1027><P
1028></P
1029></DIV
1030></DIV
1031><HR><DIV
1032CLASS="REFSECT2"
1033><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001034NAME="AEN12822"
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001035></A
1036><H3
1037><A
1038NAME="XMLURIUNESCAPESTRING"
1039></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00001040>xmlURIUnescapeString ()</H3
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001041><TABLE
1042BORDER="0"
1043BGCOLOR="#D6E8FF"
1044WIDTH="100%"
1045CELLPADDING="6"
1046><TR
1047><TD
1048><PRE
1049CLASS="PROGRAMLISTING"
1050>char* xmlURIUnescapeString (const char *str,
1051 int len,
1052 char *target);</PRE
1053></TD
1054></TR
1055></TABLE
1056><P
1057>Unescaping routine, does not do validity checks !
1058Output is direct unsigned char translation of <TT
1059CLASS="LITERAL"
1060>XX</TT
1061> values (no encoding)</P
1062><P
1063></P
1064><DIV
1065CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001066><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001067NAME="AEN12829"
1068></A
1069><P
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001070></P
1071><TABLE
1072BORDER="0"
1073WIDTH="100%"
1074BGCOLOR="#FFD0D0"
1075CELLSPACING="0"
1076CELLPADDING="4"
1077CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001078><TBODY
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001079><TR
1080><TD
1081WIDTH="20%"
1082ALIGN="RIGHT"
1083VALIGN="TOP"
1084><TT
1085CLASS="PARAMETER"
1086><I
1087>str</I
1088></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00001089>&nbsp;:</TD
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001090><TD
1091WIDTH="80%"
1092ALIGN="LEFT"
1093VALIGN="TOP"
Daniel Veillardef90ba72001-12-07 14:24:22 +00001094> the string to unescape</TD
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001095></TR
1096><TR
1097><TD
1098WIDTH="20%"
1099ALIGN="RIGHT"
1100VALIGN="TOP"
1101><TT
1102CLASS="PARAMETER"
1103><I
1104>len</I
1105></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00001106>&nbsp;:</TD
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001107><TD
1108WIDTH="80%"
1109ALIGN="LEFT"
1110VALIGN="TOP"
Daniel Veillardef90ba72001-12-07 14:24:22 +00001111> the length in bytes to unescape (or &lt;= 0 to indicate full string)</TD
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001112></TR
1113><TR
1114><TD
1115WIDTH="20%"
1116ALIGN="RIGHT"
1117VALIGN="TOP"
1118><TT
1119CLASS="PARAMETER"
1120><I
1121>target</I
1122></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00001123>&nbsp;:</TD
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001124><TD
1125WIDTH="80%"
1126ALIGN="LEFT"
1127VALIGN="TOP"
Daniel Veillardcbaf3992001-12-31 16:16:02 +00001128> optional destination buffer</TD
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001129></TR
1130><TR
1131><TD
1132WIDTH="20%"
1133ALIGN="RIGHT"
1134VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00001135><SPAN
1136CLASS="emphasis"
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001137><I
1138CLASS="EMPHASIS"
1139>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00001140></SPAN
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001141> :</TD
1142><TD
1143WIDTH="80%"
1144ALIGN="LEFT"
1145VALIGN="TOP"
Daniel Veillardef90ba72001-12-07 14:24:22 +00001146>an copy of the string, but unescaped</TD
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001147></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +00001148></TBODY
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001149></TABLE
1150><P
1151></P
1152></DIV
1153></DIV
1154><HR><DIV
1155CLASS="REFSECT2"
1156><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001157NAME="AEN12850"
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001158></A
1159><H3
1160><A
1161NAME="XMLNORMALIZEURIPATH"
1162></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00001163>xmlNormalizeURIPath ()</H3
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001164><TABLE
1165BORDER="0"
1166BGCOLOR="#D6E8FF"
1167WIDTH="100%"
1168CELLPADDING="6"
1169><TR
1170><TD
1171><PRE
1172CLASS="PROGRAMLISTING"
1173>int xmlNormalizeURIPath (char *path);</PRE
1174></TD
1175></TR
1176></TABLE
1177><P
Daniel Veillardd194dd22001-02-14 10:37:43 +00001178>Applies the 5 normalization steps to a path string--that is, RFC 2396
1179Section 5.2, steps 6.c through 6.g.</P
1180><P
1181>Normalization occurs directly on the string, no new allocation is done</P
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001182><P
1183></P
1184><DIV
1185CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001186><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001187NAME="AEN12857"
1188></A
1189><P
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001190></P
1191><TABLE
1192BORDER="0"
1193WIDTH="100%"
1194BGCOLOR="#FFD0D0"
1195CELLSPACING="0"
1196CELLPADDING="4"
1197CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001198><TBODY
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001199><TR
1200><TD
1201WIDTH="20%"
1202ALIGN="RIGHT"
1203VALIGN="TOP"
1204><TT
1205CLASS="PARAMETER"
1206><I
1207>path</I
1208></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00001209>&nbsp;:</TD
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001210><TD
1211WIDTH="80%"
1212ALIGN="LEFT"
1213VALIGN="TOP"
Daniel Veillardef90ba72001-12-07 14:24:22 +00001214> pointer to the path string</TD
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001215></TR
1216><TR
1217><TD
1218WIDTH="20%"
1219ALIGN="RIGHT"
1220VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00001221><SPAN
1222CLASS="emphasis"
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001223><I
1224CLASS="EMPHASIS"
1225>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00001226></SPAN
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001227> :</TD
1228><TD
1229WIDTH="80%"
1230ALIGN="LEFT"
1231VALIGN="TOP"
Daniel Veillardef90ba72001-12-07 14:24:22 +00001232>0 or an error code</TD
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001233></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +00001234></TBODY
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001235></TABLE
1236><P
1237></P
1238></DIV
1239></DIV
1240><HR><DIV
1241CLASS="REFSECT2"
1242><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001243NAME="AEN12870"
Daniel Veillard28929b22000-11-13 18:22:49 +00001244></A
1245><H3
1246><A
1247NAME="XMLURIESCAPE"
1248></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00001249>xmlURIEscape ()</H3
Daniel Veillard28929b22000-11-13 18:22:49 +00001250><TABLE
1251BORDER="0"
1252BGCOLOR="#D6E8FF"
1253WIDTH="100%"
1254CELLPADDING="6"
1255><TR
1256><TD
1257><PRE
1258CLASS="PROGRAMLISTING"
1259><A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +00001260HREF="libxml-tree.html#XMLCHAR"
Daniel Veillard28929b22000-11-13 18:22:49 +00001261>xmlChar</A
1262>* xmlURIEscape (const <A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +00001263HREF="libxml-tree.html#XMLCHAR"
Daniel Veillard28929b22000-11-13 18:22:49 +00001264>xmlChar</A
1265> *str);</PRE
1266></TD
1267></TR
1268></TABLE
1269><P
1270>Escaping routine, does not do validity checks !
1271It will try to escape the chars needing this, but this is heuristic
1272based it's impossible to be sure.</P
1273><P
1274></P
1275><DIV
1276CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001277><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001278NAME="AEN12878"
1279></A
1280><P
Daniel Veillard28929b22000-11-13 18:22:49 +00001281></P
1282><TABLE
1283BORDER="0"
1284WIDTH="100%"
1285BGCOLOR="#FFD0D0"
1286CELLSPACING="0"
1287CELLPADDING="4"
1288CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001289><TBODY
Daniel Veillard28929b22000-11-13 18:22:49 +00001290><TR
1291><TD
1292WIDTH="20%"
1293ALIGN="RIGHT"
1294VALIGN="TOP"
1295><TT
1296CLASS="PARAMETER"
1297><I
1298>str</I
1299></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00001300>&nbsp;:</TD
Daniel Veillard28929b22000-11-13 18:22:49 +00001301><TD
1302WIDTH="80%"
1303ALIGN="LEFT"
1304VALIGN="TOP"
Daniel Veillardef90ba72001-12-07 14:24:22 +00001305> the string of the URI to escape</TD
Daniel Veillard28929b22000-11-13 18:22:49 +00001306></TR
1307><TR
1308><TD
1309WIDTH="20%"
1310ALIGN="RIGHT"
1311VALIGN="TOP"
Daniel Veillard539638b2002-07-06 19:55:14 +00001312><SPAN
1313CLASS="emphasis"
Daniel Veillard28929b22000-11-13 18:22:49 +00001314><I
1315CLASS="EMPHASIS"
1316>Returns</I
Daniel Veillard539638b2002-07-06 19:55:14 +00001317></SPAN
Daniel Veillard28929b22000-11-13 18:22:49 +00001318> :</TD
1319><TD
1320WIDTH="80%"
1321ALIGN="LEFT"
1322VALIGN="TOP"
Daniel Veillardef90ba72001-12-07 14:24:22 +00001323>an copy of the string, but escaped
1324
132525 May 2001
1326Uses xmlParseURI and xmlURIEscapeStr to try to escape correctly
1327according to RFC2396.
Daniel Veillardaec63562003-03-23 20:42:17 +00001328 - Carl Douglas</TD
Daniel Veillard28929b22000-11-13 18:22:49 +00001329></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +00001330></TBODY
Daniel Veillard28929b22000-11-13 18:22:49 +00001331></TABLE
1332><P
1333></P
1334></DIV
1335></DIV
1336><HR><DIV
1337CLASS="REFSECT2"
1338><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001339NAME="AEN12891"
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001340></A
1341><H3
1342><A
1343NAME="XMLFREEURI"
1344></A
Daniel Veillardaf43f632002-03-08 15:05:20 +00001345>xmlFreeURI ()</H3
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001346><TABLE
1347BORDER="0"
1348BGCOLOR="#D6E8FF"
1349WIDTH="100%"
1350CELLPADDING="6"
1351><TR
1352><TD
1353><PRE
1354CLASS="PROGRAMLISTING"
1355>void xmlFreeURI (<A
Daniel Veillard9cb5ff42001-01-29 08:22:21 +00001356HREF="libxml-uri.html#XMLURIPTR"
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001357>xmlURIPtr</A
1358> uri);</PRE
1359></TD
1360></TR
1361></TABLE
1362><P
1363>Free up the xmlURI struct</P
1364><P
1365></P
1366><DIV
1367CLASS="INFORMALTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001368><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001369NAME="AEN12898"
1370></A
1371><P
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001372></P
1373><TABLE
1374BORDER="0"
1375WIDTH="100%"
1376BGCOLOR="#FFD0D0"
1377CELLSPACING="0"
1378CELLPADDING="4"
1379CLASS="CALSTABLE"
Daniel Veillardbed7b052001-05-19 14:59:49 +00001380><TBODY
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001381><TR
1382><TD
1383WIDTH="20%"
1384ALIGN="RIGHT"
1385VALIGN="TOP"
1386><TT
1387CLASS="PARAMETER"
1388><I
1389>uri</I
1390></TT
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00001391>&nbsp;:</TD
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001392><TD
1393WIDTH="80%"
1394ALIGN="LEFT"
1395VALIGN="TOP"
Daniel Veillardef90ba72001-12-07 14:24:22 +00001396> pointer to an xmlURI</TD
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001397></TR
Daniel Veillardbed7b052001-05-19 14:59:49 +00001398></TBODY
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001399></TABLE
1400><P
1401></P
1402></DIV
1403></DIV
Daniel Veillardaec63562003-03-23 20:42:17 +00001404><HR><DIV
1405CLASS="REFSECT2"
1406><A
1407NAME="AEN12907"
1408></A
1409><H3
1410><A
1411NAME="XMLCANONICPATH"
1412></A
1413>xmlCanonicPath ()</H3
1414><TABLE
1415BORDER="0"
1416BGCOLOR="#D6E8FF"
1417WIDTH="100%"
1418CELLPADDING="6"
1419><TR
1420><TD
1421><PRE
1422CLASS="PROGRAMLISTING"
1423><A
1424HREF="libxml-tree.html#XMLCHAR"
1425>xmlChar</A
1426>* xmlCanonicPath (const <A
1427HREF="libxml-tree.html#XMLCHAR"
1428>xmlChar</A
1429> *path);</PRE
1430></TD
1431></TR
1432></TABLE
1433><P
1434>Constructs a canonic path from the specified path.</P
1435><P
1436></P
1437><DIV
1438CLASS="INFORMALTABLE"
1439><A
1440NAME="AEN12915"
1441></A
1442><P
1443></P
1444><TABLE
1445BORDER="0"
1446WIDTH="100%"
1447BGCOLOR="#FFD0D0"
1448CELLSPACING="0"
1449CELLPADDING="4"
1450CLASS="CALSTABLE"
1451><TBODY
1452><TR
1453><TD
1454WIDTH="20%"
1455ALIGN="RIGHT"
1456VALIGN="TOP"
1457><TT
1458CLASS="PARAMETER"
1459><I
1460>path</I
1461></TT
1462>&nbsp;:</TD
1463><TD
1464WIDTH="80%"
1465ALIGN="LEFT"
1466VALIGN="TOP"
1467> the resource locator in a filesystem notation</TD
1468></TR
1469><TR
1470><TD
1471WIDTH="20%"
1472ALIGN="RIGHT"
1473VALIGN="TOP"
1474><SPAN
1475CLASS="emphasis"
1476><I
1477CLASS="EMPHASIS"
1478>Returns</I
1479></SPAN
1480> :</TD
1481><TD
1482WIDTH="80%"
1483ALIGN="LEFT"
1484VALIGN="TOP"
1485>a new canonic path, or a duplicate of the path parameter if the
1486construction fails. The caller is responsible for freeing the memory occupied
1487by the returned string. If there is insufficient memory available, or the
1488argument is NULL, the function returns NULL.</TD
1489></TR
1490></TBODY
1491></TABLE
1492><P
1493></P
1494></DIV
1495></DIV
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001496></DIV
1497><DIV
1498CLASS="NAVFOOTER"
1499><BR
1500CLEAR="all"><BR><TABLE
1501WIDTH="100%"
1502BORDER="0"
1503BGCOLOR="#000000"
1504CELLPADDING="1"
1505CELLSPACING="0"
1506><TR
1507><TD
1508WIDTH="25%"
1509BGCOLOR="#C00000"
1510ALIGN="left"
1511><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001512HREF="libxml-relaxng.html"
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001513><FONT
1514COLOR="#FFFFFF"
1515SIZE="3"
1516><B
1517>&#60;&#60;&#60; Previous Page</B
1518></FONT
1519></A
1520></TD
1521><TD
1522WIDTH="25%"
1523BGCOLOR="#0000C0"
1524ALIGN="center"
1525><FONT
1526COLOR="#FFFFFF"
1527SIZE="3"
1528><B
1529><A
1530HREF="book1.html"
1531><FONT
1532COLOR="#FFFFFF"
1533SIZE="3"
1534><B
1535>Home</B
1536></FONT
1537></A
1538></B
1539></FONT
1540></TD
1541><TD
1542WIDTH="25%"
1543BGCOLOR="#00C000"
1544ALIGN="center"
1545><FONT
1546COLOR="#FFFFFF"
1547SIZE="3"
1548><B
1549><A
1550HREF="libxml-lib.html"
1551><FONT
1552COLOR="#FFFFFF"
1553SIZE="3"
1554><B
1555>Up</B
1556></FONT
1557></A
1558></B
1559></FONT
1560></TD
1561><TD
1562WIDTH="25%"
1563BGCOLOR="#C00000"
1564ALIGN="right"
1565><A
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00001566HREF="libxml-xmlerror.html"
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001567><FONT
1568COLOR="#FFFFFF"
1569SIZE="3"
1570><B
1571>Next Page &#62;&#62;&#62;</B
1572></FONT
1573></A
1574></TD
1575></TR
1576><TR
1577><TD
1578COLSPAN="2"
1579ALIGN="left"
1580><FONT
1581COLOR="#FFFFFF"
1582SIZE="3"
1583><B
Daniel Veillardaec63562003-03-23 20:42:17 +00001584>relaxng</B
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001585></FONT
1586></TD
1587><TD
1588COLSPAN="2"
1589ALIGN="right"
1590><FONT
1591COLOR="#FFFFFF"
1592SIZE="3"
1593><B
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +00001594>xmlerror</B
Daniel Veillardb732a0e2000-10-15 11:27:01 +00001595></FONT
1596></TD
1597></TR
1598></TABLE
1599></DIV
1600></BODY
1601></HTML
1602>