libxml2 r3799 - in trunk: . doc doc/devhelp doc/html python result result/noent test



Author: veillard
Date: Fri Oct  3 07:58:23 2008
New Revision: 3799
URL: http://svn.gnome.org/viewvc/libxml2?rev=3799&view=rev

Log:
* configure.in doc/* NEWS: preparing the release of 2.7.2
* dict.c: fix the Solaris portability issue
* parser.c: additional cleanup on #554660 fix
* test/ent13 result/ent13* result/noent/ent13*: added the
  example in the regression test suite.
* HTMLparser.c: handle leading BOM in htmlParseElement()
Daniel


Added:
   trunk/result/ent13
   trunk/result/ent13.rde
   trunk/result/ent13.rdr
   trunk/result/ent13.sax
   trunk/result/ent13.sax2
   trunk/result/noent/ent13
   trunk/test/ent13
Modified:
   trunk/ChangeLog
   trunk/HTMLparser.c
   trunk/NEWS
   trunk/config.h.in
   trunk/configure.in
   trunk/dict.c
   trunk/doc/APIfiles.html
   trunk/doc/APIsymbols.html
   trunk/doc/devhelp/libxml2-xmlsave.html
   trunk/doc/devhelp/libxml2.devhelp
   trunk/doc/html/libxml-xmlsave.html
   trunk/doc/libxml2-api.xml
   trunk/doc/libxml2-refs.xml
   trunk/doc/libxml2.xsa
   trunk/doc/news.html
   trunk/doc/xml.html
   trunk/parser.c
   trunk/python/setup.py

Modified: trunk/HTMLparser.c
==============================================================================
--- trunk/HTMLparser.c	(original)
+++ trunk/HTMLparser.c	Fri Oct  3 07:58:23 2008
@@ -4120,6 +4120,8 @@
 
 int
 htmlParseDocument(htmlParserCtxtPtr ctxt) {
+    xmlChar start[4];
+    xmlCharEncoding enc;
     xmlDtdPtr dtd;
 
     xmlInitParser();
@@ -4139,6 +4141,23 @@
     if ((ctxt->sax) && (ctxt->sax->setDocumentLocator))
         ctxt->sax->setDocumentLocator(ctxt->userData, &xmlDefaultSAXLocator);
 
+    if ((ctxt->encoding == (const xmlChar *)XML_CHAR_ENCODING_NONE) &&
+        ((ctxt->input->end - ctxt->input->cur) >= 4)) {
+	/*
+	 * Get the 4 first bytes and decode the charset
+	 * if enc != XML_CHAR_ENCODING_NONE
+	 * plug some encoding conversion routines.
+	 */
+	start[0] = RAW;
+	start[1] = NXT(1);
+	start[2] = NXT(2);
+	start[3] = NXT(3);
+	enc = xmlDetectCharEncoding(&start[0], 4);
+	if (enc != XML_CHAR_ENCODING_NONE) {
+	    xmlSwitchEncoding(ctxt, enc);
+	}
+    }
+
     /*
      * Wipe out everything which is before the first '<'
      */
@@ -4158,10 +4177,10 @@
     while (((CUR == '<') && (NXT(1) == '!') &&
             (NXT(2) == '-') && (NXT(3) == '-')) ||
 	   ((CUR == '<') && (NXT(1) == '?'))) {
-        htmlParseComment(ctxt);	   
-        htmlParsePI(ctxt);	   
+        htmlParseComment(ctxt);
+        htmlParsePI(ctxt);
 	SKIP_BLANKS;
-    }	   
+    }
 
 
     /*

Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS	(original)
+++ trunk/NEWS	Fri Oct  3 07:58:23 2008
@@ -15,6 +15,17 @@
 to the SVN at 
 http://svn.gnome.org/viewcvs/libxml2/trunk/
  code base.Here is the list of public releases:
+2.7.2: Oct 3 2008:
+   - Portability fix: fix solaris compilation problem, fix compilation
+        if XPath is not configured in
+   - Bug fixes: nasty entity bug introduced in 2.7.0, restore old behaviour
+        when saving an HTML doc with an xml dump function, HTML UTF-8 parsing
+        bug, fix reader custom error handlers (Riccardo Scussat)
+    
+   - Improvement: xmlSave options for more flexibility to save as
+        XML/HTML/XHTML, handle leading BOM in HTML documents
+
+
 2.7.1: Sep 1 2008:
    - Portability fix: Borland C fix (Moritz Both)
    - Bug fixes: python serialization wrappers, XPath QName corner

Modified: trunk/config.h.in
==============================================================================
--- trunk/config.h.in	(original)
+++ trunk/config.h.in	Fri Oct  3 07:58:23 2008
@@ -85,6 +85,9 @@
 /* Define to 1 if you have the <inttypes.h> header file. */
 #undef HAVE_INTTYPES_H
 
+/* Define to 1 if you have the <inttypes.h.h> header file. */
+#undef HAVE_INTTYPES_H_H
+
 /* Define if isinf is there */
 #undef HAVE_ISINF
 

Modified: trunk/configure.in
==============================================================================
--- trunk/configure.in	(original)
+++ trunk/configure.in	Fri Oct  3 07:58:23 2008
@@ -5,7 +5,7 @@
 
 LIBXML_MAJOR_VERSION=2
 LIBXML_MINOR_VERSION=7
-LIBXML_MICRO_VERSION=1
+LIBXML_MICRO_VERSION=2
 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
@@ -378,6 +378,8 @@
 AC_CHECK_HEADERS([stdarg.h])
 AC_CHECK_HEADERS([sys/stat.h])
 AC_CHECK_HEADERS([sys/types.h])
+AC_CHECK_HEADERS([stdint.h])
+AC_CHECK_HEADERS([inttypes.h.h])
 AC_CHECK_HEADERS([time.h])
 AC_CHECK_HEADERS([ansidecl.h])
 AC_CHECK_HEADERS([ieeefp.h])

Modified: trunk/dict.c
==============================================================================
--- trunk/dict.c	(original)
+++ trunk/dict.c	Fri Oct  3 07:58:23 2008
@@ -22,9 +22,13 @@
 #include <string.h>
 #ifdef HAVE_STDINT_H
 #include <stdint.h>
+#else
+#ifdef HAVE_INTTYPES_H
+#include <inttypes.h>
 #elif defined(WIN32)
 typedef unsigned __int32 uint32_t;
 #endif
+#endif
 #include <libxml/tree.h>
 #include <libxml/dict.h>
 #include <libxml/xmlmemory.h>

Modified: trunk/doc/APIfiles.html
==============================================================================
--- trunk/doc/APIfiles.html	(original)
+++ trunk/doc/APIfiles.html	Fri Oct  3 07:58:23 2008
@@ -2797,10 +2797,13 @@
 <a href="html/libxml-xmlregexp.html#xmlRegexpIsDeterminist">xmlRegexpIsDeterminist</a><br />
 <a href="html/libxml-xmlregexp.html#xmlRegexpPrint">xmlRegexpPrint</a><br />
 <a href="html/libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a><br />
-</p><h2><a name="xmlsave" id="xmlsave">Module xmlsave</a>:</h2><p><a href="html/libxml-xmlsave.html#XML_SAVE_FORMAT">XML_SAVE_FORMAT</a><br />
+</p><h2><a name="xmlsave" id="xmlsave">Module xmlsave</a>:</h2><p><a href="html/libxml-xmlsave.html#XML_SAVE_AS_HTML">XML_SAVE_AS_HTML</a><br />
+<a href="html/libxml-xmlsave.html#XML_SAVE_AS_XML">XML_SAVE_AS_XML</a><br />
+<a href="html/libxml-xmlsave.html#XML_SAVE_FORMAT">XML_SAVE_FORMAT</a><br />
 <a href="html/libxml-xmlsave.html#XML_SAVE_NO_DECL">XML_SAVE_NO_DECL</a><br />
 <a href="html/libxml-xmlsave.html#XML_SAVE_NO_EMPTY">XML_SAVE_NO_EMPTY</a><br />
 <a href="html/libxml-xmlsave.html#XML_SAVE_NO_XHTML">XML_SAVE_NO_XHTML</a><br />
+<a href="html/libxml-xmlsave.html#XML_SAVE_XHTML">XML_SAVE_XHTML</a><br />
 <a href="html/libxml-xmlsave.html#xmlSaveClose">xmlSaveClose</a><br />
 <a href="html/libxml-xmlsave.html#xmlSaveCtxt">xmlSaveCtxt</a><br />
 <a href="html/libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a><br />

Modified: trunk/doc/APIsymbols.html
==============================================================================
--- trunk/doc/APIsymbols.html	(original)
+++ trunk/doc/APIsymbols.html	Fri Oct  3 07:58:23 2008
@@ -788,6 +788,8 @@
 <a href="html/libxml-xmlerror.html#XML_RNGP_VALUE_NO_CONTENT">XML_RNGP_VALUE_NO_CONTENT</a><br />
 <a href="html/libxml-xmlerror.html#XML_RNGP_XMLNS_NAME">XML_RNGP_XMLNS_NAME</a><br />
 <a href="html/libxml-xmlerror.html#XML_RNGP_XML_NS">XML_RNGP_XML_NS</a><br />
+<a href="html/libxml-xmlsave.html#XML_SAVE_AS_HTML">XML_SAVE_AS_HTML</a><br />
+<a href="html/libxml-xmlsave.html#XML_SAVE_AS_XML">XML_SAVE_AS_XML</a><br />
 <a href="html/libxml-xmlerror.html#XML_SAVE_CHAR_INVALID">XML_SAVE_CHAR_INVALID</a><br />
 <a href="html/libxml-xmlsave.html#XML_SAVE_FORMAT">XML_SAVE_FORMAT</a><br />
 <a href="html/libxml-xmlerror.html#XML_SAVE_NOT_UTF8">XML_SAVE_NOT_UTF8</a><br />
@@ -796,6 +798,7 @@
 <a href="html/libxml-xmlsave.html#XML_SAVE_NO_EMPTY">XML_SAVE_NO_EMPTY</a><br />
 <a href="html/libxml-xmlsave.html#XML_SAVE_NO_XHTML">XML_SAVE_NO_XHTML</a><br />
 <a href="html/libxml-xmlerror.html#XML_SAVE_UNKNOWN_ENCODING">XML_SAVE_UNKNOWN_ENCODING</a><br />
+<a href="html/libxml-xmlsave.html#XML_SAVE_XHTML">XML_SAVE_XHTML</a><br />
 <a href="html/libxml-parser.html#XML_SAX2_MAGIC">XML_SAX2_MAGIC</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_AG_PROPS_CORRECT">XML_SCHEMAP_AG_PROPS_CORRECT</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_ATTRFORMDEFAULT_VALUE">XML_SCHEMAP_ATTRFORMDEFAULT_VALUE</a><br />

Modified: trunk/doc/devhelp/libxml2-xmlsave.html
==============================================================================
--- trunk/doc/devhelp/libxml2-xmlsave.html	(original)
+++ trunk/doc/devhelp/libxml2-xmlsave.html	Fri Oct  3 07:58:23 2008
@@ -78,7 +78,10 @@
     <a name="XML_SAVE_FORMAT">XML_SAVE_FORMAT</a> = 1 /* format save output */
     <a name="XML_SAVE_NO_DECL">XML_SAVE_NO_DECL</a> = 2 /* drop the xml declaration */
     <a name="XML_SAVE_NO_EMPTY">XML_SAVE_NO_EMPTY</a> = 4 /* no empty tags */
-    <a name="XML_SAVE_NO_XHTML">XML_SAVE_NO_XHTML</a> = 8 /*  disable XHTML1 specific rules */
+    <a name="XML_SAVE_NO_XHTML">XML_SAVE_NO_XHTML</a> = 8 /* disable XHTML1 specific rules */
+    <a name="XML_SAVE_XHTML">XML_SAVE_XHTML</a> = 16 /* force XHTML1 specific rules */
+    <a name="XML_SAVE_AS_XML">XML_SAVE_AS_XML</a> = 32 /* force XML serialization on HTML doc */
+    <a name="XML_SAVE_AS_HTML">XML_SAVE_AS_HTML</a> = 64 /*  force HTML serialization on XML doc */
 };
 </pre><p/>
 </div>

Modified: trunk/doc/devhelp/libxml2.devhelp
==============================================================================
--- trunk/doc/devhelp/libxml2.devhelp	(original)
+++ trunk/doc/devhelp/libxml2.devhelp	Fri Oct  3 07:58:23 2008
@@ -969,6 +969,8 @@
     <function name="XML_RNGP_VALUE_NO_CONTENT" link="libxml2-xmlerror.html#XML_RNGP_VALUE_NO_CONTENT"/>
     <function name="XML_RNGP_XMLNS_NAME" link="libxml2-xmlerror.html#XML_RNGP_XMLNS_NAME"/>
     <function name="XML_RNGP_XML_NS" link="libxml2-xmlerror.html#XML_RNGP_XML_NS"/>
+    <function name="XML_SAVE_AS_HTML" link="libxml2-xmlsave.html#XML_SAVE_AS_HTML"/>
+    <function name="XML_SAVE_AS_XML" link="libxml2-xmlsave.html#XML_SAVE_AS_XML"/>
     <function name="XML_SAVE_CHAR_INVALID" link="libxml2-xmlerror.html#XML_SAVE_CHAR_INVALID"/>
     <function name="XML_SAVE_FORMAT" link="libxml2-xmlsave.html#XML_SAVE_FORMAT"/>
     <function name="XML_SAVE_NOT_UTF8" link="libxml2-xmlerror.html#XML_SAVE_NOT_UTF8"/>
@@ -977,6 +979,7 @@
     <function name="XML_SAVE_NO_EMPTY" link="libxml2-xmlsave.html#XML_SAVE_NO_EMPTY"/>
     <function name="XML_SAVE_NO_XHTML" link="libxml2-xmlsave.html#XML_SAVE_NO_XHTML"/>
     <function name="XML_SAVE_UNKNOWN_ENCODING" link="libxml2-xmlerror.html#XML_SAVE_UNKNOWN_ENCODING"/>
+    <function name="XML_SAVE_XHTML" link="libxml2-xmlsave.html#XML_SAVE_XHTML"/>
     <function name="XML_SCHEMAP_AG_PROPS_CORRECT" link="libxml2-xmlerror.html#XML_SCHEMAP_AG_PROPS_CORRECT"/>
     <function name="XML_SCHEMAP_ATTRFORMDEFAULT_VALUE" link="libxml2-xmlerror.html#XML_SCHEMAP_ATTRFORMDEFAULT_VALUE"/>
     <function name="XML_SCHEMAP_ATTRGRP_NONAME_NOREF" link="libxml2-xmlerror.html#XML_SCHEMAP_ATTRGRP_NONAME_NOREF"/>

Modified: trunk/doc/html/libxml-xmlsave.html
==============================================================================
--- trunk/doc/html/libxml-xmlsave.html	(original)
+++ trunk/doc/html/libxml-xmlsave.html	Fri Oct  3 07:58:23 2008
@@ -32,6 +32,9 @@
     <a name="XML_SAVE_NO_DECL" id="XML_SAVE_NO_DECL">XML_SAVE_NO_DECL</a> = 2 : drop the xml declaration
     <a name="XML_SAVE_NO_EMPTY" id="XML_SAVE_NO_EMPTY">XML_SAVE_NO_EMPTY</a> = 4 : no empty tags
     <a name="XML_SAVE_NO_XHTML" id="XML_SAVE_NO_XHTML">XML_SAVE_NO_XHTML</a> = 8 : disable XHTML1 specific rules
+    <a name="XML_SAVE_XHTML" id="XML_SAVE_XHTML">XML_SAVE_XHTML</a> = 16 : force XHTML1 specific rules
+    <a name="XML_SAVE_AS_XML" id="XML_SAVE_AS_XML">XML_SAVE_AS_XML</a> = 32 : force XML serialization on HTML doc
+    <a name="XML_SAVE_AS_HTML" id="XML_SAVE_AS_HTML">XML_SAVE_AS_HTML</a> = 64 : force HTML serialization on XML doc
 }
 </pre><h3><a name="xmlSaveClose" id="xmlSaveClose"></a>Function: xmlSaveClose</h3><pre class="programlisting">int	xmlSaveClose			(<a href="libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt)<br />
 </pre><p>Close a document saving context, i.e. make sure that all bytes have been output and free the associated data.</p>

Modified: trunk/doc/libxml2-api.xml
==============================================================================
--- trunk/doc/libxml2-api.xml	(original)
+++ trunk/doc/libxml2-api.xml	Fri Oct  3 07:58:23 2008
@@ -2982,9 +2982,12 @@
      <summary>the XML document serializer</summary>
      <description>API to save document or subtree of document </description>
      <author>Daniel Veillard </author>
+     <exports symbol='XML_SAVE_XHTML' type='enum'/>
+     <exports symbol='XML_SAVE_AS_XML' type='enum'/>
      <exports symbol='XML_SAVE_NO_EMPTY' type='enum'/>
-     <exports symbol='XML_SAVE_NO_DECL' type='enum'/>
      <exports symbol='XML_SAVE_NO_XHTML' type='enum'/>
+     <exports symbol='XML_SAVE_NO_DECL' type='enum'/>
+     <exports symbol='XML_SAVE_AS_HTML' type='enum'/>
      <exports symbol='XML_SAVE_FORMAT' type='enum'/>
      <exports symbol='xmlSaveOption' type='typedef'/>
      <exports symbol='xmlSaveCtxt' type='typedef'/>
@@ -5235,14 +5238,17 @@
     <enum name='XML_RNGP_VALUE_NO_CONTENT' file='xmlerror' value='1120' type='xmlParserErrors' info='1120'/>
     <enum name='XML_RNGP_XMLNS_NAME' file='xmlerror' value='1121' type='xmlParserErrors' info='1121'/>
     <enum name='XML_RNGP_XML_NS' file='xmlerror' value='1122' type='xmlParserErrors' info='1122'/>
+    <enum name='XML_SAVE_AS_HTML' file='xmlsave' value='64' type='xmlSaveOption' info=' force HTML serialization on XML doc'/>
+    <enum name='XML_SAVE_AS_XML' file='xmlsave' value='32' type='xmlSaveOption' info='force XML serialization on HTML doc'/>
     <enum name='XML_SAVE_CHAR_INVALID' file='xmlerror' value='1401' type='xmlParserErrors' info='1401'/>
     <enum name='XML_SAVE_FORMAT' file='xmlsave' value='1' type='xmlSaveOption' info='format save output'/>
     <enum name='XML_SAVE_NOT_UTF8' file='xmlerror' value='1400' type='xmlParserErrors'/>
     <enum name='XML_SAVE_NO_DECL' file='xmlsave' value='2' type='xmlSaveOption' info='drop the xml declaration'/>
     <enum name='XML_SAVE_NO_DOCTYPE' file='xmlerror' value='1402' type='xmlParserErrors' info='1402'/>
     <enum name='XML_SAVE_NO_EMPTY' file='xmlsave' value='4' type='xmlSaveOption' info='no empty tags'/>
-    <enum name='XML_SAVE_NO_XHTML' file='xmlsave' value='8' type='xmlSaveOption' info=' disable XHTML1 specific rules'/>
+    <enum name='XML_SAVE_NO_XHTML' file='xmlsave' value='8' type='xmlSaveOption' info='disable XHTML1 specific rules'/>
     <enum name='XML_SAVE_UNKNOWN_ENCODING' file='xmlerror' value='1403' type='xmlParserErrors' info='1403'/>
+    <enum name='XML_SAVE_XHTML' file='xmlsave' value='16' type='xmlSaveOption' info='force XHTML1 specific rules'/>
     <enum name='XML_SCHEMAP_AG_PROPS_CORRECT' file='xmlerror' value='3087' type='xmlParserErrors' info='3086'/>
     <enum name='XML_SCHEMAP_ATTRFORMDEFAULT_VALUE' file='xmlerror' value='1701' type='xmlParserErrors' info='1701'/>
     <enum name='XML_SCHEMAP_ATTRGRP_NONAME_NOREF' file='xmlerror' value='1702' type='xmlParserErrors' info='1702'/>

Modified: trunk/doc/libxml2-refs.xml
==============================================================================
--- trunk/doc/libxml2-refs.xml	(original)
+++ trunk/doc/libxml2-refs.xml	Fri Oct  3 07:58:23 2008
@@ -782,6 +782,8 @@
     <reference name='XML_RNGP_VALUE_NO_CONTENT' href='html/libxml-xmlerror.html#XML_RNGP_VALUE_NO_CONTENT'/>
     <reference name='XML_RNGP_XMLNS_NAME' href='html/libxml-xmlerror.html#XML_RNGP_XMLNS_NAME'/>
     <reference name='XML_RNGP_XML_NS' href='html/libxml-xmlerror.html#XML_RNGP_XML_NS'/>
+    <reference name='XML_SAVE_AS_HTML' href='html/libxml-xmlsave.html#XML_SAVE_AS_HTML'/>
+    <reference name='XML_SAVE_AS_XML' href='html/libxml-xmlsave.html#XML_SAVE_AS_XML'/>
     <reference name='XML_SAVE_CHAR_INVALID' href='html/libxml-xmlerror.html#XML_SAVE_CHAR_INVALID'/>
     <reference name='XML_SAVE_FORMAT' href='html/libxml-xmlsave.html#XML_SAVE_FORMAT'/>
     <reference name='XML_SAVE_NOT_UTF8' href='html/libxml-xmlerror.html#XML_SAVE_NOT_UTF8'/>
@@ -790,6 +792,7 @@
     <reference name='XML_SAVE_NO_EMPTY' href='html/libxml-xmlsave.html#XML_SAVE_NO_EMPTY'/>
     <reference name='XML_SAVE_NO_XHTML' href='html/libxml-xmlsave.html#XML_SAVE_NO_XHTML'/>
     <reference name='XML_SAVE_UNKNOWN_ENCODING' href='html/libxml-xmlerror.html#XML_SAVE_UNKNOWN_ENCODING'/>
+    <reference name='XML_SAVE_XHTML' href='html/libxml-xmlsave.html#XML_SAVE_XHTML'/>
     <reference name='XML_SAX2_MAGIC' href='html/libxml-parser.html#XML_SAX2_MAGIC'/>
     <reference name='XML_SCHEMAP_AG_PROPS_CORRECT' href='html/libxml-xmlerror.html#XML_SCHEMAP_AG_PROPS_CORRECT'/>
     <reference name='XML_SCHEMAP_ATTRFORMDEFAULT_VALUE' href='html/libxml-xmlerror.html#XML_SCHEMAP_ATTRFORMDEFAULT_VALUE'/>
@@ -4319,6 +4322,8 @@
       <ref name='XML_RNGP_VALUE_NO_CONTENT'/>
       <ref name='XML_RNGP_XMLNS_NAME'/>
       <ref name='XML_RNGP_XML_NS'/>
+      <ref name='XML_SAVE_AS_HTML'/>
+      <ref name='XML_SAVE_AS_XML'/>
       <ref name='XML_SAVE_CHAR_INVALID'/>
       <ref name='XML_SAVE_FORMAT'/>
       <ref name='XML_SAVE_NOT_UTF8'/>
@@ -4327,6 +4332,7 @@
       <ref name='XML_SAVE_NO_EMPTY'/>
       <ref name='XML_SAVE_NO_XHTML'/>
       <ref name='XML_SAVE_UNKNOWN_ENCODING'/>
+      <ref name='XML_SAVE_XHTML'/>
       <ref name='XML_SAX2_MAGIC'/>
       <ref name='XML_SCHEMAP_AG_PROPS_CORRECT'/>
       <ref name='XML_SCHEMAP_ATTRFORMDEFAULT_VALUE'/>
@@ -13414,10 +13420,13 @@
       <ref name='xmlRegexpPtr'/>
     </file>
     <file name='xmlsave'>
+      <ref name='XML_SAVE_AS_HTML'/>
+      <ref name='XML_SAVE_AS_XML'/>
       <ref name='XML_SAVE_FORMAT'/>
       <ref name='XML_SAVE_NO_DECL'/>
       <ref name='XML_SAVE_NO_EMPTY'/>
       <ref name='XML_SAVE_NO_XHTML'/>
+      <ref name='XML_SAVE_XHTML'/>
       <ref name='xmlSaveClose'/>
       <ref name='xmlSaveCtxt'/>
       <ref name='xmlSaveCtxtPtr'/>

Modified: trunk/doc/libxml2.xsa
==============================================================================
--- trunk/doc/libxml2.xsa	(original)
+++ trunk/doc/libxml2.xsa	Fri Oct  3 07:58:23 2008
@@ -8,33 +8,14 @@
   </vendor>
   <product id="libxml2">
     <name>libxml2</name>
-    <version>2.7.0</version>
-    <last-release> Aug 30 2008</last-release>
+    <version>2.7.1</version>
+    <last-release> Sep 1 2008</last-release>
     <info-url>http://xmlsoft.org/</info-url>
-    <changes>   - Documentation: switch ChangeLog to UTF-8, improve mutithreads and
-      xmlParserCleanup docs
-   - Portability fixes: Older Win32 platforms (Rob Richards), MSVC
-      porting fix (Rob Richards), Mac OS X regression tests (Sven Herzberg),
-      non GNUCC builds (Rob Richards), compilation on Haiku (Andreas FÃrber)
-      
-   - Bug fixes: various realloc problems (Ashwin), potential double-free
-      (Ashwin), regexp crash, icrash with invalid whitespace facets (Rob
-      Richards), pattern fix when streaming (William Brack), various XML
-      parsing and validation fixes based on the W3C regression tests, reader
-      tree skipping function fix (Ashwin), Schemas regexps escaping fix
-      (Volker Grabsch), handling of entity push errors (Ashwin), fix a slowdown
-      when encoder cant serialize characters on output
-   - Code cleanup: compilation fix without the reader, without the output
-      (Robert Schwebel), python whitespace (Martin), many space/tabs cleanups,
-      serious cleanup of the entity handling code
-   - Improvement: switch parser to XML-1.0 5th edition, add parsing flags
-      for old versions, switch URI parsing to RFC 3986,
-      add xmlSchemaValidCtxtGetParserCtxt (Holger Kaelberer),
-      new hashing functions for dictionnaries (based on Stefan Behnel work),
-      improve handling of misplaced html/head/body in HTML parser, better
-      regression test tools and code coverage display, better algorithms
-      to detect various versions of the billion laughts attacks, make
-      arbitrary parser limits avoidable as a parser option
+    <changes>   - Portability fix: Borland C fix (Moritz Both)
+   - Bug fixes: python serialization wrappers, XPath QName corner
+        case handking and leaks (Martin)
+   - Improvement: extend the xmlSave to handle HTML documents and trees
+   - Cleanup: python serialization wrappers
 
 </changes>
   </product>

Modified: trunk/doc/news.html
==============================================================================
--- trunk/doc/news.html	(original)
+++ trunk/doc/news.html	Fri Oct  3 07:58:23 2008
@@ -12,7 +12,14 @@
   <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.7.1: Sep 1 2008</h3><ul><li>Portability fix: Borland C fix (Moritz Both)</li>
+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.7.2: Oct 3 2008</h3><ul><li>Portability fix: fix solaris compilation problem, fix compilation
+        if XPath is not configured in</li>
+    <li>Bug fixes: nasty entity bug introduced in 2.7.0, restore old behaviour
+        when saving an HTML doc with an xml dump function, HTML UTF-8 parsing
+        bug, fix reader custom error handlers (Riccardo Scussat)
+    </li><li>Improvement: xmlSave options for more flexibility to save as
+        XML/HTML/XHTML, handle leading BOM in HTML documents</li>
+</ul><h3>2.7.1: Sep 1 2008</h3><ul><li>Portability fix: Borland C fix (Moritz Both)</li>
     <li>Bug fixes: python serialization wrappers, XPath QName corner
         case handking and leaks (Martin)</li>
     <li>Improvement: extend the xmlSave to handle HTML documents and trees</li>

Modified: trunk/doc/xml.html
==============================================================================
--- trunk/doc/xml.html	(original)
+++ trunk/doc/xml.html	Fri Oct  3 07:58:23 2008
@@ -727,6 +727,17 @@
 
 <p>Here is the list of public releases:</p>
 
+<h3>2.7.2: Oct 3 2008</h3>
+<ul>
+    <li>Portability fix: fix solaris compilation problem, fix compilation
+        if XPath is not configured in</li>
+    <li>Bug fixes: nasty entity bug introduced in 2.7.0, restore old behaviour
+        when saving an HTML doc with an xml dump function, HTML UTF-8 parsing
+        bug, fix reader custom error handlers (Riccardo Scussat)
+    <li>Improvement: xmlSave options for more flexibility to save as
+        XML/HTML/XHTML, handle leading BOM in HTML documents</li>
+</ul>
+
 <h3>2.7.1: Sep 1 2008</h3>
 <ul>
     <li>Portability fix: Borland C fix (Moritz Both)</li>

Modified: trunk/parser.c
==============================================================================
--- trunk/parser.c	(original)
+++ trunk/parser.c	Fri Oct  3 07:58:23 2008
@@ -7215,6 +7215,7 @@
     }
     if (*ptr != ';') {
 	xmlFatalErr(ctxt, XML_ERR_ENTITYREF_SEMICOL_MISSING, NULL);
+        xmlFree(name);
 	*str = ptr;
 	return(NULL);
     }
@@ -7226,6 +7227,7 @@
      */
     ent = xmlGetPredefinedEntity(name);
     if (ent != NULL) {
+        xmlFree(name);
         *str = ptr;
         return(ent);
     }

Modified: trunk/python/setup.py
==============================================================================
--- trunk/python/setup.py	(original)
+++ trunk/python/setup.py	Fri Oct  3 07:58:23 2008
@@ -226,7 +226,7 @@
 setup (name = "libxml2-python",
        # On *nix, the version number is created from setup.py.in
        # On windows, it is set by configure.js
-       version = "2.7.1",
+       version = "2.7.2",
        description = descr,
        author = "Daniel Veillard",
        author_email = "veillard redhat com",

Added: trunk/result/ent13
==============================================================================
--- (empty file)
+++ trunk/result/ent13	Fri Oct  3 07:58:23 2008
@@ -0,0 +1,5 @@
+<?xml version="1.0"?>
+<!DOCTYPE test [
+<!ENTITY ampproblem "&amp;">
+]>
+<t a="&ampproblem;">a</t>

Added: trunk/result/ent13.rde
==============================================================================
--- (empty file)
+++ trunk/result/ent13.rde	Fri Oct  3 07:58:23 2008
@@ -0,0 +1,4 @@
+0 10 test 0 0
+0 1 t 0 0
+1 3 #text 0 1 a
+0 15 t 0 0

Added: trunk/result/ent13.rdr
==============================================================================
--- (empty file)
+++ trunk/result/ent13.rdr	Fri Oct  3 07:58:23 2008
@@ -0,0 +1,4 @@
+0 10 test 0 0
+0 1 t 0 0
+1 3 #text 0 1 a
+0 15 t 0 0

Added: trunk/result/ent13.sax
==============================================================================
--- (empty file)
+++ trunk/result/ent13.sax	Fri Oct  3 07:58:23 2008
@@ -0,0 +1,11 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(test, , )
+SAX.entityDecl(ampproblem, 1, (null), (null), &amp;)
+SAX.getEntity(ampproblem)
+SAX.externalSubset(test, , )
+SAX.getEntity(ampproblem)
+SAX.startElement(t, a='&ampproblem;')
+SAX.characters(a, 1)
+SAX.endElement(t)
+SAX.endDocument()

Added: trunk/result/ent13.sax2
==============================================================================
--- (empty file)
+++ trunk/result/ent13.sax2	Fri Oct  3 07:58:23 2008
@@ -0,0 +1,11 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(test, , )
+SAX.entityDecl(ampproblem, 1, (null), (null), &amp;)
+SAX.getEntity(ampproblem)
+SAX.externalSubset(test, , )
+SAX.getEntity(ampproblem)
+SAX.startElementNs(t, NULL, NULL, 0, 1, 0, a='&amp...', 12)
+SAX.characters(a, 1)
+SAX.endElementNs(t, NULL, NULL)
+SAX.endDocument()

Added: trunk/result/noent/ent13
==============================================================================
--- (empty file)
+++ trunk/result/noent/ent13	Fri Oct  3 07:58:23 2008
@@ -0,0 +1,5 @@
+<?xml version="1.0"?>
+<!DOCTYPE test [
+<!ENTITY ampproblem "&amp;">
+]>
+<t a="&amp;">a</t>

Added: trunk/test/ent13
==============================================================================
--- (empty file)
+++ trunk/test/ent13	Fri Oct  3 07:58:23 2008
@@ -0,0 +1,6 @@
+<?xml version='1.0' ?>
+<!DOCTYPE test [
+<!ENTITY ampproblem '&amp;'>
+]>
+<t a="&ampproblem;">a</t>
+



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]