# HG changeset patch # User Daniel Veillard <veillard@src.gnome.org> # Date 1181665209 0 # Tue Jun 12 16:20:09 2007 +0000 # Node ID 69bb6326cf02c004620c9a2de763347960bc9c24 # Parent 0fa04cb83454e60f8b22f8db0ead8d769e2bb240 release of libxml2 2.6.28 patch from Dagfinn I. Mannsåker for idness of * doc/* configure.in NEWS: release of libxml2 2.6.28 * valid.c: patch from Dagfinn I. Mannsåker for idness of name in HTML, c.f. bug #305885. Daniel svn path=/trunk/; revision=3638 diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Tue Jun 12 18:17:28 CEST 2007 Daniel Veillard <daniel@veillard.com> + + * doc/* configure.in NEWS: release of libxml2 2.6.28 + * valid.c: patch from Dagfinn I. Manns�ker for idness of name + in HTML, c.f. bug #305885. + Tue Jun 12 17:14:08 CEST 2007 Daniel Veillard <daniel@veillard.com> * SAX2.c: fixing bug #319964, parsing of HTML attribute really diff --git a/NEWS b/NEWS --- a/NEWS +++ b/NEWS @@ -15,6 +15,32 @@ to the SVN at http://svn.gnome.org/viewcvs/libxml2/trunk/ code base.Here is the list of public releases: +2.6.29: Jun 12 2007: + - Portability: patches from Andreas Stricke for WinCEi, + fix compilation warnings (William Brack), avoid warnings on Apple OS/X + (Wendy Doyle and Mark Rowe), Windows compilation and threading + improvements (Rob Richards), compilation against old Python versions, + new GNU tar changes (Ryan Hill) + - Documentation: xmlURIUnescapeString comment, + - Bugfixes: xmlBufferAdd problem (Richard Jones), 'make valgrind' + flag fix (Richard Jones), regexp interpretation of \, + htmlCreateDocParserCtxt (Jean-Daniel Dupas), configure.in + typo (Bjorn Reese), entity content failure, xmlListAppend() fix + (Georges-Andr� Silber), XPath number serialization (William Brack), + nanohttp gzipped stream fix (William Brack and Alex Cornejo), + xmlCharEncFirstLine typo (Mark Rowe), uri bug (Fran�ois Delyon), + XPath string value of PI nodes (William Brack), XPath node set + sorting bugs (William Brack), avoid outputting namespace decl + dups in the writer (Rob Richards), xmlCtxtReset bug, UTF-8 encoding + error handling, recustion on next in catalogs, fix a Relax-NG crash, + workaround wrong file: URIs, htmlNodeDumpFormatOutput on attributes, + invalid character in attribute detection bug, big comments before + internal subset streaming bug, HTML parsing of attributes with : in + the name + - Improvement: keep URI query parts in raw form (Richard Jones), + embed tag support in HTML (Michael Day) + + 2.6.28: Apr 17 2007: - Documentation: comment fixes (Markus Keim), xpath comments fixes too (James Dennett) diff --git a/configure.in b/configure.in --- a/configure.in +++ b/configure.in @@ -5,7 +5,7 @@ LIBXML_MAJOR_VERSION=2 LIBXML_MINOR_VERSION=6 -LIBXML_MICRO_VERSION=28 +LIBXML_MICRO_VERSION=29 LIBXML_MICRO_VERSION_SUFFIX= LIBXML_VERSION=$LIBXML_MAJOR_VERSION.$LIBXML_MINOR_VERSION.$LIBXML_MICRO_VERSION$LIBXML_MICRO_VERSION_SUFFIX LIBXML_VERSION_INFO=`expr $LIBXML_MAJOR_VERSION + $LIBXML_MINOR_VERSION`:$LIBXML_MICRO_VERSION:$LIBXML_MINOR_VERSION diff --git a/doc/APIchunk10.html b/doc/APIchunk10.html --- a/doc/APIchunk10.html +++ b/doc/APIchunk10.html @@ -453,7 +453,8 @@ <a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br /> </dd><dt>appearing</dt><dd><a href="html/libxml-valid.html#xmlValidatePopElement">xmlValidatePopElement</a><br /> <a href="html/libxml-valid.html#xmlValidatePushElement">xmlValidatePushElement</a><br /> -</dd><dt>appears</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpGetStart">xmlExpGetStart</a><br /> +</dd><dt>appears</dt><dd><a href="html/libxml-uri.html#_xmlURI">_xmlURI</a><br /> +<a href="html/libxml-xmlregexp.html#xmlExpGetStart">xmlExpGetStart</a><br /> <a href="html/libxml-parserInternals.html#xmlParseCharData">xmlParseCharData</a><br /> <a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br /> <a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br /> diff --git a/doc/APIchunk12.html b/doc/APIchunk12.html --- a/doc/APIchunk12.html +++ b/doc/APIchunk12.html @@ -124,6 +124,7 @@ <a href="html/libxml-catalog.html#xmlLoadCatalogs">xmlLoadCatalogs</a><br /> </dd><dt>category</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsCat">xmlUCSIsCat</a><br /> </dd><dt>cause</dt><dd><a href="html/libxml-debugXML.html#xmlShellPrintXPathError">xmlShellPrintXPathError</a><br /> +</dd><dt>caution</dt><dd><a href="html/libxml-uri.html#_xmlURI">_xmlURI</a><br /> </dd><dt>cdata-section-</dt><dd><a href="html/libxml-pattern.html#xmlStreamPushNode">xmlStreamPushNode</a><br /> <a href="html/libxml-pattern.html#xmlStreamWantsAnyNode">xmlStreamWantsAnyNode</a><br /> </dd><dt>ceiling</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathCeilingFunction">xmlXPathCeilingFunction</a><br /> @@ -222,7 +223,6 @@ <a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br /> <a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br /> <a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br /> -<a href="html/libxml-uri.html#xmlURIUnescapeString">xmlURIUnescapeString</a><br /> <a href="html/libxml-valid.html#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a><br /> <a href="html/libxml-valid.html#xmlValidateDocument">xmlValidateDocument</a><br /> <a href="html/libxml-valid.html#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a><br /> diff --git a/doc/APIchunk13.html b/doc/APIchunk13.html --- a/doc/APIchunk13.html +++ b/doc/APIchunk13.html @@ -232,6 +232,7 @@ <a href="html/libxml-xpathInternals.html#xmlXPathNotEqualValues">xmlXPathNotEqualValues</a><br /> </dd><dt>deprecated</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_LEGACY_ENABLED">LIBXML_LEGACY_ENABLED</a><br /> <a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br /> +<a href="html/libxml-uri.html#_xmlURI">_xmlURI</a><br /> <a href="html/libxml-HTMLparser.html#htmlAttrAllowed">htmlAttrAllowed</a><br /> <a href="html/libxml-HTMLparser.html#htmlElementAllowedHere">htmlElementAllowedHere</a><br /> <a href="html/libxml-HTMLparser.html#htmlElementStatusHere">htmlElementStatusHere</a><br /> diff --git a/doc/APIchunk24.html b/doc/APIchunk24.html --- a/doc/APIchunk24.html +++ b/doc/APIchunk24.html @@ -56,6 +56,7 @@ <a href="html/libxml-tree.html#xmlReplaceNode">xmlReplaceNode</a><br /> <a href="html/libxml-xmlstring.html#xmlStrEqual">xmlStrEqual</a><br /> <a href="html/libxml-xmlstring.html#xmlStrncatNew">xmlStrncatNew</a><br /> +<a href="html/libxml-uri.html#xmlURIUnescapeString">xmlURIUnescapeString</a><br /> <a href="html/libxml-xpath.html#xmlXPathCmpNodes">xmlXPathCmpNodes</a><br /> <a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br /> <a href="html/libxml-xpathInternals.html#xmlXPathLangFunction">xmlXPathLangFunction</a><br /> @@ -393,6 +394,7 @@ <a href="html/libxml-parserInternals.html#xmlSkipBlankChars">xmlSkipBlankChars</a><br /> </dd><dt>slot</dt><dd><a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br /> </dd><dt>slots</dt><dd><a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br /> +</dd><dt>smaller</dt><dd><a href="html/libxml-uri.html#xmlURIUnescapeString">xmlURIUnescapeString</a><br /> </dd><dt>smallest</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathCeilingFunction">xmlXPathCeilingFunction</a><br /> </dd><dt>socket</dt><dd><a href="html/libxml-xmlIO.html#xmlCheckFilename">xmlCheckFilename</a><br /> <a href="html/libxml-nanoftp.html#xmlNanoFTPGetSocket">xmlNanoFTPGetSocket</a><br /> diff --git a/doc/APIchunk26.html b/doc/APIchunk26.html --- a/doc/APIchunk26.html +++ b/doc/APIchunk26.html @@ -240,7 +240,6 @@ <a href="html/libxml-xmlerror.html#xmlParserValidityWarning">xmlParserValidityWarning</a><br /> <a href="html/libxml-xmlreader.html#xmlTextReaderIsValid">xmlTextReaderIsValid</a><br /> <a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br /> -<a href="html/libxml-uri.html#xmlURIUnescapeString">xmlURIUnescapeString</a><br /> <a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br /> <a href="html/libxml-valid.html#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a><br /> <a href="html/libxml-valid.html#xmlValidateNotationDecl">xmlValidateNotationDecl</a><br /> diff --git a/doc/APIchunk5.html b/doc/APIchunk5.html --- a/doc/APIchunk5.html +++ b/doc/APIchunk5.html @@ -77,7 +77,6 @@ <a href="html/libxml-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a><br /> <a href="html/libxml-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a><br /> <a href="html/libxml-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a><br /> -<a href="html/libxml-uri.html#xmlURIUnescapeString">xmlURIUnescapeString</a><br /> </dd><dt>OutputBufferCreateFilenameFunc</dt><dd><a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a><br /> </dd><dt>Override</dt><dd><a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br /> <a href="html/libxml-xmlmemory.html#xmlMemSetup">xmlMemSetup</a><br /> diff --git a/doc/APIfiles.html b/doc/APIfiles.html --- a/doc/APIfiles.html +++ b/doc/APIfiles.html @@ -1242,6 +1242,7 @@ <a href="html/libxml-schematron.html#xmlSchematronValidityErrorFunc">xmlSchematronValidityErrorFunc</a><br /> <a href="html/libxml-schematron.html#xmlSchematronValidityWarningFunc">xmlSchematronValidityWarningFunc</a><br /> </p><h2><a name="threads" id="threads">Module threads</a>:</h2><p><a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br /> +<a href="html/libxml-threads.html#xmlDllMain">xmlDllMain</a><br /> <a href="html/libxml-threads.html#xmlFreeMutex">xmlFreeMutex</a><br /> <a href="html/libxml-threads.html#xmlFreeRMutex">xmlFreeRMutex</a><br /> <a href="html/libxml-threads.html#xmlGetGlobalState">xmlGetGlobalState</a><br /> diff --git a/doc/APIfunctions.html b/doc/APIfunctions.html --- a/doc/APIfunctions.html +++ b/doc/APIfunctions.html @@ -607,6 +607,7 @@ <a href="html/libxml-chvalid.html#xmlIsIdeographic">xmlIsIdeographic</a><br /> <a href="html/libxml-chvalid.html#xmlIsPubidChar">xmlIsPubidChar</a><br /> </p><h2>Type unsigned long:</h2><p><a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br /> +<a href="html/libxml-threads.html#xmlDllMain">xmlDllMain</a><br /> <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br /> </p><h2>Type unsigned long *:</h2><p><a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br /> <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacetWhtsp">xmlSchemaValidateLengthFacetWhtsp</a><br /> @@ -722,6 +723,7 @@ <a href="html/libxml-xmlerror.html#xmlCtxtGetLastError">xmlCtxtGetLastError</a><br /> <a href="html/libxml-parser.html#xmlCtxtReadIO">xmlCtxtReadIO</a><br /> <a href="html/libxml-xmlerror.html#xmlCtxtResetLastError">xmlCtxtResetLastError</a><br /> +<a href="html/libxml-threads.html#xmlDllMain">xmlDllMain</a><br /> <a href="html/libxml-xmlIO.html#xmlFileClose">xmlFileClose</a><br /> <a href="html/libxml-xmlIO.html#xmlFileRead">xmlFileRead</a><br /> <a href="html/libxml-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a><br /> diff --git a/doc/APIsymbols.html b/doc/APIsymbols.html --- a/doc/APIsymbols.html +++ b/doc/APIsymbols.html @@ -1891,6 +1891,7 @@ <a href="html/libxml-dict.html#xmlDictQLookup">xmlDictQLookup</a><br /> <a href="html/libxml-dict.html#xmlDictReference">xmlDictReference</a><br /> <a href="html/libxml-dict.html#xmlDictSize">xmlDictSize</a><br /> +<a href="html/libxml-threads.html#xmlDllMain">xmlDllMain</a><br /> <a href="html/libxml-globals.html#xmlDoValidityCheckingDefaultValue">xmlDoValidityCheckingDefaultValue</a><br /> <a href="html/libxml-tree.html#xmlDoc">xmlDoc</a><br /> <a href="html/libxml-tree.html#xmlDocCopyNode">xmlDocCopyNode</a><br /> diff --git a/doc/devhelp/libxml2-threads.html b/doc/devhelp/libxml2-threads.html --- a/doc/devhelp/libxml2-threads.html +++ b/doc/devhelp/libxml2-threads.html @@ -58,10 +58,11 @@ void <a href="#xmlRMutexUnlock">xmlRMutexUnlock</a> (<a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok); <a href="libxml2-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a> <a href="#xmlGetGlobalState">xmlGetGlobalState</a> (void); <a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> <a href="#xmlNewMutex">xmlNewMutex</a> (void); -void <a href="#xmlRMutexLock">xmlRMutexLock</a> (<a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok); +int <a href="#xmlDllMain">xmlDllMain</a> (void * hinstDLL, <br/> unsigned long fdwReason, <br/> void * lpvReserved); +void <a href="#xmlFreeMutex">xmlFreeMutex</a> (<a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok); +void <a href="#xmlUnlockLibrary">xmlUnlockLibrary</a> (void); void <a href="#xmlInitThreads">xmlInitThreads</a> (void); -void <a href="#xmlUnlockLibrary">xmlUnlockLibrary</a> (void); -void <a href="#xmlFreeMutex">xmlFreeMutex</a> (<a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok); +void <a href="#xmlRMutexLock">xmlRMutexLock</a> (<a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok); </pre> </div> <div class="refsect1" lang="en"> @@ -94,6 +95,10 @@ </pre><p>xmlCleanupThreads() is used to to cleanup all the thread related data of the libxml2 library once processing has ended.</p> </div> <hr/> + <div class="refsect2" lang="en"><h3><a name="xmlDllMain"/>xmlDllMain ()</h3><pre class="programlisting">int xmlDllMain (void * hinstDLL, <br/> unsigned long fdwReason, <br/> void * lpvReserved)<br/> +</pre><p/> +<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>hinstDLL</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>fdwReason</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>lpvReserved</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div> + <hr/> <div class="refsect2" lang="en"><h3><a name="xmlFreeMutex"/>xmlFreeMutex ()</h3><pre class="programlisting">void xmlFreeMutex (<a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok)<br/> </pre><p>xmlFreeMutex() is used to reclaim resources associated with a libxml2 token struct.</p> <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>tok</tt></i>:</span></td><td>the simple mutex</td></tr></tbody></table></div></div> diff --git a/doc/devhelp/libxml2-uri.html b/doc/devhelp/libxml2-uri.html --- a/doc/devhelp/libxml2-uri.html +++ b/doc/devhelp/libxml2-uri.html @@ -76,9 +76,10 @@ char * user : the user part int port : the port number char * path : the path string - char * query : the query string + char * query : the query string (deprecated - use with caution) char * fragment : the fragment identifier int cleanup : parsing potentially unclean URI + char * query_raw : the query string (as it appears in the URI) } xmlURI; </pre><p/> </div> @@ -144,8 +145,8 @@ <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>string to escape</td></tr><tr><td><span class="term"><i><tt>list</tt></i>:</span></td><td>exception list string of chars not to escape</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new escaped string or NULL in case of error.</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlURIUnescapeString"/>xmlURIUnescapeString ()</h3><pre class="programlisting">char * xmlURIUnescapeString (const char * str, <br/> int len, <br/> char * target)<br/> -</pre><p>Unescaping routine, does not do validity checks ! Output is direct unsigned char translation of %XX values (no encoding)</p> -<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the string to unescape</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the length in bytes to unescape (or <= 0 to indicate full string)</td></tr><tr><td><span class="term"><i><tt>target</tt></i>:</span></td><td>optional destination buffer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an copy of the string, but unescaped</td></tr></tbody></table></div></div> +</pre><p>Unescaping routine, but does not check that the string is an URI. The output is a direct unsigned char translation of %XX values (no encoding) Note that the length of the result can only be smaller or same size as the input string.</p> +<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the string to unescape</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the length in bytes to unescape (or <= 0 to indicate full string)</td></tr><tr><td><span class="term"><i><tt>target</tt></i>:</span></td><td>optional destination buffer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a copy of the string, but unescaped, will return NULL only in case of error</td></tr></tbody></table></div></div> <hr/> </div> </div> diff --git a/doc/devhelp/libxml2.devhelp b/doc/devhelp/libxml2.devhelp --- a/doc/devhelp/libxml2.devhelp +++ b/doc/devhelp/libxml2.devhelp @@ -2193,6 +2193,7 @@ <function name="xmlDictQLookup ()" link="libxml2-dict.html#xmlDictQLookup"/> <function name="xmlDictReference ()" link="libxml2-dict.html#xmlDictReference"/> <function name="xmlDictSize ()" link="libxml2-dict.html#xmlDictSize"/> + <function name="xmlDllMain ()" link="libxml2-threads.html#xmlDllMain"/> <function name="xmlDocCopyNode ()" link="libxml2-tree.html#xmlDocCopyNode"/> <function name="xmlDocCopyNodeList ()" link="libxml2-tree.html#xmlDocCopyNodeList"/> <function name="xmlDocDump ()" link="libxml2-tree.html#xmlDocDump"/> diff --git a/doc/html/libxml-threads.html b/doc/html/libxml-threads.html --- a/doc/html/libxml-threads.html +++ b/doc/html/libxml-threads.html @@ -17,6 +17,7 @@ The content of this structure is not made public by the API. </pre><pre class="programlisting">Typedef <a href="libxml-threads.html#xmlRMutex">xmlRMutex</a> * <a name="xmlRMutexPtr" id="xmlRMutexPtr">xmlRMutexPtr</a> </pre><pre class="programlisting">void <a href="#xmlCleanupThreads">xmlCleanupThreads</a> (void)</pre> +<pre class="programlisting">int <a href="#xmlDllMain">xmlDllMain</a> (void * hinstDLL, <br /> unsigned long fdwReason, <br /> void * lpvReserved)</pre> <pre class="programlisting">void <a href="#xmlFreeMutex">xmlFreeMutex</a> (<a href="libxml-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok)</pre> <pre class="programlisting">void <a href="#xmlFreeRMutex">xmlFreeRMutex</a> (<a href="libxml-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok)</pre> <pre class="programlisting"><a href="libxml-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a> <a href="#xmlGetGlobalState">xmlGetGlobalState</a> (void)</pre> @@ -38,7 +39,9 @@ The content of this structure is not made public by the API. }</pre><h3><a name="xmlCleanupThreads" id="xmlCleanupThreads"></a>Function: xmlCleanupThreads</h3><pre class="programlisting">void xmlCleanupThreads (void)<br /> </pre><p>xmlCleanupThreads() is used to to cleanup all the thread related data of the libxml2 library once processing has ended.</p> -<h3><a name="xmlFreeMutex" id="xmlFreeMutex"></a>Function: xmlFreeMutex</h3><pre class="programlisting">void xmlFreeMutex (<a href="libxml-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok)<br /> +<h3><a name="xmlDllMain" id="xmlDllMain"></a>Function: xmlDllMain</h3><pre class="programlisting">int xmlDllMain (void * hinstDLL, <br /> unsigned long fdwReason, <br /> void * lpvReserved)<br /> +</pre><p></p> +<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>hinstDLL</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>fdwReason</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>lpvReserved</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td></td></tr></tbody></table></div><h3><a name="xmlFreeMutex" id="xmlFreeMutex"></a>Function: xmlFreeMutex</h3><pre class="programlisting">void xmlFreeMutex (<a href="libxml-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok)<br /> </pre><p>xmlFreeMutex() is used to reclaim resources associated with a libxml2 token struct.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>tok</tt></i>:</span></td><td>the simple mutex</td></tr></tbody></table></div><h3><a name="xmlFreeRMutex" id="xmlFreeRMutex"></a>Function: xmlFreeRMutex</h3><pre class="programlisting">void xmlFreeRMutex (<a href="libxml-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok)<br /> </pre><p>xmlRFreeMutex() is used to reclaim resources associated with a reentrant mutex.</p> diff --git a/doc/html/libxml-uri.html b/doc/html/libxml-uri.html --- a/doc/html/libxml-uri.html +++ b/doc/html/libxml-uri.html @@ -36,9 +36,10 @@ char * user : the user part int port : the port number char * path : the path string - char * query : the query string + char * query : the query string (deprecated - use with char * fragment : the fragment identifier int cleanup : parsing potentially unclean URI + char * query_raw : the query string (as it appears in the }</pre><h3><a name="xmlBuildRelativeURI" id="xmlBuildRelativeURI"></a>Function: xmlBuildRelativeURI</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * xmlBuildRelativeURI (const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URI, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * base)<br /> </pre><p>Expresses the URI of the <a href="libxml-SAX.html#reference">reference</a> in terms relative to the base. Some examples of this operation include: base = "http://site1.com/docs/book1.html" URI input URI returned docs/pic1.gif pic1.gif docs/img/pic1.gif img/pic1.gif img/pic1.gif ../img/pic1.gif http://site1.com/docs/pic1.gif pic1.gif http://site2.com/docs/pic1.gif http://site2.com/docs/pic1.gif base = "docs/book1.html" URI input URI returned docs/pic1.gif pic1.gif docs/img/pic1.gif img/pic1.gif img/pic1.gif ../img/pic1.gif http://site1.com/docs/pic1.gif http://site1.com/docs/pic1.gif Note: if the URI <a href="libxml-SAX.html#reference">reference</a> is really wierd or complicated, it may be worthwhile to first convert it into a "nice" one by calling <a href="libxml-uri.html#xmlBuildURI">xmlBuildURI</a> (using 'base') before calling this routine, since this routine (for reasonable efficiency) assumes URI has already been through some validation.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the URI <a href="libxml-SAX.html#reference">reference</a> under consideration</td></tr><tr><td><span class="term"><i><tt>base</tt></i>:</span></td><td>the base value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new URI string (to be freed by the caller) or NULL in case error.</td></tr></tbody></table></div><h3><a name="xmlBuildURI" id="xmlBuildURI"></a>Function: xmlBuildURI</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * xmlBuildURI (const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URI, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * base)<br /> @@ -68,5 +69,5 @@ <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the string of the URI to escape</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an copy of the string, but escaped 25 May 2001 Uses <a href="libxml-uri.html#xmlParseURI">xmlParseURI</a> and <a href="libxml-uri.html#xmlURIEscapeStr">xmlURIEscapeStr</a> to try to escape correctly according to RFC2396. - Carl Douglas</td></tr></tbody></table></div><h3><a name="xmlURIEscapeStr" id="xmlURIEscapeStr"></a>Function: xmlURIEscapeStr</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * xmlURIEscapeStr (const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * list)<br /> </pre><p>This routine escapes a string to hex, ignoring reserved <a href="libxml-SAX.html#characters">characters</a> (a-z) and the <a href="libxml-SAX.html#characters">characters</a> in the exception list.</p> <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>string to escape</td></tr><tr><td><span class="term"><i><tt>list</tt></i>:</span></td><td>exception list string of chars not to escape</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new escaped string or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlURIUnescapeString" id="xmlURIUnescapeString"></a>Function: xmlURIUnescapeString</h3><pre class="programlisting">char * xmlURIUnescapeString (const char * str, <br /> int len, <br /> char * target)<br /> -</pre><p>Unescaping routine, does not do validity checks ! Output is direct unsigned char translation of %XX values (no encoding)</p> -<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the string to unescape</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the length in bytes to unescape (or <= 0 to indicate full string)</td></tr><tr><td><span class="term"><i><tt>target</tt></i>:</span></td><td>optional destination buffer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an copy of the string, but unescaped</td></tr></tbody></table></div><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html> +</pre><p>Unescaping routine, but does not check that the string is an URI. The output is a direct unsigned char translation of %XX values (no encoding) Note that the length of the result can only be smaller or same size as the input string.</p> +<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the string to unescape</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the length in bytes to unescape (or <= 0 to indicate full string)</td></tr><tr><td><span class="term"><i><tt>target</tt></i>:</span></td><td>optional destination buffer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a copy of the string, but unescaped, will return NULL only in case of error</td></tr></tbody></table></div><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html> diff --git a/doc/libxml2-api.xml b/doc/libxml2-api.xml --- a/doc/libxml2-api.xml +++ b/doc/libxml2-api.xml @@ -1371,10 +1371,11 @@ <exports symbol='xmlRMutexUnlock' type='function'/> <exports symbol='xmlGetGlobalState' type='function'/> <exports symbol='xmlNewMutex' type='function'/> - <exports symbol='xmlRMutexLock' type='function'/> + <exports symbol='xmlDllMain' type='function'/> + <exports symbol='xmlFreeMutex' type='function'/> + <exports symbol='xmlUnlockLibrary' type='function'/> <exports symbol='xmlInitThreads' type='function'/> - <exports symbol='xmlUnlockLibrary' type='function'/> - <exports symbol='xmlFreeMutex' type='function'/> + <exports symbol='xmlRMutexLock' type='function'/> </file> <file name='tree'> <summary>interfaces for tree manipulation</summary> @@ -6643,9 +6644,10 @@ <field name='user' type='char *' info=' the user part'/> <field name='port' type='int' info=' the port number'/> <field name='path' type='char *' info=' the path string'/> - <field name='query' type='char *' info=' the query string'/> + <field name='query' type='char *' info=' the query string (deprecated - use with caution)'/> <field name='fragment' type='char *' info=' the fragment identifier'/> <field name='cleanup' type='int' info=' parsing potentially unclean URI'/> + <field name='query_raw' type='char *' info=' the query string (as it appears in the URI)'/> </struct> <typedef name='xmlURIPtr' file='uri' type='xmlURI *'/> <struct name='xmlValidCtxt' file='valid' type='struct _xmlValidCtxt'> @@ -9299,6 +9301,13 @@ <return type='int' info='the number of elements in the dictionnary or -1 in case of error'/> <arg name='dict' type='xmlDictPtr' info='the dictionnary'/> </function> + <function name='xmlDllMain' file='threads' module='threads'> + <info></info> + <return type='int' info=''/> + <arg name='hinstDLL' type='void *' info=''/> + <arg name='fdwReason' type='unsigned long' info=''/> + <arg name='lpvReserved' type='void *' info=''/> + </function> <function name='xmlDocCopyNode' file='tree' module='tree'> <info>Do a copy of the node to a given document.</info> <return type='xmlNodePtr' info='a new #xmlNodePtr, or NULL in case of error.'/> @@ -16511,8 +16520,8 @@ <arg name='list' type='const xmlChar *' info='exception list string of chars not to escape'/> </function> <function name='xmlURIUnescapeString' file='uri' module='uri'> - <info>Unescaping routine, does not do validity checks ! Output is direct unsigned char translation of %XX values (no encoding)</info> - <return type='char *' info='an copy of the string, but unescaped'/> + <info>Unescaping routine, but does not check that the string is an URI. The output is a direct unsigned char translation of %XX values (no encoding) Note that the length of the result can only be smaller or same size as the input string.</info> + <return type='char *' info='a copy of the string, but unescaped, will return NULL only in case of error'/> <arg name='str' type='const char *' info='the string to unescape'/> <arg name='len' type='int' info='the length in bytes to unescape (or <= 0 to indicate full string)'/> <arg name='target' type='char *' info='optional destination buffer'/> diff --git a/doc/libxml2-refs.xml b/doc/libxml2-refs.xml --- a/doc/libxml2-refs.xml +++ b/doc/libxml2-refs.xml @@ -1885,6 +1885,7 @@ <reference name='xmlDictQLookup' href='html/libxml-dict.html#xmlDictQLookup'/> <reference name='xmlDictReference' href='html/libxml-dict.html#xmlDictReference'/> <reference name='xmlDictSize' href='html/libxml-dict.html#xmlDictSize'/> + <reference name='xmlDllMain' href='html/libxml-threads.html#xmlDllMain'/> <reference name='xmlDoValidityCheckingDefaultValue' href='html/libxml-globals.html#xmlDoValidityCheckingDefaultValue'/> <reference name='xmlDoc' href='html/libxml-tree.html#xmlDoc'/> <reference name='xmlDocCopyNode' href='html/libxml-tree.html#xmlDocCopyNode'/> @@ -5431,6 +5432,7 @@ <ref name='xmlDictQLookup'/> <ref name='xmlDictReference'/> <ref name='xmlDictSize'/> + <ref name='xmlDllMain'/> <ref name='xmlDoValidityCheckingDefaultValue'/> <ref name='xmlDoc'/> <ref name='xmlDocCopyNode'/> @@ -8473,6 +8475,7 @@ </type> <type name='unsigned long'> <ref name='ftpListCallback'/> + <ref name='xmlDllMain'/> <ref name='xmlSchemaValidateListSimpleTypeFacet'/> </type> <type name='unsigned long *'> @@ -8594,6 +8597,7 @@ <ref name='xmlCtxtGetLastError'/> <ref name='xmlCtxtReadIO'/> <ref name='xmlCtxtResetLastError'/> + <ref name='xmlDllMain'/> <ref name='xmlFileClose'/> <ref name='xmlFileRead'/> <ref name='xmlFreeFunc'/> @@ -11763,6 +11767,7 @@ </file> <file name='threads'> <ref name='xmlCleanupThreads'/> + <ref name='xmlDllMain'/> <ref name='xmlFreeMutex'/> <ref name='xmlFreeRMutex'/> <ref name='xmlGetGlobalState'/> @@ -16594,7 +16599,6 @@ <ref name='xmlOutputMatchCallback'/> <ref name='xmlOutputOpenCallback'/> <ref name='xmlOutputWriteCallback'/> - <ref name='xmlURIUnescapeString'/> </word> <word name='OutputBufferCreateFilenameFunc'> <ref name='xmlOutputBufferCreateFilenameDefault'/> @@ -18943,6 +18947,7 @@ <ref name='xmlValidatePushElement'/> </word> <word name='appears'> + <ref name='_xmlURI'/> <ref name='xmlExpGetStart'/> <ref name='xmlParseCharData'/> <ref name='xmlParseElementChildrenContentDecl'/> @@ -19665,6 +19670,9 @@ <word name='cause'> <ref name='xmlShellPrintXPathError'/> </word> + <word name='caution'> + <ref name='_xmlURI'/> + </word> <word name='cdata-section-'> <ref name='xmlStreamPushNode'/> <ref name='xmlStreamWantsAnyNode'/> @@ -19796,7 +19804,6 @@ <ref name='xmlParseElementMixedContentDecl'/> <ref name='xmlReconciliateNs'/> <ref name='xmlURIEscape'/> - <ref name='xmlURIUnescapeString'/> <ref name='xmlValidateAttributeDecl'/> <ref name='xmlValidateDocument'/> <ref name='xmlValidateDocumentFinal'/> @@ -21002,6 +21009,7 @@ <word name='deprecated'> <ref name='LIBXML_LEGACY_ENABLED'/> <ref name='_htmlElemDesc'/> + <ref name='_xmlURI'/> <ref name='htmlAttrAllowed'/> <ref name='htmlElementAllowedHere'/> <ref name='htmlElementStatusHere'/> @@ -27405,6 +27413,7 @@ <ref name='xmlReplaceNode'/> <ref name='xmlStrEqual'/> <ref name='xmlStrncatNew'/> + <ref name='xmlURIUnescapeString'/> <ref name='xmlXPathCmpNodes'/> <ref name='xmlXPathIdFunction'/> <ref name='xmlXPathLangFunction'/> @@ -27897,6 +27906,9 @@ <word name='slots'> <ref name='xmlXPathContextSetCache'/> </word> + <word name='smaller'> + <ref name='xmlURIUnescapeString'/> + </word> <word name='smallest'> <ref name='xmlXPathCeilingFunction'/> </word> @@ -29525,7 +29537,6 @@ <ref name='xmlParserValidityWarning'/> <ref name='xmlTextReaderIsValid'/> <ref name='xmlURIEscape'/> - <ref name='xmlURIUnescapeString'/> <ref name='xmlValidGetValidElements'/> <ref name='xmlValidateDocumentFinal'/> <ref name='xmlValidateNotationDecl'/> diff --git a/doc/libxml2.xsa b/doc/libxml2.xsa --- a/doc/libxml2.xsa +++ b/doc/libxml2.xsa @@ -8,59 +8,32 @@ </vendor> <product id="libxml2"> <name>libxml2</name> - <version>2.6.27</version> - <last-release> Oct 25 2006</last-release> + <version>2.6.28</version> + <last-release> Apr 17 2007</last-release> <info-url>http://xmlsoft.org/</info-url> - <changes> - Portability fixes: file names on windows (Roland Schwingel, - Emelyanov Alexey), windows compile fixup (Rob Richards), - AIX iconv() is apparently case sensitive - - improvements: Python XPath types mapping (Nic Ferrier), XPath optimization - (Kasimier), add xmlXPathCompiledEvalToBoolean (Kasimier), Python node - equality and comparison (Andreas Pakulat), xmlXPathCollectAndTest - improvememt (Kasimier), expose if library was compiled with zlib - support (Andrew Nosenko), cache for xmlSchemaIDCMatcher structs - (Kasimier), xmlTextConcat should work with comments and PIs (Rob - Richards), export htmlNewParserCtxt needed by Michael Day, refactoring - of catalog entity loaders (Michael Day), add XPointer support to - python bindings (Ross Reedstrom, Brian West and Stefan Anca), - try to sort out most file path to URI conversions and xmlPathToUri, - add --html --memory case to xmllint - - building fix: fix --with-minimum (Felipe Contreras), VMS fix, - const'ification of HTML parser structures (Matthias Clasen), - portability fix (Emelyanov Alexey), wget autodetection (Peter - Breitenlohner), remove the build path recorded in the python - shared module, separate library flags for shared and static builds - (Mikhail Zabaluev), fix --with-minimum --with-sax1 builds, fix - --with-minimum --with-schemas builds - - bug fix: xmlGetNodePath fix (Kasimier), xmlDOMWrapAdoptNode and - attribute (Kasimier), crash when using the recover mode, - xmlXPathEvalExpr problem (Kasimier), xmlXPathCompExprAdd bug (Kasimier), - missing destry in xmlFreeRMutex (Andrew Nosenko), XML Schemas fixes - (Kasimier), warning on entities processing, XHTML script and style - serialization (Kasimier), python generator for long types, bug in - xmlSchemaClearValidCtxt (Bertrand Fritsch), xmlSchemaXPathEvaluate - allocation bug (Marton Illes), error message end of line (Rob Richards), - fix attribute serialization in writer (Rob Richards), PHP4 DTD validation - crasher, parser safety patch (Ben Darnell), _private context propagation - when parsing entities (with Michael Day), fix entities behaviour when - using SAX, URI to file path fix (Mikhail Zabaluev), disapearing validity - context, arg error in SAX callback (Mike Hommey), fix mixed-content - autodetect when using --noblanks, fix xmlIOParseDTD error handling, - fix bug in xmlSplitQName on special Names, fix Relax-NG element content - validation bug, fix xmlReconciliateNs bug, fix potential attribute - XML parsing bug, fix line/column accounting in XML parser, chunking bug - in the HTML parser on script, try to detect obviously buggy HTML - meta encoding indications, bugs with encoding BOM and xmlSaveDoc, - HTML entities in attributes parsing, HTML minimized attribute values, - htmlReadDoc and htmlReadIO were broken, error handling bug in - xmlXPathEvalExpression (Olaf Walkowiak), fix a problem in - htmlCtxtUseOptions, xmlNewInputFromFile could leak (Marius Konitzer), - bug on misformed SSD regexps (Christopher Boumenot) - - - documentation: warning about XML_PARSE_COMPACT (Kasimier Buchcik), - fix xmlXPathCastToString documentation, improve man pages for - xmllitn and xmlcatalog (Daniel Leidert), fixed comments of a few - functions + <changes> - Documentation: comment fixes (Markus Keim), xpath comments fixes too + (James Dennett) + - Bug fixes: XPath bug (William Brack), HTML parser autoclose stack usage + (Usamah Malik), various regexp bug fixes (DV and William), path conversion + on Windows (Igor Zlatkovic), htmlCtxtReset fix (Michael Day), XPath + principal node of axis bug, HTML serialization of some codepoint + (Steven Rainwater), user data propagation in XInclude (Michael Day), + standalone and XML decl detection (Michael Day), Python id ouptut + for some id, fix the big python string memory leak, URI parsing fixes + (Stéphane Bidoul and William), long comments parsing bug (William), + concurrent threads initialization (Ted Phelps), invalid char + in text XInclude (William), XPath memory leak (William), tab in + python problems (Andreas Hanke), XPath node comparison error + (Oleg Paraschenko), cleanup patch for reader (Julien Reichel), + XML Schemas attribute group (William), HTML parsing problem (William), + fix char 0x2d in regexps (William), regexp quantifier range with + min occurs of 0 (William), HTML script/style parsing (Mike Day) + - Improvement: make xmlTextReaderSetup() public + - Compilation and postability: fix a missing include problem (William), + __ss_familly on AIX again (Björn Wiberg), compilation without zlib + (Michael Day), catalog patch for Win32 (Christian Ehrlicher), + Windows CE fixes (Andreas Stricke) + - Various CVS to SVN infrastructure changes </changes> </product> diff --git a/doc/news.html b/doc/news.html --- a/doc/news.html +++ b/doc/news.html @@ -12,7 +12,30 @@ <li>Finishing up <a href="http://www.w3.org/TR/xmlschema-1/">XML Schemas</a></li> </ul><p>The <a href="ChangeLog.html">change log</a> describes the recents commits -to the <a href="http://svn.gnome.org/viewcvs/libxml2/trunk/">SVN</a> code base.</p><p>Here is the list of public releases:</p><h3>2.6.28: Apr 17 2007</h3><ul><li>Documentation: comment fixes (Markus Keim), xpath comments fixes too +to the <a href="http://svn.gnome.org/viewcvs/libxml2/trunk/">SVN</a> code base.</p><p>Here is the list of public releases:</p><h3>2.6.29: Jun 12 2007</h3><ul><li>Portability: patches from Andreas Stricke for WinCEi, + fix compilation warnings (William Brack), avoid warnings on Apple OS/X + (Wendy Doyle and Mark Rowe), Windows compilation and threading + improvements (Rob Richards), compilation against old Python versions, + new GNU tar changes (Ryan Hill)</li> + <li>Documentation: xmlURIUnescapeString comment, </li> + <li>Bugfixes: xmlBufferAdd problem (Richard Jones), 'make valgrind' + flag fix (Richard Jones), regexp interpretation of \, + htmlCreateDocParserCtxt (Jean-Daniel Dupas), configure.in + typo (Bjorn Reese), entity content failure, xmlListAppend() fix + (Georges-Andr� Silber), XPath number serialization (William Brack), + nanohttp gzipped stream fix (William Brack and Alex Cornejo), + xmlCharEncFirstLine typo (Mark Rowe), uri bug (Fran�ois Delyon), + XPath string value of PI nodes (William Brack), XPath node set + sorting bugs (William Brack), avoid outputting namespace decl + dups in the writer (Rob Richards), xmlCtxtReset bug, UTF-8 encoding + error handling, recustion on next in catalogs, fix a Relax-NG crash, + workaround wrong file: URIs, htmlNodeDumpFormatOutput on attributes, + invalid character in attribute detection bug, big comments before + internal subset streaming bug, HTML parsing of attributes with : in + the name </li> + <li>Improvement: keep URI query parts in raw form (Richard Jones), + embed tag support in HTML (Michael Day) </li> +</ul><h3>2.6.28: Apr 17 2007</h3><ul><li>Documentation: comment fixes (Markus Keim), xpath comments fixes too (James Dennett)</li> <li>Bug fixes: XPath bug (William Brack), HTML parser autoclose stack usage (Usamah Malik), various regexp bug fixes (DV and William), path conversion diff --git a/doc/xml.html b/doc/xml.html --- a/doc/xml.html +++ b/doc/xml.html @@ -739,6 +739,33 @@ <p>Here is the list of public releases:</p> +<h3>2.6.29: Jun 12 2007</h3> +<ul> + <li>Portability: patches from Andreas Stricke for WinCEi, + fix compilation warnings (William Brack), avoid warnings on Apple OS/X + (Wendy Doyle and Mark Rowe), Windows compilation and threading + improvements (Rob Richards), compilation against old Python versions, + new GNU tar changes (Ryan Hill)</li> + <li>Documentation: xmlURIUnescapeString comment, </li> + <li>Bugfixes: xmlBufferAdd problem (Richard Jones), 'make valgrind' + flag fix (Richard Jones), regexp interpretation of \, + htmlCreateDocParserCtxt (Jean-Daniel Dupas), configure.in + typo (Bjorn Reese), entity content failure, xmlListAppend() fix + (Georges-Andr� Silber), XPath number serialization (William Brack), + nanohttp gzipped stream fix (William Brack and Alex Cornejo), + xmlCharEncFirstLine typo (Mark Rowe), uri bug (Fran�ois Delyon), + XPath string value of PI nodes (William Brack), XPath node set + sorting bugs (William Brack), avoid outputting namespace decl + dups in the writer (Rob Richards), xmlCtxtReset bug, UTF-8 encoding + error handling, recustion on next in catalogs, fix a Relax-NG crash, + workaround wrong file: URIs, htmlNodeDumpFormatOutput on attributes, + invalid character in attribute detection bug, big comments before + internal subset streaming bug, HTML parsing of attributes with : in + the name, IDness of name in HTML (Dagfinn I. Manns�ker) </li> + <li>Improvement: keep URI query parts in raw form (Richard Jones), + embed tag support in HTML (Michael Day) </li> +</ul> + <h3>2.6.28: Apr 17 2007</h3> <ul> <li>Documentation: comment fixes (Markus Keim), xpath comments fixes too diff --git a/valid.c b/valid.c --- a/valid.c +++ b/valid.c @@ -2724,7 +2724,7 @@ } else if (doc->type == XML_HTML_DOCUMENT_NODE) { if ((xmlStrEqual(BAD_CAST "id", attr->name)) || ((xmlStrEqual(BAD_CAST "name", attr->name)) && - ((elem == NULL) || (!xmlStrEqual(elem->name, BAD_CAST "input"))))) + ((elem == NULL) || (xmlStrEqual(elem->name, BAD_CAST "a"))))) return(1); return(0); } else if (elem == NULL) {