<HTML ><HEAD ><TITLE >uri</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.64 "><LINK REL="HOME" TITLE="Gnome XML Library Reference Manual" HREF="book1.html"><LINK REL="UP" TITLE="Libxml Library Reference" HREF="libxml-lib.html"><LINK REL="PREVIOUS" TITLE="valid" HREF="libxml-valid.html"><LINK REL="NEXT" TITLE="xmlerror" HREF="libxml-xmlerror.html"></HEAD ><BODY CLASS="REFENTRY" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE WIDTH="100%" BORDER="0" BGCOLOR="#000000" CELLPADDING="1" CELLSPACING="0" ><TR ><TH COLSPAN="4" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="5" >Gnome XML Library Reference Manual</FONT ></TH ></TR ><TR ><TD WIDTH="25%" BGCOLOR="#C00000" ALIGN="left" ><A HREF="libxml-valid.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><<< Previous Page</B ></FONT ></A ></TD ><TD WIDTH="25%" BGCOLOR="#0000C0" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><A HREF="book1.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Home</B ></FONT ></A ></B ></FONT ></TD ><TD WIDTH="25%" BGCOLOR="#00C000" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><A HREF="libxml-lib.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Up</B ></FONT ></A ></B ></FONT ></TD ><TD WIDTH="25%" BGCOLOR="#C00000" ALIGN="right" ><A HREF="libxml-xmlerror.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Next Page >>></B ></FONT ></A ></TD ></TR ></TABLE ></DIV ><H1 ><A NAME="LIBXML-URI" >uri</A ></H1 ><DIV CLASS="REFNAMEDIV" ><A NAME="AEN10275" ></A ><H2 >Name</H2 >uri -- </DIV ><DIV CLASS="REFSYNOPSISDIV" ><A NAME="AEN10278" ></A ><H2 >Synopsis</H2 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="SYNOPSIS" > struct <A HREF="libxml-uri.html#XMLURI" >xmlURI</A >; typedef <A HREF="libxml-uri.html#XMLURIPTR" >xmlURIPtr</A >; <A HREF="libxml-uri.html#XMLURIPTR" >xmlURIPtr</A > <A HREF="libxml-uri.html#XMLCREATEURI" >xmlCreateURI</A > (void); <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A >* <A HREF="libxml-uri.html#XMLBUILDURI" >xmlBuildURI</A > (const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *URI, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *base); <A HREF="libxml-uri.html#XMLURIPTR" >xmlURIPtr</A > <A HREF="libxml-uri.html#XMLPARSEURI" >xmlParseURI</A > (const char *str); int <A HREF="libxml-uri.html#XMLPARSEURIREFERENCE" >xmlParseURIReference</A > (<A HREF="libxml-uri.html#XMLURIPTR" >xmlURIPtr</A > uri, const char *str); <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A >* <A HREF="libxml-uri.html#XMLSAVEURI" >xmlSaveUri</A > (<A HREF="libxml-uri.html#XMLURIPTR" >xmlURIPtr</A > uri); void <A HREF="libxml-uri.html#XMLPRINTURI" >xmlPrintURI</A > (<GTKDOCLINK HREF="FILE-CAPS" >FILE</GTKDOCLINK > *stream, <A HREF="libxml-uri.html#XMLURIPTR" >xmlURIPtr</A > uri); <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A >* <A HREF="libxml-uri.html#XMLURIESCAPESTR" >xmlURIEscapeStr</A > (const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *str, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *list); char* <A HREF="libxml-uri.html#XMLURIUNESCAPESTRING" >xmlURIUnescapeString</A > (const char *str, int len, char *target); int <A HREF="libxml-uri.html#XMLNORMALIZEURIPATH" >xmlNormalizeURIPath</A > (char *path); <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A >* <A HREF="libxml-uri.html#XMLURIESCAPE" >xmlURIEscape</A > (const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *str); void <A HREF="libxml-uri.html#XMLFREEURI" >xmlFreeURI</A > (<A HREF="libxml-uri.html#XMLURIPTR" >xmlURIPtr</A > uri);</PRE ></TD ></TR ></TABLE ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN10310" ></A ><H2 >Description</H2 ><P ></P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN10313" ></A ><H2 >Details</H2 ><DIV CLASS="REFSECT2" ><A NAME="AEN10315" ></A ><H3 ><A NAME="XMLURI" ></A >struct xmlURI</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >struct xmlURI { char *scheme; /* the URI scheme */ char *opaque; /* opaque part */ char *authority; /* the authority part */ char *server; /* the server part */ char *user; /* the user part */ int port; /* the port number */ char *path; /* the path string */ char *query; /* the query string */ char *fragment; /* the fragment identifier */ int cleanup; /* parsing potentially unclean URI */ };</PRE ></TD ></TR ></TABLE ><P >A parsed URI reference. This is a struct containing the various fields as described in RFC 2396 but separated for further processing</P ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN10321" ></A ><H3 ><A NAME="XMLURIPTR" ></A >xmlURIPtr</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >typedef xmlURI *xmlURIPtr;</PRE ></TD ></TR ></TABLE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN10326" ></A ><H3 ><A NAME="XMLCREATEURI" ></A >xmlCreateURI ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="libxml-uri.html#XMLURIPTR" >xmlURIPtr</A > xmlCreateURI (void);</PRE ></TD ></TR ></TABLE ><P >Simply creates an empty xmlURI</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN10333" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >the new structure or NULL in case of error</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN10342" ></A ><H3 ><A NAME="XMLBUILDURI" ></A >xmlBuildURI ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A >* xmlBuildURI (const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *URI, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *base);</PRE ></TD ></TR ></TABLE ><P >Computes he final URI of the reference done by checking that the given URI is valid, and building the final URI using the base URI. This is processed according to section 5.2 of the RFC 2396</P ><P >5.2. Resolving Relative References to Absolute Form</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN10352" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >URI</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the URI instance found in the document</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >base</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the base value</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >a new URI string (to be freed by the caller) or NULL in case of error.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN10369" ></A ><H3 ><A NAME="XMLPARSEURI" ></A >xmlParseURI ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="libxml-uri.html#XMLURIPTR" >xmlURIPtr</A > xmlParseURI (const char *str);</PRE ></TD ></TR ></TABLE ><P >Parse an URI </P ><P >URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ]</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN10377" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >str</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the URI string to analyze</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >a newly build xmlURIPtr or NULL in case of error</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN10390" ></A ><H3 ><A NAME="XMLPARSEURIREFERENCE" ></A >xmlParseURIReference ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >int xmlParseURIReference (<A HREF="libxml-uri.html#XMLURIPTR" >xmlURIPtr</A > uri, const char *str);</PRE ></TD ></TR ></TABLE ><P >Parse an URI reference string and fills in the appropriate fields of the <TT CLASS="PARAMETER" ><I >uri</I ></TT > structure</P ><P >URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ]</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN10399" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >uri</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > pointer to an URI structure</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >str</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the string to analyze</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >0 or the error code</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN10416" ></A ><H3 ><A NAME="XMLSAVEURI" ></A >xmlSaveUri ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A >* xmlSaveUri (<A HREF="libxml-uri.html#XMLURIPTR" >xmlURIPtr</A > uri);</PRE ></TD ></TR ></TABLE ><P >Save the URI as an escaped string</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN10424" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >uri</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > pointer to an xmlURI</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >a new string (to be deallocated by caller)</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN10437" ></A ><H3 ><A NAME="XMLPRINTURI" ></A >xmlPrintURI ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void xmlPrintURI (<GTKDOCLINK HREF="FILE-CAPS" >FILE</GTKDOCLINK > *stream, <A HREF="libxml-uri.html#XMLURIPTR" >xmlURIPtr</A > uri);</PRE ></TD ></TR ></TABLE ><P >Prints the URI in the stream <TT CLASS="PARAMETER" ><I >steam</I ></TT >.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN10446" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >stream</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a FILE* for the output</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >uri</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > pointer to an xmlURI</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN10459" ></A ><H3 ><A NAME="XMLURIESCAPESTR" ></A >xmlURIEscapeStr ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A >* xmlURIEscapeStr (const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *str, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *list);</PRE ></TD ></TR ></TABLE ><P >This routine escapes a string to hex, ignoring reserved characters (a-z) and the characters in the exception list.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN10468" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >str</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > string to escape</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >list</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > exception list string of chars not to escape</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >a new escaped string or NULL in case of error.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN10485" ></A ><H3 ><A NAME="XMLURIUNESCAPESTRING" ></A >xmlURIUnescapeString ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >char* xmlURIUnescapeString (const char *str, int len, char *target);</PRE ></TD ></TR ></TABLE ><P >Unescaping routine, does not do validity checks ! Output is direct unsigned char translation of <TT CLASS="LITERAL" >XX</TT > values (no encoding)</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN10492" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >str</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the string to unescape</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >len</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the length in bytes to unescape (or <= 0 to indicate full string)</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >target</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > optional destination buffer</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >an copy of the string, but unescaped</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN10513" ></A ><H3 ><A NAME="XMLNORMALIZEURIPATH" ></A >xmlNormalizeURIPath ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >int xmlNormalizeURIPath (char *path);</PRE ></TD ></TR ></TABLE ><P >Applies the 5 normalization steps to a path string--that is, RFC 2396 Section 5.2, steps 6.c through 6.g.</P ><P >Normalization occurs directly on the string, no new allocation is done</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN10520" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >path</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > pointer to the path string</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >0 or an error code</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN10533" ></A ><H3 ><A NAME="XMLURIESCAPE" ></A >xmlURIEscape ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A >* xmlURIEscape (const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *str);</PRE ></TD ></TR ></TABLE ><P >Escaping routine, does not do validity checks ! It will try to escape the chars needing this, but this is heuristic based it's impossible to be sure.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN10541" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >str</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the string of the URI to escape</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><I CLASS="EMPHASIS" >Returns</I > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >an copy of the string, but escaped 25 May 2001 Uses xmlParseURI and xmlURIEscapeStr to try to escape correctly according to RFC2396. - Carl Douglas</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN10554" ></A ><H3 ><A NAME="XMLFREEURI" ></A >xmlFreeURI ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void xmlFreeURI (<A HREF="libxml-uri.html#XMLURIPTR" >xmlURIPtr</A > uri);</PRE ></TD ></TR ></TABLE ><P >Free up the xmlURI struct</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN10561" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >uri</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > pointer to an xmlURI</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ></DIV ><DIV CLASS="NAVFOOTER" ><BR CLEAR="all"><BR><TABLE WIDTH="100%" BORDER="0" BGCOLOR="#000000" CELLPADDING="1" CELLSPACING="0" ><TR ><TD WIDTH="25%" BGCOLOR="#C00000" ALIGN="left" ><A HREF="libxml-valid.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><<< Previous Page</B ></FONT ></A ></TD ><TD WIDTH="25%" BGCOLOR="#0000C0" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><A HREF="book1.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Home</B ></FONT ></A ></B ></FONT ></TD ><TD WIDTH="25%" BGCOLOR="#00C000" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><A HREF="libxml-lib.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Up</B ></FONT ></A ></B ></FONT ></TD ><TD WIDTH="25%" BGCOLOR="#C00000" ALIGN="right" ><A HREF="libxml-xmlerror.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Next Page >>></B ></FONT ></A ></TD ></TR ><TR ><TD COLSPAN="2" ALIGN="left" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >valid</B ></FONT ></TD ><TD COLSPAN="2" ALIGN="right" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >xmlerror</B ></FONT ></TD ></TR ></TABLE ></DIV ></BODY ></HTML >