Add HTML parser support for HTML5 meta charset encoding declaration

For https://bugzilla.gnome.org/show_bug.cgi?id=655218

http://www.w3.org/TR/2011/WD-html5-20110525/semantics.html#the-meta-element

"""
The charset attribute specifies the character encoding used by the document.
This is a character encoding declaration. If the attribute is present in an XML
document, its value must be an ASCII case-insensitive match for the string
"UTF-8" (and the document is therefore forced to use UTF-8 as its
encoding).
"""

However, while <meta http-equiv="Content-Type" content="text/html;
charset=utf8"> works, <meta charset="utf8"> does not.

While libxml2 HTML parser is not tuned for HTML5, this is a simple
addition

Also added a testcase
6 files changed
tree: 4b39353761e2137b6adce484378b4434c223ef74
  1. bakefile/
  2. doc/
  3. example/
  4. include/
  5. macos/
  6. optim/
  7. python/
  8. result/
  9. test/
  10. vms/
  11. VxWorks/
  12. win32/
  13. xstc/
  14. .cvsignore
  15. .gitignore
  16. acinclude.m4
  17. AUTHORS
  18. autogen.sh
  19. build_glob.py
  20. c14n.c
  21. catalog.c
  22. ChangeLog
  23. check-relaxng-test-suite.py
  24. check-relaxng-test-suite2.py
  25. check-xinclude-test-suite.py
  26. check-xml-test-suite.py
  27. check-xsddata-test-suite.py
  28. chvalid.c
  29. chvalid.def
  30. configure.in
  31. Copyright
  32. dbgen.pl
  33. dbgenattr.pl
  34. debugXML.c
  35. dict.c
  36. DOCBparser.c
  37. elfgcchack.h
  38. encoding.c
  39. entities.c
  40. error.c
  41. genChRanges.py
  42. gentest.py
  43. genUnicode.py
  44. global.data
  45. globals.c
  46. HACKING
  47. hash.c
  48. HTMLparser.c
  49. HTMLtree.c
  50. INSTALL.libxml2
  51. legacy.c
  52. libxml-2.0-uninstalled.pc.in
  53. libxml-2.0.pc.in
  54. libxml.3
  55. libxml.h
  56. libxml.m4
  57. libxml.spec.in
  58. libxml2.doap
  59. libxml2.syms
  60. list.c
  61. MAINTAINERS
  62. Makefile.am
  63. Makefile.tests
  64. Makefile.win
  65. nanoftp.c
  66. nanohttp.c
  67. NEWS
  68. parser.c
  69. parserInternals.c
  70. pattern.c
  71. README
  72. README.cvs-commits
  73. README.tests
  74. regressions.py
  75. regressions.xml
  76. relaxng.c
  77. rngparser.c
  78. runsuite.c
  79. runtest.c
  80. runxmlconf.c
  81. SAX.c
  82. SAX2.c
  83. schematron.c
  84. testapi.c
  85. testAutomata.c
  86. testC14N.c
  87. testchar.c
  88. testdict.c
  89. testdso.c
  90. testHTML.c
  91. testModule.c
  92. testOOM.c
  93. testOOMlib.c
  94. testOOMlib.h
  95. testReader.c
  96. testrecurse.c
  97. testRegexp.c
  98. testRelax.c
  99. testSAX.c
  100. testSchemas.c
  101. testThreads.c
  102. testThreadsWin32.c
  103. testURI.c
  104. testXPath.c
  105. threads.c
  106. TODO
  107. TODO_SCHEMAS
  108. tree.c
  109. trio.c
  110. trio.h
  111. triodef.h
  112. trionan.c
  113. trionan.h
  114. triop.h
  115. triostr.c
  116. triostr.h
  117. uri.c
  118. valid.c
  119. xinclude.c
  120. xlink.c
  121. xml2-config.1
  122. xml2-config.in
  123. xml2Conf.sh.in
  124. xmlcatalog.c
  125. xmlIO.c
  126. xmllint.c
  127. xmlmemory.c
  128. xmlmodule.c
  129. xmlreader.c
  130. xmlregexp.c
  131. xmlsave.c
  132. xmlschemas.c
  133. xmlschemastypes.c
  134. xmlstring.c
  135. xmlunicode.c
  136. xmlwriter.c
  137. xpath.c
  138. xpointer.c
  139. xzlib.c
  140. xzlib.h