cairo 1.14.0-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of cairo might be problematic. Click here for more details.

Files changed (636) hide show
  1. checksums.yaml +7 -0
  2. data/AUTHORS +7 -0
  3. data/COPYING +59 -0
  4. data/GPL +340 -0
  5. data/Gemfile +5 -0
  6. data/NEWS +429 -0
  7. data/README.rdoc +120 -0
  8. data/Rakefile +620 -0
  9. data/ext/cairo/cairo.def +140 -0
  10. data/ext/cairo/depend +3 -0
  11. data/ext/cairo/extconf.rb +202 -0
  12. data/ext/cairo/rb_cairo.c +111 -0
  13. data/ext/cairo/rb_cairo.h +348 -0
  14. data/ext/cairo/rb_cairo_constants.c +673 -0
  15. data/ext/cairo/rb_cairo_context.c +1741 -0
  16. data/ext/cairo/rb_cairo_device.c +475 -0
  17. data/ext/cairo/rb_cairo_exception.c +446 -0
  18. data/ext/cairo/rb_cairo_font_extents.c +200 -0
  19. data/ext/cairo/rb_cairo_font_face.c +726 -0
  20. data/ext/cairo/rb_cairo_font_options.c +197 -0
  21. data/ext/cairo/rb_cairo_glyph.c +161 -0
  22. data/ext/cairo/rb_cairo_io.c +166 -0
  23. data/ext/cairo/rb_cairo_io.h +44 -0
  24. data/ext/cairo/rb_cairo_matrix.c +366 -0
  25. data/ext/cairo/rb_cairo_path.c +459 -0
  26. data/ext/cairo/rb_cairo_pattern.c +1192 -0
  27. data/ext/cairo/rb_cairo_private.c +255 -0
  28. data/ext/cairo/rb_cairo_private.h +129 -0
  29. data/ext/cairo/rb_cairo_rectangle.c +83 -0
  30. data/ext/cairo/rb_cairo_region.c +385 -0
  31. data/ext/cairo/rb_cairo_scaled_font.c +235 -0
  32. data/ext/cairo/rb_cairo_surface.c +2284 -0
  33. data/ext/cairo/rb_cairo_text_cluster.c +151 -0
  34. data/ext/cairo/rb_cairo_text_extents.c +221 -0
  35. data/lib/2.0/cairo.so +0 -0
  36. data/lib/2.1/cairo.so +0 -0
  37. data/lib/2.2/cairo.so +0 -0
  38. data/lib/cairo.rb +154 -0
  39. data/lib/cairo/color.rb +267 -0
  40. data/lib/cairo/colors.rb +656 -0
  41. data/lib/cairo/constants.rb +24 -0
  42. data/lib/cairo/context.rb +29 -0
  43. data/lib/cairo/context/blur.rb +45 -0
  44. data/lib/cairo/context/circle.rb +9 -0
  45. data/lib/cairo/context/color.rb +11 -0
  46. data/lib/cairo/context/path.rb +117 -0
  47. data/lib/cairo/context/rectangle.rb +33 -0
  48. data/lib/cairo/context/triangle.rb +12 -0
  49. data/lib/cairo/device.rb +13 -0
  50. data/lib/cairo/paper.rb +183 -0
  51. data/lib/cairo/papers.rb +65 -0
  52. data/lib/cairo/path.rb +15 -0
  53. data/lib/cairo/pattern.rb +12 -0
  54. data/lib/cairo/point.rb +7 -0
  55. data/lib/cairo/surface.rb +13 -0
  56. data/samples/agg/aa_test.rb +304 -0
  57. data/samples/blur.rb +46 -0
  58. data/samples/pac-nomralize.rb +170 -0
  59. data/samples/pac-tee.rb +170 -0
  60. data/samples/pac.rb +98 -0
  61. data/samples/png.rb +44 -0
  62. data/samples/scalable.rb +55 -0
  63. data/samples/text-on-path.rb +59 -0
  64. data/samples/text2.rb +130 -0
  65. data/test/cairo-test-utils.rb +44 -0
  66. data/test/run-test.rb +29 -0
  67. data/test/test_color.rb +17 -0
  68. data/test/test_constants.rb +27 -0
  69. data/test/test_context.rb +105 -0
  70. data/test/test_exception.rb +36 -0
  71. data/test/test_font_extents.rb +36 -0
  72. data/test/test_font_face.rb +257 -0
  73. data/test/test_font_options.rb +13 -0
  74. data/test/test_image_surface.rb +28 -0
  75. data/test/test_paper.rb +81 -0
  76. data/test/test_quartz_image_surface.rb +13 -0
  77. data/test/test_raster_source_pattern.rb +162 -0
  78. data/test/test_recording_surface.rb +19 -0
  79. data/test/test_region.rb +102 -0
  80. data/test/test_scaled_font.rb +34 -0
  81. data/test/test_script_device.rb +46 -0
  82. data/test/test_script_surface.rb +13 -0
  83. data/test/test_surface.rb +61 -0
  84. data/test/test_tee_surface.rb +32 -0
  85. data/test/test_text_cluster.rb +32 -0
  86. data/test/test_text_extents.rb +40 -0
  87. data/test/test_text_to_glyphs_data.rb +51 -0
  88. data/test/test_xml_device.rb +22 -0
  89. data/test/test_xml_surface.rb +34 -0
  90. data/vendor/local/bin/fc-cache.exe +0 -0
  91. data/vendor/local/bin/fc-cat.exe +0 -0
  92. data/vendor/local/bin/fc-list.exe +0 -0
  93. data/vendor/local/bin/fc-match.exe +0 -0
  94. data/vendor/local/bin/fc-pattern.exe +0 -0
  95. data/vendor/local/bin/fc-query.exe +0 -0
  96. data/vendor/local/bin/fc-scan.exe +0 -0
  97. data/vendor/local/bin/fc-validate.exe +0 -0
  98. data/vendor/local/bin/freetype-config +163 -0
  99. data/vendor/local/bin/libcairo-2.dll +0 -0
  100. data/vendor/local/bin/libcairo-gobject-2.dll +0 -0
  101. data/vendor/local/bin/libcairo-script-interpreter-2.dll +0 -0
  102. data/vendor/local/bin/libfontconfig-1.dll +0 -0
  103. data/vendor/local/bin/libfreetype-6.dll +0 -0
  104. data/vendor/local/bin/libgcc_s_seh-1.dll +0 -0
  105. data/vendor/local/bin/libpixman-1-0.dll +0 -0
  106. data/vendor/local/bin/libpng-config +127 -0
  107. data/vendor/local/bin/libpng16-16.dll +0 -0
  108. data/vendor/local/bin/libpng16-config +127 -0
  109. data/vendor/local/bin/libstdc++-6.dll +0 -0
  110. data/vendor/local/bin/libwinpthread-1.dll +0 -0
  111. data/vendor/local/bin/libxml2-2.dll +0 -0
  112. data/vendor/local/bin/png-fix-itxt.exe +0 -0
  113. data/vendor/local/bin/pngfix.exe +0 -0
  114. data/vendor/local/bin/xml2-config +106 -0
  115. data/vendor/local/bin/xmlcatalog.exe +0 -0
  116. data/vendor/local/bin/xmllint.exe +0 -0
  117. data/vendor/local/bin/zlib1.dll +0 -0
  118. data/vendor/local/etc/fonts/conf.d/10-scale-bitmap-fonts.conf +81 -0
  119. data/vendor/local/etc/fonts/conf.d/20-unhint-small-vera.conf +48 -0
  120. data/vendor/local/etc/fonts/conf.d/30-metric-aliases.conf +546 -0
  121. data/vendor/local/etc/fonts/conf.d/30-urw-aliases.conf +24 -0
  122. data/vendor/local/etc/fonts/conf.d/40-nonlatin.conf +231 -0
  123. data/vendor/local/etc/fonts/conf.d/45-latin.conf +189 -0
  124. data/vendor/local/etc/fonts/conf.d/49-sansserif.conf +21 -0
  125. data/vendor/local/etc/fonts/conf.d/50-user.conf +15 -0
  126. data/vendor/local/etc/fonts/conf.d/51-local.conf +6 -0
  127. data/vendor/local/etc/fonts/conf.d/60-latin.conf +70 -0
  128. data/vendor/local/etc/fonts/conf.d/65-fonts-persian.conf +419 -0
  129. data/vendor/local/etc/fonts/conf.d/65-nonlatin.conf +196 -0
  130. data/vendor/local/etc/fonts/conf.d/69-unifont.conf +28 -0
  131. data/vendor/local/etc/fonts/conf.d/80-delicious.conf +19 -0
  132. data/vendor/local/etc/fonts/conf.d/90-synthetic.conf +64 -0
  133. data/vendor/local/etc/fonts/conf.d/README +23 -0
  134. data/vendor/local/etc/fonts/fonts.conf +155 -0
  135. data/vendor/local/include/cairo/cairo-deprecated.h +123 -0
  136. data/vendor/local/include/cairo/cairo-features.h +31 -0
  137. data/vendor/local/include/cairo/cairo-ft.h +118 -0
  138. data/vendor/local/include/cairo/cairo-gobject.h +192 -0
  139. data/vendor/local/include/cairo/cairo-pdf.h +94 -0
  140. data/vendor/local/include/cairo/cairo-ps.h +116 -0
  141. data/vendor/local/include/cairo/cairo-script-interpreter.h +124 -0
  142. data/vendor/local/include/cairo/cairo-script.h +98 -0
  143. data/vendor/local/include/cairo/cairo-svg.h +84 -0
  144. data/vendor/local/include/cairo/cairo-version.h +8 -0
  145. data/vendor/local/include/cairo/cairo-win32.h +112 -0
  146. data/vendor/local/include/cairo/cairo.h +3153 -0
  147. data/vendor/local/include/fontconfig/fcfreetype.h +59 -0
  148. data/vendor/local/include/fontconfig/fcprivate.h +124 -0
  149. data/vendor/local/include/fontconfig/fontconfig.h +1010 -0
  150. data/vendor/local/include/freetype2/config/ftconfig.h +706 -0
  151. data/vendor/local/include/freetype2/config/ftheader.h +832 -0
  152. data/vendor/local/include/freetype2/config/ftmodule.h +20 -0
  153. data/vendor/local/include/freetype2/config/ftoption.h +846 -0
  154. data/vendor/local/include/freetype2/config/ftstdlib.h +174 -0
  155. data/vendor/local/include/freetype2/freetype.h +4076 -0
  156. data/vendor/local/include/freetype2/ft2build.h +42 -0
  157. data/vendor/local/include/freetype2/ftadvanc.h +182 -0
  158. data/vendor/local/include/freetype2/ftautoh.h +402 -0
  159. data/vendor/local/include/freetype2/ftbbox.h +102 -0
  160. data/vendor/local/include/freetype2/ftbdf.h +210 -0
  161. data/vendor/local/include/freetype2/ftbitmap.h +227 -0
  162. data/vendor/local/include/freetype2/ftbzip2.h +102 -0
  163. data/vendor/local/include/freetype2/ftcache.h +1057 -0
  164. data/vendor/local/include/freetype2/ftcffdrv.h +254 -0
  165. data/vendor/local/include/freetype2/ftchapters.h +121 -0
  166. data/vendor/local/include/freetype2/ftcid.h +166 -0
  167. data/vendor/local/include/freetype2/fterrdef.h +249 -0
  168. data/vendor/local/include/freetype2/fterrors.h +198 -0
  169. data/vendor/local/include/freetype2/ftgasp.h +128 -0
  170. data/vendor/local/include/freetype2/ftglyph.h +620 -0
  171. data/vendor/local/include/freetype2/ftgxval.h +358 -0
  172. data/vendor/local/include/freetype2/ftgzip.h +149 -0
  173. data/vendor/local/include/freetype2/ftimage.h +1322 -0
  174. data/vendor/local/include/freetype2/ftincrem.h +353 -0
  175. data/vendor/local/include/freetype2/ftlcdfil.h +251 -0
  176. data/vendor/local/include/freetype2/ftlist.h +277 -0
  177. data/vendor/local/include/freetype2/ftlzw.h +99 -0
  178. data/vendor/local/include/freetype2/ftmac.h +274 -0
  179. data/vendor/local/include/freetype2/ftmm.h +377 -0
  180. data/vendor/local/include/freetype2/ftmodapi.h +641 -0
  181. data/vendor/local/include/freetype2/ftmoderr.h +194 -0
  182. data/vendor/local/include/freetype2/ftotval.h +203 -0
  183. data/vendor/local/include/freetype2/ftoutln.h +572 -0
  184. data/vendor/local/include/freetype2/ftpfr.h +172 -0
  185. data/vendor/local/include/freetype2/ftrender.h +238 -0
  186. data/vendor/local/include/freetype2/ftsizes.h +159 -0
  187. data/vendor/local/include/freetype2/ftsnames.h +200 -0
  188. data/vendor/local/include/freetype2/ftstroke.h +751 -0
  189. data/vendor/local/include/freetype2/ftsynth.h +81 -0
  190. data/vendor/local/include/freetype2/ftsystem.h +347 -0
  191. data/vendor/local/include/freetype2/fttrigon.h +350 -0
  192. data/vendor/local/include/freetype2/ftttdrv.h +170 -0
  193. data/vendor/local/include/freetype2/fttypes.h +598 -0
  194. data/vendor/local/include/freetype2/ftwinfnt.h +275 -0
  195. data/vendor/local/include/freetype2/ftxf86.h +83 -0
  196. data/vendor/local/include/freetype2/t1tables.h +662 -0
  197. data/vendor/local/include/freetype2/ttnameid.h +1237 -0
  198. data/vendor/local/include/freetype2/tttables.h +787 -0
  199. data/vendor/local/include/freetype2/tttags.h +111 -0
  200. data/vendor/local/include/freetype2/ttunpat.h +59 -0
  201. data/vendor/local/include/libpng16/png.h +3276 -0
  202. data/vendor/local/include/libpng16/pngconf.h +644 -0
  203. data/vendor/local/include/libpng16/pnglibconf.h +208 -0
  204. data/vendor/local/include/libxml2/libxml/DOCBparser.h +96 -0
  205. data/vendor/local/include/libxml2/libxml/HTMLparser.h +306 -0
  206. data/vendor/local/include/libxml2/libxml/HTMLtree.h +147 -0
  207. data/vendor/local/include/libxml2/libxml/SAX.h +173 -0
  208. data/vendor/local/include/libxml2/libxml/SAX2.h +178 -0
  209. data/vendor/local/include/libxml2/libxml/c14n.h +126 -0
  210. data/vendor/local/include/libxml2/libxml/catalog.h +182 -0
  211. data/vendor/local/include/libxml2/libxml/chvalid.h +230 -0
  212. data/vendor/local/include/libxml2/libxml/debugXML.h +217 -0
  213. data/vendor/local/include/libxml2/libxml/dict.h +80 -0
  214. data/vendor/local/include/libxml2/libxml/encoding.h +240 -0
  215. data/vendor/local/include/libxml2/libxml/entities.h +151 -0
  216. data/vendor/local/include/libxml2/libxml/globals.h +509 -0
  217. data/vendor/local/include/libxml2/libxml/hash.h +233 -0
  218. data/vendor/local/include/libxml2/libxml/list.h +137 -0
  219. data/vendor/local/include/libxml2/libxml/nanoftp.h +163 -0
  220. data/vendor/local/include/libxml2/libxml/nanohttp.h +81 -0
  221. data/vendor/local/include/libxml2/libxml/parser.h +1241 -0
  222. data/vendor/local/include/libxml2/libxml/parserInternals.h +644 -0
  223. data/vendor/local/include/libxml2/libxml/pattern.h +100 -0
  224. data/vendor/local/include/libxml2/libxml/relaxng.h +217 -0
  225. data/vendor/local/include/libxml2/libxml/schemasInternals.h +958 -0
  226. data/vendor/local/include/libxml2/libxml/schematron.h +142 -0
  227. data/vendor/local/include/libxml2/libxml/threads.h +84 -0
  228. data/vendor/local/include/libxml2/libxml/tree.h +1310 -0
  229. data/vendor/local/include/libxml2/libxml/uri.h +94 -0
  230. data/vendor/local/include/libxml2/libxml/valid.h +458 -0
  231. data/vendor/local/include/libxml2/libxml/xinclude.h +129 -0
  232. data/vendor/local/include/libxml2/libxml/xlink.h +189 -0
  233. data/vendor/local/include/libxml2/libxml/xmlIO.h +366 -0
  234. data/vendor/local/include/libxml2/libxml/xmlautomata.h +146 -0
  235. data/vendor/local/include/libxml2/libxml/xmlerror.h +945 -0
  236. data/vendor/local/include/libxml2/libxml/xmlexports.h +162 -0
  237. data/vendor/local/include/libxml2/libxml/xmlmemory.h +224 -0
  238. data/vendor/local/include/libxml2/libxml/xmlmodule.h +57 -0
  239. data/vendor/local/include/libxml2/libxml/xmlreader.h +428 -0
  240. data/vendor/local/include/libxml2/libxml/xmlregexp.h +222 -0
  241. data/vendor/local/include/libxml2/libxml/xmlsave.h +88 -0
  242. data/vendor/local/include/libxml2/libxml/xmlschemas.h +246 -0
  243. data/vendor/local/include/libxml2/libxml/xmlschemastypes.h +151 -0
  244. data/vendor/local/include/libxml2/libxml/xmlstring.h +140 -0
  245. data/vendor/local/include/libxml2/libxml/xmlunicode.h +202 -0
  246. data/vendor/local/include/libxml2/libxml/xmlversion.h +489 -0
  247. data/vendor/local/include/libxml2/libxml/xmlwriter.h +488 -0
  248. data/vendor/local/include/libxml2/libxml/xpath.h +557 -0
  249. data/vendor/local/include/libxml2/libxml/xpathInternals.h +632 -0
  250. data/vendor/local/include/libxml2/libxml/xpointer.h +114 -0
  251. data/vendor/local/include/pixman-1/pixman-version.h +50 -0
  252. data/vendor/local/include/pixman-1/pixman.h +1111 -0
  253. data/vendor/local/include/png.h +3276 -0
  254. data/vendor/local/include/pngconf.h +644 -0
  255. data/vendor/local/include/pnglibconf.h +208 -0
  256. data/vendor/local/include/zconf.h +511 -0
  257. data/vendor/local/include/zlib.h +1768 -0
  258. data/vendor/local/lib/cmake/libxml2/libxml2-config.cmake +50 -0
  259. data/vendor/local/lib/fontconfig.def +207 -0
  260. data/vendor/local/lib/libcairo-gobject.a +0 -0
  261. data/vendor/local/lib/libcairo-gobject.dll.a +0 -0
  262. data/vendor/local/lib/libcairo-gobject.la +41 -0
  263. data/vendor/local/lib/libcairo-script-interpreter.a +0 -0
  264. data/vendor/local/lib/libcairo-script-interpreter.dll.a +0 -0
  265. data/vendor/local/lib/libcairo-script-interpreter.la +41 -0
  266. data/vendor/local/lib/libcairo.a +0 -0
  267. data/vendor/local/lib/libcairo.dll.a +0 -0
  268. data/vendor/local/lib/libcairo.la +41 -0
  269. data/vendor/local/lib/libfontconfig.dll.a +0 -0
  270. data/vendor/local/lib/libfontconfig.la +41 -0
  271. data/vendor/local/lib/libfreetype.a +0 -0
  272. data/vendor/local/lib/libfreetype.dll.a +0 -0
  273. data/vendor/local/lib/libfreetype.la +41 -0
  274. data/vendor/local/lib/libpixman-1.a +0 -0
  275. data/vendor/local/lib/libpixman-1.dll.a +0 -0
  276. data/vendor/local/lib/libpixman-1.la +41 -0
  277. data/vendor/local/lib/libpng.a +0 -0
  278. data/vendor/local/lib/libpng.dll.a +0 -0
  279. data/vendor/local/lib/libpng.la +41 -0
  280. data/vendor/local/lib/libpng16.a +0 -0
  281. data/vendor/local/lib/libpng16.dll.a +0 -0
  282. data/vendor/local/lib/libpng16.la +41 -0
  283. data/vendor/local/lib/libxml2.a +0 -0
  284. data/vendor/local/lib/libxml2.dll.a +0 -0
  285. data/vendor/local/lib/libxml2.la +41 -0
  286. data/vendor/local/lib/libz.a +0 -0
  287. data/vendor/local/lib/libz.dll.a +0 -0
  288. data/vendor/local/lib/pkgconfig/cairo-fc.pc +12 -0
  289. data/vendor/local/lib/pkgconfig/cairo-ft.pc +12 -0
  290. data/vendor/local/lib/pkgconfig/cairo-gobject.pc +12 -0
  291. data/vendor/local/lib/pkgconfig/cairo-pdf.pc +12 -0
  292. data/vendor/local/lib/pkgconfig/cairo-png.pc +12 -0
  293. data/vendor/local/lib/pkgconfig/cairo-ps.pc +12 -0
  294. data/vendor/local/lib/pkgconfig/cairo-script.pc +12 -0
  295. data/vendor/local/lib/pkgconfig/cairo-svg.pc +12 -0
  296. data/vendor/local/lib/pkgconfig/cairo-win32-font.pc +12 -0
  297. data/vendor/local/lib/pkgconfig/cairo-win32.pc +12 -0
  298. data/vendor/local/lib/pkgconfig/cairo.pc +13 -0
  299. data/vendor/local/lib/pkgconfig/fontconfig.pc +18 -0
  300. data/vendor/local/lib/pkgconfig/freetype2.pc +14 -0
  301. data/vendor/local/lib/pkgconfig/libpng.pc +11 -0
  302. data/vendor/local/lib/pkgconfig/libpng16.pc +11 -0
  303. data/vendor/local/lib/pkgconfig/libxml-2.0.pc +13 -0
  304. data/vendor/local/lib/pkgconfig/pixman-1.pc +11 -0
  305. data/vendor/local/lib/pkgconfig/zlib.pc +13 -0
  306. data/vendor/local/lib/xml2Conf.sh +8 -0
  307. data/vendor/local/share/aclocal/freetype2.m4 +194 -0
  308. data/vendor/local/share/aclocal/libxml.m4 +188 -0
  309. data/vendor/local/share/doc/libxml2-2.9.2/Copyright +23 -0
  310. data/vendor/local/share/doc/libxml2-2.9.2/examples/testHTML.c +880 -0
  311. data/vendor/local/share/doc/libxml2-2.9.2/examples/testSAX.c +1198 -0
  312. data/vendor/local/share/doc/libxml2-2.9.2/examples/testXPath.c +229 -0
  313. data/vendor/local/share/doc/libxml2-2.9.2/examples/xmllint.c +3801 -0
  314. data/vendor/local/share/doc/libxml2-2.9.2/html/DOM.gif +0 -0
  315. data/vendor/local/share/doc/libxml2-2.9.2/html/FAQ.html +299 -0
  316. data/vendor/local/share/doc/libxml2-2.9.2/html/Libxml2-Logo-180x168.gif +0 -0
  317. data/vendor/local/share/doc/libxml2-2.9.2/html/Libxml2-Logo-90x34.gif +0 -0
  318. data/vendor/local/share/doc/libxml2-2.9.2/html/encoding.html +217 -0
  319. data/vendor/local/share/doc/libxml2-2.9.2/html/examples.xml +751 -0
  320. data/vendor/local/share/doc/libxml2-2.9.2/html/examples.xsl +174 -0
  321. data/vendor/local/share/doc/libxml2-2.9.2/html/html/book1.html +13 -0
  322. data/vendor/local/share/doc/libxml2-2.9.2/html/html/home.png +0 -0
  323. data/vendor/local/share/doc/libxml2-2.9.2/html/html/index.html +13 -0
  324. data/vendor/local/share/doc/libxml2-2.9.2/html/html/left.png +0 -0
  325. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-DOCBparser.html +51 -0
  326. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-HTMLparser.html +184 -0
  327. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-HTMLtree.html +73 -0
  328. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-SAX.html +125 -0
  329. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-SAX2.html +128 -0
  330. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-c14n.html +38 -0
  331. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-catalog.html +142 -0
  332. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-chvalid.html +72 -0
  333. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-debugXML.html +120 -0
  334. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-dict.html +58 -0
  335. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-encoding.html +124 -0
  336. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-entities.html +79 -0
  337. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-globals.html +152 -0
  338. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-hash.html +116 -0
  339. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-lib.html +13 -0
  340. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-list.html +120 -0
  341. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-nanoftp.html +94 -0
  342. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-nanohttp.html +65 -0
  343. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-parser.html +559 -0
  344. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-parserInternals.html +322 -0
  345. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-pattern.html +76 -0
  346. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-relaxng.html +162 -0
  347. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-schemasInternals.html +373 -0
  348. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-schematron.html +81 -0
  349. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-threads.html +72 -0
  350. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-tree.html +990 -0
  351. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-uri.html +73 -0
  352. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-valid.html +289 -0
  353. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xinclude.html +59 -0
  354. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xlink.html +82 -0
  355. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlIO.html +212 -0
  356. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlautomata.html +85 -0
  357. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlerror.html +865 -0
  358. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlexports.html +20 -0
  359. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlmemory.html +107 -0
  360. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlmodule.html +38 -0
  361. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlreader.html +330 -0
  362. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlregexp.html +143 -0
  363. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlsave.html +60 -0
  364. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlschemas.html +185 -0
  365. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlschemastypes.html +123 -0
  366. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlstring.html +108 -0
  367. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlunicode.html +512 -0
  368. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlversion.html +63 -0
  369. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlwriter.html +261 -0
  370. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xpath.html +316 -0
  371. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xpathInternals.html +394 -0
  372. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xpointer.html +83 -0
  373. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xzlib.html +16 -0
  374. data/vendor/local/share/doc/libxml2-2.9.2/html/html/right.png +0 -0
  375. data/vendor/local/share/doc/libxml2-2.9.2/html/html/up.png +0 -0
  376. data/vendor/local/share/doc/libxml2-2.9.2/html/index.html +14 -0
  377. data/vendor/local/share/doc/libxml2-2.9.2/html/io1.c +166 -0
  378. data/vendor/local/share/doc/libxml2-2.9.2/html/io1.res +5 -0
  379. data/vendor/local/share/doc/libxml2-2.9.2/html/io2.c +58 -0
  380. data/vendor/local/share/doc/libxml2-2.9.2/html/io2.res +2 -0
  381. data/vendor/local/share/doc/libxml2-2.9.2/html/libxml.gif +0 -0
  382. data/vendor/local/share/doc/libxml2-2.9.2/html/parse1.c +56 -0
  383. data/vendor/local/share/doc/libxml2-2.9.2/html/parse2.c +72 -0
  384. data/vendor/local/share/doc/libxml2-2.9.2/html/parse3.c +60 -0
  385. data/vendor/local/share/doc/libxml2-2.9.2/html/parse4.c +143 -0
  386. data/vendor/local/share/doc/libxml2-2.9.2/html/reader1.c +107 -0
  387. data/vendor/local/share/doc/libxml2-2.9.2/html/reader1.res +14 -0
  388. data/vendor/local/share/doc/libxml2-2.9.2/html/reader2.c +122 -0
  389. data/vendor/local/share/doc/libxml2-2.9.2/html/reader3.c +120 -0
  390. data/vendor/local/share/doc/libxml2-2.9.2/html/reader3.res +13 -0
  391. data/vendor/local/share/doc/libxml2-2.9.2/html/reader4.c +122 -0
  392. data/vendor/local/share/doc/libxml2-2.9.2/html/reader4.res +3 -0
  393. data/vendor/local/share/doc/libxml2-2.9.2/html/redhat.gif +0 -0
  394. data/vendor/local/share/doc/libxml2-2.9.2/html/smallfootonly.gif +0 -0
  395. data/vendor/local/share/doc/libxml2-2.9.2/html/structure.gif +0 -0
  396. data/vendor/local/share/doc/libxml2-2.9.2/html/test1.xml +1 -0
  397. data/vendor/local/share/doc/libxml2-2.9.2/html/test2.xml +13 -0
  398. data/vendor/local/share/doc/libxml2-2.9.2/html/test3.xml +39 -0
  399. data/vendor/local/share/doc/libxml2-2.9.2/html/testWriter.c +1198 -0
  400. data/vendor/local/share/doc/libxml2-2.9.2/html/tree1.c +94 -0
  401. data/vendor/local/share/doc/libxml2-2.9.2/html/tree1.res +4 -0
  402. data/vendor/local/share/doc/libxml2-2.9.2/html/tree2.c +118 -0
  403. data/vendor/local/share/doc/libxml2-2.9.2/html/tree2.res +18 -0
  404. data/vendor/local/share/doc/libxml2-2.9.2/html/tst.xml +7 -0
  405. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/apa.html +8 -0
  406. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/apb.html +14 -0
  407. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/apc.html +82 -0
  408. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/apd.html +76 -0
  409. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/ape.html +78 -0
  410. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/apf.html +67 -0
  411. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/apg.html +75 -0
  412. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/aph.html +76 -0
  413. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/api.html +4 -0
  414. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/ar01s02.html +14 -0
  415. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/ar01s03.html +47 -0
  416. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/ar01s04.html +54 -0
  417. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/ar01s05.html +55 -0
  418. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/ar01s06.html +35 -0
  419. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/ar01s07.html +30 -0
  420. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/ar01s08.html +38 -0
  421. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/ar01s09.html +63 -0
  422. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/blank.png +0 -0
  423. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/callouts/1.png +0 -0
  424. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/callouts/10.png +0 -0
  425. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/callouts/2.png +0 -0
  426. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/callouts/3.png +0 -0
  427. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/callouts/4.png +0 -0
  428. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/callouts/5.png +0 -0
  429. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/callouts/6.png +0 -0
  430. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/callouts/7.png +0 -0
  431. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/callouts/8.png +0 -0
  432. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/callouts/9.png +0 -0
  433. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/caution.png +0 -0
  434. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/draft.png +0 -0
  435. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/home.png +0 -0
  436. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/important.png +0 -0
  437. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/next.png +0 -0
  438. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/note.png +0 -0
  439. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/prev.png +0 -0
  440. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/tip.png +0 -0
  441. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/toc-blank.png +0 -0
  442. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/toc-minus.png +0 -0
  443. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/toc-plus.png +0 -0
  444. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/up.png +0 -0
  445. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/warning.png +0 -0
  446. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/includeaddattribute.c +64 -0
  447. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/includeaddkeyword.c +75 -0
  448. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/includeconvert.c +73 -0
  449. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/includegetattribute.c +72 -0
  450. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/includekeyword.c +79 -0
  451. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/includexpath.c +74 -0
  452. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/index.html +14 -0
  453. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/ix01.html +1 -0
  454. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/xmltutorial.pdf +1336 -0
  455. data/vendor/local/share/doc/libxml2-2.9.2/html/w3c.png +0 -0
  456. data/vendor/local/share/doc/libxml2-2.9.2/html/writer.xml +2 -0
  457. data/vendor/local/share/doc/libxml2-2.9.2/html/xml.html +5995 -0
  458. data/vendor/local/share/doc/libxml2-2.9.2/html/xpath1.c +250 -0
  459. data/vendor/local/share/doc/libxml2-2.9.2/html/xpath1.res +5 -0
  460. data/vendor/local/share/doc/libxml2-2.9.2/html/xpath2.c +190 -0
  461. data/vendor/local/share/doc/libxml2-2.9.2/html/xpath2.res +30 -0
  462. data/vendor/local/share/fontconfig/conf.avail/10-autohint.conf +14 -0
  463. data/vendor/local/share/fontconfig/conf.avail/10-no-sub-pixel.conf +14 -0
  464. data/vendor/local/share/fontconfig/conf.avail/10-scale-bitmap-fonts.conf +81 -0
  465. data/vendor/local/share/fontconfig/conf.avail/10-sub-pixel-bgr.conf +14 -0
  466. data/vendor/local/share/fontconfig/conf.avail/10-sub-pixel-rgb.conf +14 -0
  467. data/vendor/local/share/fontconfig/conf.avail/10-sub-pixel-vbgr.conf +14 -0
  468. data/vendor/local/share/fontconfig/conf.avail/10-sub-pixel-vrgb.conf +14 -0
  469. data/vendor/local/share/fontconfig/conf.avail/10-unhinted.conf +14 -0
  470. data/vendor/local/share/fontconfig/conf.avail/11-lcdfilter-default.conf +16 -0
  471. data/vendor/local/share/fontconfig/conf.avail/11-lcdfilter-legacy.conf +16 -0
  472. data/vendor/local/share/fontconfig/conf.avail/11-lcdfilter-light.conf +16 -0
  473. data/vendor/local/share/fontconfig/conf.avail/20-unhint-small-vera.conf +48 -0
  474. data/vendor/local/share/fontconfig/conf.avail/25-unhint-nonlatin.conf +128 -0
  475. data/vendor/local/share/fontconfig/conf.avail/30-metric-aliases.conf +546 -0
  476. data/vendor/local/share/fontconfig/conf.avail/30-urw-aliases.conf +24 -0
  477. data/vendor/local/share/fontconfig/conf.avail/40-nonlatin.conf +231 -0
  478. data/vendor/local/share/fontconfig/conf.avail/45-latin.conf +189 -0
  479. data/vendor/local/share/fontconfig/conf.avail/49-sansserif.conf +21 -0
  480. data/vendor/local/share/fontconfig/conf.avail/50-user.conf +15 -0
  481. data/vendor/local/share/fontconfig/conf.avail/51-local.conf +6 -0
  482. data/vendor/local/share/fontconfig/conf.avail/60-latin.conf +70 -0
  483. data/vendor/local/share/fontconfig/conf.avail/65-fonts-persian.conf +419 -0
  484. data/vendor/local/share/fontconfig/conf.avail/65-khmer.conf +16 -0
  485. data/vendor/local/share/fontconfig/conf.avail/65-nonlatin.conf +196 -0
  486. data/vendor/local/share/fontconfig/conf.avail/69-unifont.conf +28 -0
  487. data/vendor/local/share/fontconfig/conf.avail/70-no-bitmaps.conf +12 -0
  488. data/vendor/local/share/fontconfig/conf.avail/70-yes-bitmaps.conf +12 -0
  489. data/vendor/local/share/fontconfig/conf.avail/80-delicious.conf +19 -0
  490. data/vendor/local/share/fontconfig/conf.avail/90-synthetic.conf +64 -0
  491. data/vendor/local/share/gtk-doc/html/cairo/bindings-errors.html +122 -0
  492. data/vendor/local/share/gtk-doc/html/cairo/bindings-fonts.html +53 -0
  493. data/vendor/local/share/gtk-doc/html/cairo/bindings-memory.html +123 -0
  494. data/vendor/local/share/gtk-doc/html/cairo/bindings-overloading.html +121 -0
  495. data/vendor/local/share/gtk-doc/html/cairo/bindings-path.html +117 -0
  496. data/vendor/local/share/gtk-doc/html/cairo/bindings-patterns.html +75 -0
  497. data/vendor/local/share/gtk-doc/html/cairo/bindings-return-values.html +120 -0
  498. data/vendor/local/share/gtk-doc/html/cairo/bindings-streams.html +92 -0
  499. data/vendor/local/share/gtk-doc/html/cairo/bindings-surfaces.html +93 -0
  500. data/vendor/local/share/gtk-doc/html/cairo/cairo-Error-handling.html +397 -0
  501. data/vendor/local/share/gtk-doc/html/cairo/cairo-FreeType-Fonts.html +428 -0
  502. data/vendor/local/share/gtk-doc/html/cairo/cairo-Image-Surfaces.html +452 -0
  503. data/vendor/local/share/gtk-doc/html/cairo/cairo-PDF-Surfaces.html +342 -0
  504. data/vendor/local/share/gtk-doc/html/cairo/cairo-PNG-Support.html +315 -0
  505. data/vendor/local/share/gtk-doc/html/cairo/cairo-Paths.html +1194 -0
  506. data/vendor/local/share/gtk-doc/html/cairo/cairo-PostScript-Surfaces.html +577 -0
  507. data/vendor/local/share/gtk-doc/html/cairo/cairo-Quartz-(CGFont)-Fonts.html +129 -0
  508. data/vendor/local/share/gtk-doc/html/cairo/cairo-Quartz-Surfaces.html +197 -0
  509. data/vendor/local/share/gtk-doc/html/cairo/cairo-Raster-Sources.html +600 -0
  510. data/vendor/local/share/gtk-doc/html/cairo/cairo-Recording-Surfaces.html +226 -0
  511. data/vendor/local/share/gtk-doc/html/cairo/cairo-Regions.html +810 -0
  512. data/vendor/local/share/gtk-doc/html/cairo/cairo-SVG-Surfaces.html +302 -0
  513. data/vendor/local/share/gtk-doc/html/cairo/cairo-Script-Surfaces.html +360 -0
  514. data/vendor/local/share/gtk-doc/html/cairo/cairo-Transformations.html +394 -0
  515. data/vendor/local/share/gtk-doc/html/cairo/cairo-Types.html +156 -0
  516. data/vendor/local/share/gtk-doc/html/cairo/cairo-User-Fonts.html +677 -0
  517. data/vendor/local/share/gtk-doc/html/cairo/cairo-Version-Information.html +342 -0
  518. data/vendor/local/share/gtk-doc/html/cairo/cairo-Win32-Fonts.html +326 -0
  519. data/vendor/local/share/gtk-doc/html/cairo/cairo-Win32-Surfaces.html +280 -0
  520. data/vendor/local/share/gtk-doc/html/cairo/cairo-XCB-Surfaces.html +527 -0
  521. data/vendor/local/share/gtk-doc/html/cairo/cairo-XLib-Surfaces.html +535 -0
  522. data/vendor/local/share/gtk-doc/html/cairo/cairo-XLib-XRender-Backend.html +170 -0
  523. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-device-t.html +636 -0
  524. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-font-face-t.html +380 -0
  525. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-font-options-t.html +653 -0
  526. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-matrix-t.html +559 -0
  527. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-pattern-t.html +2231 -0
  528. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-scaled-font-t.html +956 -0
  529. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-surface-t.html +1637 -0
  530. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-t.html +2695 -0
  531. data/vendor/local/share/gtk-doc/html/cairo/cairo-drawing.html +53 -0
  532. data/vendor/local/share/gtk-doc/html/cairo/cairo-fonts.html +53 -0
  533. data/vendor/local/share/gtk-doc/html/cairo/cairo-support.html +44 -0
  534. data/vendor/local/share/gtk-doc/html/cairo/cairo-surfaces.html +74 -0
  535. data/vendor/local/share/gtk-doc/html/cairo/cairo-text.html +1138 -0
  536. data/vendor/local/share/gtk-doc/html/cairo/cairo.devhelp2 +747 -0
  537. data/vendor/local/share/gtk-doc/html/cairo/home.png +0 -0
  538. data/vendor/local/share/gtk-doc/html/cairo/index-1.10.html +177 -0
  539. data/vendor/local/share/gtk-doc/html/cairo/index-1.12.html +193 -0
  540. data/vendor/local/share/gtk-doc/html/cairo/index-1.2.html +179 -0
  541. data/vendor/local/share/gtk-doc/html/cairo/index-1.4.html +123 -0
  542. data/vendor/local/share/gtk-doc/html/cairo/index-1.6.html +107 -0
  543. data/vendor/local/share/gtk-doc/html/cairo/index-1.8.html +128 -0
  544. data/vendor/local/share/gtk-doc/html/cairo/index-all.html +1122 -0
  545. data/vendor/local/share/gtk-doc/html/cairo/index.html +157 -0
  546. data/vendor/local/share/gtk-doc/html/cairo/index.sgml +833 -0
  547. data/vendor/local/share/gtk-doc/html/cairo/language-bindings.html +73 -0
  548. data/vendor/local/share/gtk-doc/html/cairo/left.png +0 -0
  549. data/vendor/local/share/gtk-doc/html/cairo/right.png +0 -0
  550. data/vendor/local/share/gtk-doc/html/cairo/style.css +266 -0
  551. data/vendor/local/share/gtk-doc/html/cairo/up.png +0 -0
  552. data/vendor/local/share/gtk-doc/html/libxml2/general.html +38 -0
  553. data/vendor/local/share/gtk-doc/html/libxml2/home.png +0 -0
  554. data/vendor/local/share/gtk-doc/html/libxml2/index.html +67 -0
  555. data/vendor/local/share/gtk-doc/html/libxml2/left.png +0 -0
  556. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-DOCBparser.html +138 -0
  557. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-HTMLparser.html +373 -0
  558. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-HTMLtree.html +172 -0
  559. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-SAX.html +243 -0
  560. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-SAX2.html +247 -0
  561. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-c14n.html +91 -0
  562. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-catalog.html +278 -0
  563. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-chvalid.html +241 -0
  564. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-debugXML.html +225 -0
  565. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-dict.html +134 -0
  566. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-encoding.html +218 -0
  567. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-entities.html +166 -0
  568. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-globals.html +383 -0
  569. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-hash.html +214 -0
  570. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-list.html +226 -0
  571. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-nanoftp.html +187 -0
  572. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-nanohttp.html +142 -0
  573. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-parser.html +766 -0
  574. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-parserInternals.html +688 -0
  575. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-pattern.html +166 -0
  576. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-relaxng.html +278 -0
  577. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-schemasInternals.html +860 -0
  578. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-schematron.html +166 -0
  579. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-threads.html +161 -0
  580. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-tree.html +1597 -0
  581. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-uri.html +154 -0
  582. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-valid.html +528 -0
  583. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xinclude.html +169 -0
  584. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xlink.html +160 -0
  585. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlIO.html +347 -0
  586. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlautomata.html +176 -0
  587. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlerror.html +953 -0
  588. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlexports.html +87 -0
  589. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlmemory.html +186 -0
  590. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlmodule.html +97 -0
  591. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlreader.html +565 -0
  592. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlregexp.html +280 -0
  593. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlsave.html +133 -0
  594. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlschemas.html +314 -0
  595. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlschemastypes.html +237 -0
  596. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlstring.html +217 -0
  597. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlunicode.html +887 -0
  598. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlversion.html +292 -0
  599. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlwriter.html +479 -0
  600. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xpath.html +542 -0
  601. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xpathInternals.html +787 -0
  602. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xpointer.html +171 -0
  603. data/vendor/local/share/gtk-doc/html/libxml2/libxml2.devhelp +3573 -0
  604. data/vendor/local/share/gtk-doc/html/libxml2/right.png +0 -0
  605. data/vendor/local/share/gtk-doc/html/libxml2/style.css +66 -0
  606. data/vendor/local/share/gtk-doc/html/libxml2/up.png +0 -0
  607. data/vendor/local/share/license/cairo/AUTHORS +115 -0
  608. data/vendor/local/share/license/cairo/COPYING +33 -0
  609. data/vendor/local/share/license/cairo/COPYING-LGPL-2.1 +510 -0
  610. data/vendor/local/share/license/cairo/COPYING-MPL-1.1 +470 -0
  611. data/vendor/local/share/license/cairo/README +204 -0
  612. data/vendor/local/share/license/cairo/README.win32 +66 -0
  613. data/vendor/local/share/license/fontconfig/AUTHORS +3 -0
  614. data/vendor/local/share/license/fontconfig/COPYING +28 -0
  615. data/vendor/local/share/license/fontconfig/README +1484 -0
  616. data/vendor/local/share/license/freetype/README +83 -0
  617. data/vendor/local/share/license/freetype/README.git +50 -0
  618. data/vendor/local/share/license/libpng/README +215 -0
  619. data/vendor/local/share/license/libxml2/AUTHORS +5 -0
  620. data/vendor/local/share/license/libxml2/COPYING +23 -0
  621. data/vendor/local/share/license/libxml2/README +39 -0
  622. data/vendor/local/share/license/libxml2/README.tests +39 -0
  623. data/vendor/local/share/license/pixman/AUTHORS +0 -0
  624. data/vendor/local/share/license/pixman/COPYING +42 -0
  625. data/vendor/local/share/license/pixman/README +116 -0
  626. data/vendor/local/share/license/zlib/README +115 -0
  627. data/vendor/local/share/man/man1/freetype-config.1 +108 -0
  628. data/vendor/local/share/man/man1/xml2-config.1 +30 -0
  629. data/vendor/local/share/man/man1/xmlcatalog.1 +340 -0
  630. data/vendor/local/share/man/man1/xmllint.1 +647 -0
  631. data/vendor/local/share/man/man3/libpng.3 +6217 -0
  632. data/vendor/local/share/man/man3/libpngpf.3 +18 -0
  633. data/vendor/local/share/man/man3/libxml.3 +71 -0
  634. data/vendor/local/share/man/man5/png.5 +74 -0
  635. data/vendor/local/share/xml/fontconfig/fonts.dtd +233 -0
  636. metadata +774 -0
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0"?>
2
+ <doc><parent><preserved/><preserved>
3
+ content1
4
+ <child1/>
5
+ <child2>content2</child2>
6
+ <preserved>too</preserved>
7
+ <child2>content3</child2>
8
+ <preserved/>
9
+ <child2>content4</child2>
10
+ <preserved/>
11
+ <child2>content5</child2>
12
+ content6
13
+ </preserved><preserved/><preserved/></parent></doc>
@@ -0,0 +1,122 @@
1
+ /**
2
+ * section: xmlReader
3
+ * synopsis: Parse multiple XML files reusing an xmlReader
4
+ * purpose: Demonstrate the use of xmlReaderForFile() and
5
+ * xmlReaderNewFile to parse XML files while reusing the reader object
6
+ * and parser context. (Note that the XMLReader functions require
7
+ * libxml2 version later than 2.6.)
8
+ * usage: reader4 <filename> [ filename ... ]
9
+ * test: reader4 test1.xml test2.xml test3.xml > reader4.tmp && diff reader4.tmp $(srcdir)/reader4.res
10
+ * author: Graham Bennett
11
+ * copy: see Copyright for the status of this software.
12
+ */
13
+
14
+ #include <stdio.h>
15
+ #include <libxml/xmlreader.h>
16
+
17
+ #ifdef LIBXML_READER_ENABLED
18
+
19
+ static void processDoc(xmlTextReaderPtr readerPtr) {
20
+ int ret;
21
+ xmlDocPtr docPtr;
22
+ const xmlChar *URL;
23
+
24
+ ret = xmlTextReaderRead(readerPtr);
25
+ while (ret == 1) {
26
+ ret = xmlTextReaderRead(readerPtr);
27
+ }
28
+
29
+ /*
30
+ * One can obtain the document pointer to get insteresting
31
+ * information about the document like the URL, but one must also
32
+ * be sure to clean it up at the end (see below).
33
+ */
34
+ docPtr = xmlTextReaderCurrentDoc(readerPtr);
35
+ if (NULL == docPtr) {
36
+ fprintf(stderr, "failed to obtain document\n");
37
+ return;
38
+ }
39
+
40
+ URL = docPtr->URL;
41
+ if (NULL == URL) {
42
+ fprintf(stderr, "Failed to obtain URL\n");
43
+ }
44
+
45
+ if (ret != 0) {
46
+ fprintf(stderr, "%s: Failed to parse\n", URL);
47
+ return;
48
+ }
49
+
50
+ printf("%s: Processed ok\n", (const char *)URL);
51
+ }
52
+
53
+ int main(int argc, char **argv) {
54
+ xmlTextReaderPtr readerPtr;
55
+ int i;
56
+ xmlDocPtr docPtr;
57
+
58
+ if (argc < 2)
59
+ return(1);
60
+
61
+ /*
62
+ * this initialises the library and check potential ABI mismatches
63
+ * between the version it was compiled for and the actual shared
64
+ * library used.
65
+ */
66
+ LIBXML_TEST_VERSION
67
+
68
+ /*
69
+ * Create a new reader for the first file and process the
70
+ * document.
71
+ */
72
+ readerPtr = xmlReaderForFile(argv[1], NULL, 0);
73
+ if (NULL == readerPtr) {
74
+ fprintf(stderr, "%s: failed to create reader\n", argv[1]);
75
+ return(1);
76
+ }
77
+ processDoc(readerPtr);
78
+
79
+ /*
80
+ * The reader can be reused for subsequent files.
81
+ */
82
+ for (i=2; i < argc; ++i) {
83
+ xmlReaderNewFile(readerPtr, argv[i], NULL, 0);
84
+ if (NULL == readerPtr) {
85
+ fprintf(stderr, "%s: failed to create reader\n", argv[i]);
86
+ return(1);
87
+ }
88
+ processDoc(readerPtr);
89
+ }
90
+
91
+ /*
92
+ * Since we've called xmlTextReaderCurrentDoc, we now have to
93
+ * clean up after ourselves. We only have to do this the last
94
+ * time, because xmlReaderNewFile calls xmlCtxtReset which takes
95
+ * care of it.
96
+ */
97
+ docPtr = xmlTextReaderCurrentDoc(readerPtr);
98
+ if (docPtr != NULL)
99
+ xmlFreeDoc(docPtr);
100
+
101
+ /*
102
+ * Clean up the reader.
103
+ */
104
+ xmlFreeTextReader(readerPtr);
105
+
106
+ /*
107
+ * Cleanup function for the XML library.
108
+ */
109
+ xmlCleanupParser();
110
+ /*
111
+ * this is to debug memory for regression tests
112
+ */
113
+ xmlMemoryDump();
114
+ return(0);
115
+ }
116
+
117
+ #else
118
+ int main(void) {
119
+ fprintf(stderr, "xmlReader support not compiled in\n");
120
+ exit(1);
121
+ }
122
+ #endif
@@ -0,0 +1,3 @@
1
+ test1.xml: Processed ok
2
+ test2.xml: Processed ok
3
+ test3.xml: Processed ok
@@ -0,0 +1,13 @@
1
+ <!DOCTYPE doc [
2
+ <!ELEMENT doc (src | dest)*>
3
+ <!ELEMENT src EMPTY>
4
+ <!ELEMENT dest EMPTY>
5
+ <!ATTLIST src ref IDREF #IMPLIED>
6
+ <!ATTLIST dest id ID #IMPLIED>
7
+ ]>
8
+ <doc>
9
+ <src ref="foo"/>
10
+ <dest id="foo"/>
11
+ <src ref="foo"/>
12
+ </doc>
13
+
@@ -0,0 +1,39 @@
1
+ <doc>
2
+ <parent>
3
+ <discarded>
4
+ <discarded/>
5
+ </discarded>
6
+ <preserved/>
7
+ This text node must be discarded
8
+ <discarded>
9
+ <discarded/>
10
+ </discarded>
11
+ <preserved>
12
+ content1
13
+ <child1></child1>
14
+ <child2>content2</child2>
15
+ <preserved>too</preserved>
16
+ <child2>content3</child2>
17
+ <preserved></preserved>
18
+ <child2>content4</child2>
19
+ <preserved/>
20
+ <child2>content5</child2>
21
+ content6
22
+ </preserved>
23
+ This text node must be discarded
24
+ <discarded>
25
+ <discarded/>
26
+ </discarded>
27
+ This text node must be discarded
28
+ <preserved></preserved>
29
+ This text node must be discarded
30
+ <preserved/>
31
+ This text node must be discarded
32
+ <discarded>
33
+ <discarded/>
34
+ </discarded>
35
+ This text node must be discarded
36
+ </parent>
37
+ </doc>
38
+
39
+
@@ -0,0 +1,1198 @@
1
+ /**
2
+ * section: xmlWriter
3
+ * synopsis: use various APIs for the xmlWriter
4
+ * purpose: tests a number of APIs for the xmlWriter, especially
5
+ * the various methods to write to a filename, to a memory
6
+ * buffer, to a new document, or to a subtree. It shows how to
7
+ * do encoding string conversions too. The resulting
8
+ * documents are then serialized.
9
+ * usage: testWriter
10
+ * test: testWriter && for i in 1 2 3 4 ; do diff $(srcdir)/writer.xml writer$$i.tmp || break ; done
11
+ * author: Alfred Mickautsch
12
+ * copy: see Copyright for the status of this software.
13
+ */
14
+ #include <stdio.h>
15
+ #include <string.h>
16
+ #include <libxml/encoding.h>
17
+ #include <libxml/xmlwriter.h>
18
+
19
+ #if defined(LIBXML_WRITER_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
20
+
21
+ #define MY_ENCODING "ISO-8859-1"
22
+
23
+ void testXmlwriterFilename(const char *uri);
24
+ void testXmlwriterMemory(const char *file);
25
+ void testXmlwriterDoc(const char *file);
26
+ void testXmlwriterTree(const char *file);
27
+ xmlChar *ConvertInput(const char *in, const char *encoding);
28
+
29
+ int
30
+ main(void)
31
+ {
32
+ /*
33
+ * this initialize the library and check potential ABI mismatches
34
+ * between the version it was compiled for and the actual shared
35
+ * library used.
36
+ */
37
+ LIBXML_TEST_VERSION
38
+
39
+ /* first, the file version */
40
+ testXmlwriterFilename("writer1.tmp");
41
+
42
+ /* next, the memory version */
43
+ testXmlwriterMemory("writer2.tmp");
44
+
45
+ /* next, the DOM version */
46
+ testXmlwriterDoc("writer3.tmp");
47
+
48
+ /* next, the tree version */
49
+ testXmlwriterTree("writer4.tmp");
50
+
51
+ /*
52
+ * Cleanup function for the XML library.
53
+ */
54
+ xmlCleanupParser();
55
+ /*
56
+ * this is to debug memory for regression tests
57
+ */
58
+ xmlMemoryDump();
59
+ return 0;
60
+ }
61
+
62
+ /**
63
+ * testXmlwriterFilename:
64
+ * @uri: the output URI
65
+ *
66
+ * test the xmlWriter interface when writing to a new file
67
+ */
68
+ void
69
+ testXmlwriterFilename(const char *uri)
70
+ {
71
+ int rc;
72
+ xmlTextWriterPtr writer;
73
+ xmlChar *tmp;
74
+
75
+ /* Create a new XmlWriter for uri, with no compression. */
76
+ writer = xmlNewTextWriterFilename(uri, 0);
77
+ if (writer == NULL) {
78
+ printf("testXmlwriterFilename: Error creating the xml writer\n");
79
+ return;
80
+ }
81
+
82
+ /* Start the document with the xml default for the version,
83
+ * encoding ISO 8859-1 and the default for the standalone
84
+ * declaration. */
85
+ rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL);
86
+ if (rc < 0) {
87
+ printf
88
+ ("testXmlwriterFilename: Error at xmlTextWriterStartDocument\n");
89
+ return;
90
+ }
91
+
92
+ /* Start an element named "EXAMPLE". Since thist is the first
93
+ * element, this will be the root element of the document. */
94
+ rc = xmlTextWriterStartElement(writer, BAD_CAST "EXAMPLE");
95
+ if (rc < 0) {
96
+ printf
97
+ ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n");
98
+ return;
99
+ }
100
+
101
+ /* Write a comment as child of EXAMPLE.
102
+ * Please observe, that the input to the xmlTextWriter functions
103
+ * HAS to be in UTF-8, even if the output XML is encoded
104
+ * in iso-8859-1 */
105
+ tmp = ConvertInput("This is a comment with special chars: <���>",
106
+ MY_ENCODING);
107
+ rc = xmlTextWriterWriteComment(writer, tmp);
108
+ if (rc < 0) {
109
+ printf
110
+ ("testXmlwriterFilename: Error at xmlTextWriterWriteComment\n");
111
+ return;
112
+ }
113
+ if (tmp != NULL) xmlFree(tmp);
114
+
115
+ /* Start an element named "ORDER" as child of EXAMPLE. */
116
+ rc = xmlTextWriterStartElement(writer, BAD_CAST "ORDER");
117
+ if (rc < 0) {
118
+ printf
119
+ ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n");
120
+ return;
121
+ }
122
+
123
+ /* Add an attribute with name "version" and value "1.0" to ORDER. */
124
+ rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "version",
125
+ BAD_CAST "1.0");
126
+ if (rc < 0) {
127
+ printf
128
+ ("testXmlwriterFilename: Error at xmlTextWriterWriteAttribute\n");
129
+ return;
130
+ }
131
+
132
+ /* Add an attribute with name "xml:lang" and value "de" to ORDER. */
133
+ rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "xml:lang",
134
+ BAD_CAST "de");
135
+ if (rc < 0) {
136
+ printf
137
+ ("testXmlwriterFilename: Error at xmlTextWriterWriteAttribute\n");
138
+ return;
139
+ }
140
+
141
+ /* Write a comment as child of ORDER */
142
+ tmp = ConvertInput("<���>", MY_ENCODING);
143
+ rc = xmlTextWriterWriteFormatComment(writer,
144
+ "This is another comment with special chars: %s",
145
+ tmp);
146
+ if (rc < 0) {
147
+ printf
148
+ ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatComment\n");
149
+ return;
150
+ }
151
+ if (tmp != NULL) xmlFree(tmp);
152
+
153
+ /* Start an element named "HEADER" as child of ORDER. */
154
+ rc = xmlTextWriterStartElement(writer, BAD_CAST "HEADER");
155
+ if (rc < 0) {
156
+ printf
157
+ ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n");
158
+ return;
159
+ }
160
+
161
+ /* Write an element named "X_ORDER_ID" as child of HEADER. */
162
+ rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "X_ORDER_ID",
163
+ "%010d", 53535);
164
+ if (rc < 0) {
165
+ printf
166
+ ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatElement\n");
167
+ return;
168
+ }
169
+
170
+ /* Write an element named "CUSTOMER_ID" as child of HEADER. */
171
+ rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "CUSTOMER_ID",
172
+ "%d", 1010);
173
+ if (rc < 0) {
174
+ printf
175
+ ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatElement\n");
176
+ return;
177
+ }
178
+
179
+ /* Write an element named "NAME_1" as child of HEADER. */
180
+ tmp = ConvertInput("M�ller", MY_ENCODING);
181
+ rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_1", tmp);
182
+ if (rc < 0) {
183
+ printf
184
+ ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n");
185
+ return;
186
+ }
187
+ if (tmp != NULL) xmlFree(tmp);
188
+
189
+ /* Write an element named "NAME_2" as child of HEADER. */
190
+ tmp = ConvertInput("J�rg", MY_ENCODING);
191
+ rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_2", tmp);
192
+ if (rc < 0) {
193
+ printf
194
+ ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n");
195
+ return;
196
+ }
197
+ if (tmp != NULL) xmlFree(tmp);
198
+
199
+ /* Close the element named HEADER. */
200
+ rc = xmlTextWriterEndElement(writer);
201
+ if (rc < 0) {
202
+ printf
203
+ ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n");
204
+ return;
205
+ }
206
+
207
+ /* Start an element named "ENTRIES" as child of ORDER. */
208
+ rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRIES");
209
+ if (rc < 0) {
210
+ printf
211
+ ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n");
212
+ return;
213
+ }
214
+
215
+ /* Start an element named "ENTRY" as child of ENTRIES. */
216
+ rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY");
217
+ if (rc < 0) {
218
+ printf
219
+ ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n");
220
+ return;
221
+ }
222
+
223
+ /* Write an element named "ARTICLE" as child of ENTRY. */
224
+ rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE",
225
+ BAD_CAST "<Test>");
226
+ if (rc < 0) {
227
+ printf
228
+ ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n");
229
+ return;
230
+ }
231
+
232
+ /* Write an element named "ENTRY_NO" as child of ENTRY. */
233
+ rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d",
234
+ 10);
235
+ if (rc < 0) {
236
+ printf
237
+ ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatElement\n");
238
+ return;
239
+ }
240
+
241
+ /* Close the element named ENTRY. */
242
+ rc = xmlTextWriterEndElement(writer);
243
+ if (rc < 0) {
244
+ printf
245
+ ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n");
246
+ return;
247
+ }
248
+
249
+ /* Start an element named "ENTRY" as child of ENTRIES. */
250
+ rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY");
251
+ if (rc < 0) {
252
+ printf
253
+ ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n");
254
+ return;
255
+ }
256
+
257
+ /* Write an element named "ARTICLE" as child of ENTRY. */
258
+ rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE",
259
+ BAD_CAST "<Test 2>");
260
+ if (rc < 0) {
261
+ printf
262
+ ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n");
263
+ return;
264
+ }
265
+
266
+ /* Write an element named "ENTRY_NO" as child of ENTRY. */
267
+ rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d",
268
+ 20);
269
+ if (rc < 0) {
270
+ printf
271
+ ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatElement\n");
272
+ return;
273
+ }
274
+
275
+ /* Close the element named ENTRY. */
276
+ rc = xmlTextWriterEndElement(writer);
277
+ if (rc < 0) {
278
+ printf
279
+ ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n");
280
+ return;
281
+ }
282
+
283
+ /* Close the element named ENTRIES. */
284
+ rc = xmlTextWriterEndElement(writer);
285
+ if (rc < 0) {
286
+ printf
287
+ ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n");
288
+ return;
289
+ }
290
+
291
+ /* Start an element named "FOOTER" as child of ORDER. */
292
+ rc = xmlTextWriterStartElement(writer, BAD_CAST "FOOTER");
293
+ if (rc < 0) {
294
+ printf
295
+ ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n");
296
+ return;
297
+ }
298
+
299
+ /* Write an element named "TEXT" as child of FOOTER. */
300
+ rc = xmlTextWriterWriteElement(writer, BAD_CAST "TEXT",
301
+ BAD_CAST "This is a text.");
302
+ if (rc < 0) {
303
+ printf
304
+ ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n");
305
+ return;
306
+ }
307
+
308
+ /* Close the element named FOOTER. */
309
+ rc = xmlTextWriterEndElement(writer);
310
+ if (rc < 0) {
311
+ printf
312
+ ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n");
313
+ return;
314
+ }
315
+
316
+ /* Here we could close the elements ORDER and EXAMPLE using the
317
+ * function xmlTextWriterEndElement, but since we do not want to
318
+ * write any other elements, we simply call xmlTextWriterEndDocument,
319
+ * which will do all the work. */
320
+ rc = xmlTextWriterEndDocument(writer);
321
+ if (rc < 0) {
322
+ printf
323
+ ("testXmlwriterFilename: Error at xmlTextWriterEndDocument\n");
324
+ return;
325
+ }
326
+
327
+ xmlFreeTextWriter(writer);
328
+ }
329
+
330
+ /**
331
+ * testXmlwriterMemory:
332
+ * @file: the output file
333
+ *
334
+ * test the xmlWriter interface when writing to memory
335
+ */
336
+ void
337
+ testXmlwriterMemory(const char *file)
338
+ {
339
+ int rc;
340
+ xmlTextWriterPtr writer;
341
+ xmlBufferPtr buf;
342
+ xmlChar *tmp;
343
+ FILE *fp;
344
+
345
+ /* Create a new XML buffer, to which the XML document will be
346
+ * written */
347
+ buf = xmlBufferCreate();
348
+ if (buf == NULL) {
349
+ printf("testXmlwriterMemory: Error creating the xml buffer\n");
350
+ return;
351
+ }
352
+
353
+ /* Create a new XmlWriter for memory, with no compression.
354
+ * Remark: there is no compression for this kind of xmlTextWriter */
355
+ writer = xmlNewTextWriterMemory(buf, 0);
356
+ if (writer == NULL) {
357
+ printf("testXmlwriterMemory: Error creating the xml writer\n");
358
+ return;
359
+ }
360
+
361
+ /* Start the document with the xml default for the version,
362
+ * encoding ISO 8859-1 and the default for the standalone
363
+ * declaration. */
364
+ rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL);
365
+ if (rc < 0) {
366
+ printf
367
+ ("testXmlwriterMemory: Error at xmlTextWriterStartDocument\n");
368
+ return;
369
+ }
370
+
371
+ /* Start an element named "EXAMPLE". Since thist is the first
372
+ * element, this will be the root element of the document. */
373
+ rc = xmlTextWriterStartElement(writer, BAD_CAST "EXAMPLE");
374
+ if (rc < 0) {
375
+ printf
376
+ ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n");
377
+ return;
378
+ }
379
+
380
+ /* Write a comment as child of EXAMPLE.
381
+ * Please observe, that the input to the xmlTextWriter functions
382
+ * HAS to be in UTF-8, even if the output XML is encoded
383
+ * in iso-8859-1 */
384
+ tmp = ConvertInput("This is a comment with special chars: <���>",
385
+ MY_ENCODING);
386
+ rc = xmlTextWriterWriteComment(writer, tmp);
387
+ if (rc < 0) {
388
+ printf
389
+ ("testXmlwriterMemory: Error at xmlTextWriterWriteComment\n");
390
+ return;
391
+ }
392
+ if (tmp != NULL) xmlFree(tmp);
393
+
394
+ /* Start an element named "ORDER" as child of EXAMPLE. */
395
+ rc = xmlTextWriterStartElement(writer, BAD_CAST "ORDER");
396
+ if (rc < 0) {
397
+ printf
398
+ ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n");
399
+ return;
400
+ }
401
+
402
+ /* Add an attribute with name "version" and value "1.0" to ORDER. */
403
+ rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "version",
404
+ BAD_CAST "1.0");
405
+ if (rc < 0) {
406
+ printf
407
+ ("testXmlwriterMemory: Error at xmlTextWriterWriteAttribute\n");
408
+ return;
409
+ }
410
+
411
+ /* Add an attribute with name "xml:lang" and value "de" to ORDER. */
412
+ rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "xml:lang",
413
+ BAD_CAST "de");
414
+ if (rc < 0) {
415
+ printf
416
+ ("testXmlwriterMemory: Error at xmlTextWriterWriteAttribute\n");
417
+ return;
418
+ }
419
+
420
+ /* Write a comment as child of ORDER */
421
+ tmp = ConvertInput("<���>", MY_ENCODING);
422
+ rc = xmlTextWriterWriteFormatComment(writer,
423
+ "This is another comment with special chars: %s",
424
+ tmp);
425
+ if (rc < 0) {
426
+ printf
427
+ ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatComment\n");
428
+ return;
429
+ }
430
+ if (tmp != NULL) xmlFree(tmp);
431
+
432
+ /* Start an element named "HEADER" as child of ORDER. */
433
+ rc = xmlTextWriterStartElement(writer, BAD_CAST "HEADER");
434
+ if (rc < 0) {
435
+ printf
436
+ ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n");
437
+ return;
438
+ }
439
+
440
+ /* Write an element named "X_ORDER_ID" as child of HEADER. */
441
+ rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "X_ORDER_ID",
442
+ "%010d", 53535);
443
+ if (rc < 0) {
444
+ printf
445
+ ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatElement\n");
446
+ return;
447
+ }
448
+
449
+ /* Write an element named "CUSTOMER_ID" as child of HEADER. */
450
+ rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "CUSTOMER_ID",
451
+ "%d", 1010);
452
+ if (rc < 0) {
453
+ printf
454
+ ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatElement\n");
455
+ return;
456
+ }
457
+
458
+ /* Write an element named "NAME_1" as child of HEADER. */
459
+ tmp = ConvertInput("M�ller", MY_ENCODING);
460
+ rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_1", tmp);
461
+ if (rc < 0) {
462
+ printf
463
+ ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n");
464
+ return;
465
+ }
466
+ if (tmp != NULL) xmlFree(tmp);
467
+
468
+ /* Write an element named "NAME_2" as child of HEADER. */
469
+ tmp = ConvertInput("J�rg", MY_ENCODING);
470
+ rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_2", tmp);
471
+
472
+ if (rc < 0) {
473
+ printf
474
+ ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n");
475
+ return;
476
+ }
477
+ if (tmp != NULL) xmlFree(tmp);
478
+
479
+ /* Close the element named HEADER. */
480
+ rc = xmlTextWriterEndElement(writer);
481
+ if (rc < 0) {
482
+ printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n");
483
+ return;
484
+ }
485
+
486
+ /* Start an element named "ENTRIES" as child of ORDER. */
487
+ rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRIES");
488
+ if (rc < 0) {
489
+ printf
490
+ ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n");
491
+ return;
492
+ }
493
+
494
+ /* Start an element named "ENTRY" as child of ENTRIES. */
495
+ rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY");
496
+ if (rc < 0) {
497
+ printf
498
+ ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n");
499
+ return;
500
+ }
501
+
502
+ /* Write an element named "ARTICLE" as child of ENTRY. */
503
+ rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE",
504
+ BAD_CAST "<Test>");
505
+ if (rc < 0) {
506
+ printf
507
+ ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n");
508
+ return;
509
+ }
510
+
511
+ /* Write an element named "ENTRY_NO" as child of ENTRY. */
512
+ rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d",
513
+ 10);
514
+ if (rc < 0) {
515
+ printf
516
+ ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatElement\n");
517
+ return;
518
+ }
519
+
520
+ /* Close the element named ENTRY. */
521
+ rc = xmlTextWriterEndElement(writer);
522
+ if (rc < 0) {
523
+ printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n");
524
+ return;
525
+ }
526
+
527
+ /* Start an element named "ENTRY" as child of ENTRIES. */
528
+ rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY");
529
+ if (rc < 0) {
530
+ printf
531
+ ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n");
532
+ return;
533
+ }
534
+
535
+ /* Write an element named "ARTICLE" as child of ENTRY. */
536
+ rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE",
537
+ BAD_CAST "<Test 2>");
538
+ if (rc < 0) {
539
+ printf
540
+ ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n");
541
+ return;
542
+ }
543
+
544
+ /* Write an element named "ENTRY_NO" as child of ENTRY. */
545
+ rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d",
546
+ 20);
547
+ if (rc < 0) {
548
+ printf
549
+ ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatElement\n");
550
+ return;
551
+ }
552
+
553
+ /* Close the element named ENTRY. */
554
+ rc = xmlTextWriterEndElement(writer);
555
+ if (rc < 0) {
556
+ printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n");
557
+ return;
558
+ }
559
+
560
+ /* Close the element named ENTRIES. */
561
+ rc = xmlTextWriterEndElement(writer);
562
+ if (rc < 0) {
563
+ printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n");
564
+ return;
565
+ }
566
+
567
+ /* Start an element named "FOOTER" as child of ORDER. */
568
+ rc = xmlTextWriterStartElement(writer, BAD_CAST "FOOTER");
569
+ if (rc < 0) {
570
+ printf
571
+ ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n");
572
+ return;
573
+ }
574
+
575
+ /* Write an element named "TEXT" as child of FOOTER. */
576
+ rc = xmlTextWriterWriteElement(writer, BAD_CAST "TEXT",
577
+ BAD_CAST "This is a text.");
578
+ if (rc < 0) {
579
+ printf
580
+ ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n");
581
+ return;
582
+ }
583
+
584
+ /* Close the element named FOOTER. */
585
+ rc = xmlTextWriterEndElement(writer);
586
+ if (rc < 0) {
587
+ printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n");
588
+ return;
589
+ }
590
+
591
+ /* Here we could close the elements ORDER and EXAMPLE using the
592
+ * function xmlTextWriterEndElement, but since we do not want to
593
+ * write any other elements, we simply call xmlTextWriterEndDocument,
594
+ * which will do all the work. */
595
+ rc = xmlTextWriterEndDocument(writer);
596
+ if (rc < 0) {
597
+ printf("testXmlwriterMemory: Error at xmlTextWriterEndDocument\n");
598
+ return;
599
+ }
600
+
601
+ xmlFreeTextWriter(writer);
602
+
603
+ fp = fopen(file, "w");
604
+ if (fp == NULL) {
605
+ printf("testXmlwriterMemory: Error at fopen\n");
606
+ return;
607
+ }
608
+
609
+ fprintf(fp, "%s", (const char *) buf->content);
610
+
611
+ fclose(fp);
612
+
613
+ xmlBufferFree(buf);
614
+ }
615
+
616
+ /**
617
+ * testXmlwriterDoc:
618
+ * @file: the output file
619
+ *
620
+ * test the xmlWriter interface when creating a new document
621
+ */
622
+ void
623
+ testXmlwriterDoc(const char *file)
624
+ {
625
+ int rc;
626
+ xmlTextWriterPtr writer;
627
+ xmlChar *tmp;
628
+ xmlDocPtr doc;
629
+
630
+
631
+ /* Create a new XmlWriter for DOM, with no compression. */
632
+ writer = xmlNewTextWriterDoc(&doc, 0);
633
+ if (writer == NULL) {
634
+ printf("testXmlwriterDoc: Error creating the xml writer\n");
635
+ return;
636
+ }
637
+
638
+ /* Start the document with the xml default for the version,
639
+ * encoding ISO 8859-1 and the default for the standalone
640
+ * declaration. */
641
+ rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL);
642
+ if (rc < 0) {
643
+ printf("testXmlwriterDoc: Error at xmlTextWriterStartDocument\n");
644
+ return;
645
+ }
646
+
647
+ /* Start an element named "EXAMPLE". Since thist is the first
648
+ * element, this will be the root element of the document. */
649
+ rc = xmlTextWriterStartElement(writer, BAD_CAST "EXAMPLE");
650
+ if (rc < 0) {
651
+ printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n");
652
+ return;
653
+ }
654
+
655
+ /* Write a comment as child of EXAMPLE.
656
+ * Please observe, that the input to the xmlTextWriter functions
657
+ * HAS to be in UTF-8, even if the output XML is encoded
658
+ * in iso-8859-1 */
659
+ tmp = ConvertInput("This is a comment with special chars: <���>",
660
+ MY_ENCODING);
661
+ rc = xmlTextWriterWriteComment(writer, tmp);
662
+ if (rc < 0) {
663
+ printf("testXmlwriterDoc: Error at xmlTextWriterWriteComment\n");
664
+ return;
665
+ }
666
+ if (tmp != NULL) xmlFree(tmp);
667
+
668
+ /* Start an element named "ORDER" as child of EXAMPLE. */
669
+ rc = xmlTextWriterStartElement(writer, BAD_CAST "ORDER");
670
+ if (rc < 0) {
671
+ printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n");
672
+ return;
673
+ }
674
+
675
+ /* Add an attribute with name "version" and value "1.0" to ORDER. */
676
+ rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "version",
677
+ BAD_CAST "1.0");
678
+ if (rc < 0) {
679
+ printf("testXmlwriterDoc: Error at xmlTextWriterWriteAttribute\n");
680
+ return;
681
+ }
682
+
683
+ /* Add an attribute with name "xml:lang" and value "de" to ORDER. */
684
+ rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "xml:lang",
685
+ BAD_CAST "de");
686
+ if (rc < 0) {
687
+ printf("testXmlwriterDoc: Error at xmlTextWriterWriteAttribute\n");
688
+ return;
689
+ }
690
+
691
+ /* Write a comment as child of ORDER */
692
+ tmp = ConvertInput("<���>", MY_ENCODING);
693
+ rc = xmlTextWriterWriteFormatComment(writer,
694
+ "This is another comment with special chars: %s",
695
+ tmp);
696
+ if (rc < 0) {
697
+ printf
698
+ ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatComment\n");
699
+ return;
700
+ }
701
+ if (tmp != NULL) xmlFree(tmp);
702
+
703
+ /* Start an element named "HEADER" as child of ORDER. */
704
+ rc = xmlTextWriterStartElement(writer, BAD_CAST "HEADER");
705
+ if (rc < 0) {
706
+ printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n");
707
+ return;
708
+ }
709
+
710
+ /* Write an element named "X_ORDER_ID" as child of HEADER. */
711
+ rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "X_ORDER_ID",
712
+ "%010d", 53535);
713
+ if (rc < 0) {
714
+ printf
715
+ ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatElement\n");
716
+ return;
717
+ }
718
+
719
+ /* Write an element named "CUSTOMER_ID" as child of HEADER. */
720
+ rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "CUSTOMER_ID",
721
+ "%d", 1010);
722
+ if (rc < 0) {
723
+ printf
724
+ ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatElement\n");
725
+ return;
726
+ }
727
+
728
+ /* Write an element named "NAME_1" as child of HEADER. */
729
+ tmp = ConvertInput("M�ller", MY_ENCODING);
730
+ rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_1", tmp);
731
+ if (rc < 0) {
732
+ printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n");
733
+ return;
734
+ }
735
+ if (tmp != NULL) xmlFree(tmp);
736
+
737
+ /* Write an element named "NAME_2" as child of HEADER. */
738
+ tmp = ConvertInput("J�rg", MY_ENCODING);
739
+ rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_2", tmp);
740
+ if (rc < 0) {
741
+ printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n");
742
+ return;
743
+ }
744
+ if (tmp != NULL) xmlFree(tmp);
745
+
746
+ /* Close the element named HEADER. */
747
+ rc = xmlTextWriterEndElement(writer);
748
+ if (rc < 0) {
749
+ printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n");
750
+ return;
751
+ }
752
+
753
+ /* Start an element named "ENTRIES" as child of ORDER. */
754
+ rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRIES");
755
+ if (rc < 0) {
756
+ printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n");
757
+ return;
758
+ }
759
+
760
+ /* Start an element named "ENTRY" as child of ENTRIES. */
761
+ rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY");
762
+ if (rc < 0) {
763
+ printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n");
764
+ return;
765
+ }
766
+
767
+ /* Write an element named "ARTICLE" as child of ENTRY. */
768
+ rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE",
769
+ BAD_CAST "<Test>");
770
+ if (rc < 0) {
771
+ printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n");
772
+ return;
773
+ }
774
+
775
+ /* Write an element named "ENTRY_NO" as child of ENTRY. */
776
+ rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d",
777
+ 10);
778
+ if (rc < 0) {
779
+ printf
780
+ ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatElement\n");
781
+ return;
782
+ }
783
+
784
+ /* Close the element named ENTRY. */
785
+ rc = xmlTextWriterEndElement(writer);
786
+ if (rc < 0) {
787
+ printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n");
788
+ return;
789
+ }
790
+
791
+ /* Start an element named "ENTRY" as child of ENTRIES. */
792
+ rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY");
793
+ if (rc < 0) {
794
+ printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n");
795
+ return;
796
+ }
797
+
798
+ /* Write an element named "ARTICLE" as child of ENTRY. */
799
+ rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE",
800
+ BAD_CAST "<Test 2>");
801
+ if (rc < 0) {
802
+ printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n");
803
+ return;
804
+ }
805
+
806
+ /* Write an element named "ENTRY_NO" as child of ENTRY. */
807
+ rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d",
808
+ 20);
809
+ if (rc < 0) {
810
+ printf
811
+ ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatElement\n");
812
+ return;
813
+ }
814
+
815
+ /* Close the element named ENTRY. */
816
+ rc = xmlTextWriterEndElement(writer);
817
+ if (rc < 0) {
818
+ printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n");
819
+ return;
820
+ }
821
+
822
+ /* Close the element named ENTRIES. */
823
+ rc = xmlTextWriterEndElement(writer);
824
+ if (rc < 0) {
825
+ printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n");
826
+ return;
827
+ }
828
+
829
+ /* Start an element named "FOOTER" as child of ORDER. */
830
+ rc = xmlTextWriterStartElement(writer, BAD_CAST "FOOTER");
831
+ if (rc < 0) {
832
+ printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n");
833
+ return;
834
+ }
835
+
836
+ /* Write an element named "TEXT" as child of FOOTER. */
837
+ rc = xmlTextWriterWriteElement(writer, BAD_CAST "TEXT",
838
+ BAD_CAST "This is a text.");
839
+ if (rc < 0) {
840
+ printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n");
841
+ return;
842
+ }
843
+
844
+ /* Close the element named FOOTER. */
845
+ rc = xmlTextWriterEndElement(writer);
846
+ if (rc < 0) {
847
+ printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n");
848
+ return;
849
+ }
850
+
851
+ /* Here we could close the elements ORDER and EXAMPLE using the
852
+ * function xmlTextWriterEndElement, but since we do not want to
853
+ * write any other elements, we simply call xmlTextWriterEndDocument,
854
+ * which will do all the work. */
855
+ rc = xmlTextWriterEndDocument(writer);
856
+ if (rc < 0) {
857
+ printf("testXmlwriterDoc: Error at xmlTextWriterEndDocument\n");
858
+ return;
859
+ }
860
+
861
+ xmlFreeTextWriter(writer);
862
+
863
+ xmlSaveFileEnc(file, doc, MY_ENCODING);
864
+
865
+ xmlFreeDoc(doc);
866
+ }
867
+
868
+ /**
869
+ * testXmlwriterTree:
870
+ * @file: the output file
871
+ *
872
+ * test the xmlWriter interface when writing to a subtree
873
+ */
874
+ void
875
+ testXmlwriterTree(const char *file)
876
+ {
877
+ int rc;
878
+ xmlTextWriterPtr writer;
879
+ xmlDocPtr doc;
880
+ xmlNodePtr node;
881
+ xmlChar *tmp;
882
+
883
+ /* Create a new XML DOM tree, to which the XML document will be
884
+ * written */
885
+ doc = xmlNewDoc(BAD_CAST XML_DEFAULT_VERSION);
886
+ if (doc == NULL) {
887
+ printf
888
+ ("testXmlwriterTree: Error creating the xml document tree\n");
889
+ return;
890
+ }
891
+
892
+ /* Create a new XML node, to which the XML document will be
893
+ * appended */
894
+ node = xmlNewDocNode(doc, NULL, BAD_CAST "EXAMPLE", NULL);
895
+ if (node == NULL) {
896
+ printf("testXmlwriterTree: Error creating the xml node\n");
897
+ return;
898
+ }
899
+
900
+ /* Make ELEMENT the root node of the tree */
901
+ xmlDocSetRootElement(doc, node);
902
+
903
+ /* Create a new XmlWriter for DOM tree, with no compression. */
904
+ writer = xmlNewTextWriterTree(doc, node, 0);
905
+ if (writer == NULL) {
906
+ printf("testXmlwriterTree: Error creating the xml writer\n");
907
+ return;
908
+ }
909
+
910
+ /* Start the document with the xml default for the version,
911
+ * encoding ISO 8859-1 and the default for the standalone
912
+ * declaration. */
913
+ rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL);
914
+ if (rc < 0) {
915
+ printf("testXmlwriterTree: Error at xmlTextWriterStartDocument\n");
916
+ return;
917
+ }
918
+
919
+ /* Write a comment as child of EXAMPLE.
920
+ * Please observe, that the input to the xmlTextWriter functions
921
+ * HAS to be in UTF-8, even if the output XML is encoded
922
+ * in iso-8859-1 */
923
+ tmp = ConvertInput("This is a comment with special chars: <���>",
924
+ MY_ENCODING);
925
+ rc = xmlTextWriterWriteComment(writer, tmp);
926
+ if (rc < 0) {
927
+ printf("testXmlwriterTree: Error at xmlTextWriterWriteComment\n");
928
+ return;
929
+ }
930
+ if (tmp != NULL) xmlFree(tmp);
931
+
932
+ /* Start an element named "ORDER" as child of EXAMPLE. */
933
+ rc = xmlTextWriterStartElement(writer, BAD_CAST "ORDER");
934
+ if (rc < 0) {
935
+ printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n");
936
+ return;
937
+ }
938
+
939
+ /* Add an attribute with name "version" and value "1.0" to ORDER. */
940
+ rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "version",
941
+ BAD_CAST "1.0");
942
+ if (rc < 0) {
943
+ printf
944
+ ("testXmlwriterTree: Error at xmlTextWriterWriteAttribute\n");
945
+ return;
946
+ }
947
+
948
+ /* Add an attribute with name "xml:lang" and value "de" to ORDER. */
949
+ rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "xml:lang",
950
+ BAD_CAST "de");
951
+ if (rc < 0) {
952
+ printf
953
+ ("testXmlwriterTree: Error at xmlTextWriterWriteAttribute\n");
954
+ return;
955
+ }
956
+
957
+ /* Write a comment as child of ORDER */
958
+ tmp = ConvertInput("<���>", MY_ENCODING);
959
+ rc = xmlTextWriterWriteFormatComment(writer,
960
+ "This is another comment with special chars: %s",
961
+ tmp);
962
+ if (rc < 0) {
963
+ printf
964
+ ("testXmlwriterTree: Error at xmlTextWriterWriteFormatComment\n");
965
+ return;
966
+ }
967
+ if (tmp != NULL) xmlFree(tmp);
968
+
969
+ /* Start an element named "HEADER" as child of ORDER. */
970
+ rc = xmlTextWriterStartElement(writer, BAD_CAST "HEADER");
971
+ if (rc < 0) {
972
+ printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n");
973
+ return;
974
+ }
975
+
976
+ /* Write an element named "X_ORDER_ID" as child of HEADER. */
977
+ rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "X_ORDER_ID",
978
+ "%010d", 53535);
979
+ if (rc < 0) {
980
+ printf
981
+ ("testXmlwriterTree: Error at xmlTextWriterWriteFormatElement\n");
982
+ return;
983
+ }
984
+
985
+ /* Write an element named "CUSTOMER_ID" as child of HEADER. */
986
+ rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "CUSTOMER_ID",
987
+ "%d", 1010);
988
+ if (rc < 0) {
989
+ printf
990
+ ("testXmlwriterTree: Error at xmlTextWriterWriteFormatElement\n");
991
+ return;
992
+ }
993
+
994
+ /* Write an element named "NAME_1" as child of HEADER. */
995
+ tmp = ConvertInput("M�ller", MY_ENCODING);
996
+ rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_1", tmp);
997
+ if (rc < 0) {
998
+ printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n");
999
+ return;
1000
+ }
1001
+ if (tmp != NULL) xmlFree(tmp);
1002
+
1003
+ /* Write an element named "NAME_2" as child of HEADER. */
1004
+ tmp = ConvertInput("J�rg", MY_ENCODING);
1005
+ rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_2", tmp);
1006
+ if (rc < 0) {
1007
+ printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n");
1008
+ return;
1009
+ }
1010
+ if (tmp != NULL) xmlFree(tmp);
1011
+
1012
+ /* Close the element named HEADER. */
1013
+ rc = xmlTextWriterEndElement(writer);
1014
+ if (rc < 0) {
1015
+ printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n");
1016
+ return;
1017
+ }
1018
+
1019
+ /* Start an element named "ENTRIES" as child of ORDER. */
1020
+ rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRIES");
1021
+ if (rc < 0) {
1022
+ printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n");
1023
+ return;
1024
+ }
1025
+
1026
+ /* Start an element named "ENTRY" as child of ENTRIES. */
1027
+ rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY");
1028
+ if (rc < 0) {
1029
+ printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n");
1030
+ return;
1031
+ }
1032
+
1033
+ /* Write an element named "ARTICLE" as child of ENTRY. */
1034
+ rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE",
1035
+ BAD_CAST "<Test>");
1036
+ if (rc < 0) {
1037
+ printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n");
1038
+ return;
1039
+ }
1040
+
1041
+ /* Write an element named "ENTRY_NO" as child of ENTRY. */
1042
+ rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d",
1043
+ 10);
1044
+ if (rc < 0) {
1045
+ printf
1046
+ ("testXmlwriterTree: Error at xmlTextWriterWriteFormatElement\n");
1047
+ return;
1048
+ }
1049
+
1050
+ /* Close the element named ENTRY. */
1051
+ rc = xmlTextWriterEndElement(writer);
1052
+ if (rc < 0) {
1053
+ printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n");
1054
+ return;
1055
+ }
1056
+
1057
+ /* Start an element named "ENTRY" as child of ENTRIES. */
1058
+ rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY");
1059
+ if (rc < 0) {
1060
+ printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n");
1061
+ return;
1062
+ }
1063
+
1064
+ /* Write an element named "ARTICLE" as child of ENTRY. */
1065
+ rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE",
1066
+ BAD_CAST "<Test 2>");
1067
+ if (rc < 0) {
1068
+ printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n");
1069
+ return;
1070
+ }
1071
+
1072
+ /* Write an element named "ENTRY_NO" as child of ENTRY. */
1073
+ rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d",
1074
+ 20);
1075
+ if (rc < 0) {
1076
+ printf
1077
+ ("testXmlwriterTree: Error at xmlTextWriterWriteFormatElement\n");
1078
+ return;
1079
+ }
1080
+
1081
+ /* Close the element named ENTRY. */
1082
+ rc = xmlTextWriterEndElement(writer);
1083
+ if (rc < 0) {
1084
+ printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n");
1085
+ return;
1086
+ }
1087
+
1088
+ /* Close the element named ENTRIES. */
1089
+ rc = xmlTextWriterEndElement(writer);
1090
+ if (rc < 0) {
1091
+ printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n");
1092
+ return;
1093
+ }
1094
+
1095
+ /* Start an element named "FOOTER" as child of ORDER. */
1096
+ rc = xmlTextWriterStartElement(writer, BAD_CAST "FOOTER");
1097
+ if (rc < 0) {
1098
+ printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n");
1099
+ return;
1100
+ }
1101
+
1102
+ /* Write an element named "TEXT" as child of FOOTER. */
1103
+ rc = xmlTextWriterWriteElement(writer, BAD_CAST "TEXT",
1104
+ BAD_CAST "This is a text.");
1105
+ if (rc < 0) {
1106
+ printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n");
1107
+ return;
1108
+ }
1109
+
1110
+ /* Close the element named FOOTER. */
1111
+ rc = xmlTextWriterEndElement(writer);
1112
+ if (rc < 0) {
1113
+ printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n");
1114
+ return;
1115
+ }
1116
+
1117
+ /* Here we could close the elements ORDER and EXAMPLE using the
1118
+ * function xmlTextWriterEndElement, but since we do not want to
1119
+ * write any other elements, we simply call xmlTextWriterEndDocument,
1120
+ * which will do all the work. */
1121
+ rc = xmlTextWriterEndDocument(writer);
1122
+ if (rc < 0) {
1123
+ printf("testXmlwriterTree: Error at xmlTextWriterEndDocument\n");
1124
+ return;
1125
+ }
1126
+
1127
+ xmlFreeTextWriter(writer);
1128
+
1129
+ xmlSaveFileEnc(file, doc, MY_ENCODING);
1130
+
1131
+ xmlFreeDoc(doc);
1132
+ }
1133
+
1134
+ /**
1135
+ * ConvertInput:
1136
+ * @in: string in a given encoding
1137
+ * @encoding: the encoding used
1138
+ *
1139
+ * Converts @in into UTF-8 for processing with libxml2 APIs
1140
+ *
1141
+ * Returns the converted UTF-8 string, or NULL in case of error.
1142
+ */
1143
+ xmlChar *
1144
+ ConvertInput(const char *in, const char *encoding)
1145
+ {
1146
+ xmlChar *out;
1147
+ int ret;
1148
+ int size;
1149
+ int out_size;
1150
+ int temp;
1151
+ xmlCharEncodingHandlerPtr handler;
1152
+
1153
+ if (in == 0)
1154
+ return 0;
1155
+
1156
+ handler = xmlFindCharEncodingHandler(encoding);
1157
+
1158
+ if (!handler) {
1159
+ printf("ConvertInput: no encoding handler found for '%s'\n",
1160
+ encoding ? encoding : "");
1161
+ return 0;
1162
+ }
1163
+
1164
+ size = (int) strlen(in) + 1;
1165
+ out_size = size * 2 - 1;
1166
+ out = (unsigned char *) xmlMalloc((size_t) out_size);
1167
+
1168
+ if (out != 0) {
1169
+ temp = size - 1;
1170
+ ret = handler->input(out, &out_size, (const xmlChar *) in, &temp);
1171
+ if ((ret < 0) || (temp - size + 1)) {
1172
+ if (ret < 0) {
1173
+ printf("ConvertInput: conversion wasn't successful.\n");
1174
+ } else {
1175
+ printf
1176
+ ("ConvertInput: conversion wasn't successful. converted: %i octets.\n",
1177
+ temp);
1178
+ }
1179
+
1180
+ xmlFree(out);
1181
+ out = 0;
1182
+ } else {
1183
+ out = (unsigned char *) xmlRealloc(out, out_size + 1);
1184
+ out[out_size] = 0; /*null terminating out */
1185
+ }
1186
+ } else {
1187
+ printf("ConvertInput: no mem\n");
1188
+ }
1189
+
1190
+ return out;
1191
+ }
1192
+
1193
+ #else
1194
+ int main(void) {
1195
+ fprintf(stderr, "Writer or output support not compiled in\n");
1196
+ exit(1);
1197
+ }
1198
+ #endif