coupa-libxml-ruby 1.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (280) hide show
  1. data/CHANGES +488 -0
  2. data/LICENSE +22 -0
  3. data/README +161 -0
  4. data/Rakefile +188 -0
  5. data/doc/css/normal.css +182 -0
  6. data/doc/img/raze-tiny.png +0 -0
  7. data/doc/img/red-cube.jpg +0 -0
  8. data/doc/img/xml-ruby.png +0 -0
  9. data/doc/index.xml +43 -0
  10. data/doc/install.xml +77 -0
  11. data/doc/layout.rhtml +38 -0
  12. data/doc/layout.xsl +67 -0
  13. data/doc/license.xml +32 -0
  14. data/doc/log/changelog.xml +1324 -0
  15. data/doc/log/changelog.xsl +42 -0
  16. data/doc/rdoc/classes/LibXML.html +207 -0
  17. data/doc/rdoc/classes/LibXML/XML.html +407 -0
  18. data/doc/rdoc/classes/LibXML/XML/Attr.html +521 -0
  19. data/doc/rdoc/classes/LibXML/XML/AttrDecl.html +360 -0
  20. data/doc/rdoc/classes/LibXML/XML/Attributes.html +149 -0
  21. data/doc/rdoc/classes/LibXML/XML/Document.html +460 -0
  22. data/doc/rdoc/classes/LibXML/XML/Error.html +129 -0
  23. data/doc/rdoc/classes/LibXML/XML/HTMLParser.html +263 -0
  24. data/doc/rdoc/classes/LibXML/XML/Namespace.html +248 -0
  25. data/doc/rdoc/classes/LibXML/XML/Namespaces.html +200 -0
  26. data/doc/rdoc/classes/LibXML/XML/Node.html +1351 -0
  27. data/doc/rdoc/classes/LibXML/XML/Parser.html +328 -0
  28. data/doc/rdoc/classes/LibXML/XML/Reader.html +172 -0
  29. data/doc/rdoc/classes/LibXML/XML/SaxParser.html +232 -0
  30. data/doc/rdoc/classes/LibXML/XML/SaxParser/Callbacks.html +506 -0
  31. data/doc/rdoc/classes/LibXML/XML/SaxParser/VerboseCallbacks.html +555 -0
  32. data/doc/rdoc/classes/LibXML/XML/XPath.html +111 -0
  33. data/doc/rdoc/classes/LibXML/XML/XPath/Object.html +162 -0
  34. data/doc/rdoc/classes/cXMLDtd.html +114 -0
  35. data/doc/rdoc/classes/cXMLNode.html +114 -0
  36. data/doc/rdoc/created.rid +1 -0
  37. data/doc/rdoc/files/CHANGES.html +794 -0
  38. data/doc/rdoc/files/LICENSE.html +131 -0
  39. data/doc/rdoc/files/README.html +343 -0
  40. data/doc/rdoc/files/ext/libxml/libxml_c.html +101 -0
  41. data/doc/rdoc/files/ext/libxml/ruby_xml_attr_c.html +101 -0
  42. data/doc/rdoc/files/ext/libxml/ruby_xml_attr_decl_c.html +101 -0
  43. data/doc/rdoc/files/ext/libxml/ruby_xml_attributes_c.html +101 -0
  44. data/doc/rdoc/files/ext/libxml/ruby_xml_c.html +101 -0
  45. data/doc/rdoc/files/ext/libxml/ruby_xml_cbg_c.html +101 -0
  46. data/doc/rdoc/files/ext/libxml/ruby_xml_document_c.html +101 -0
  47. data/doc/rdoc/files/ext/libxml/ruby_xml_dtd_c.html +101 -0
  48. data/doc/rdoc/files/ext/libxml/ruby_xml_encoding_c.html +101 -0
  49. data/doc/rdoc/files/ext/libxml/ruby_xml_error_c.html +101 -0
  50. data/doc/rdoc/files/ext/libxml/ruby_xml_html_parser_c.html +101 -0
  51. data/doc/rdoc/files/ext/libxml/ruby_xml_html_parser_context_c.html +101 -0
  52. data/doc/rdoc/files/ext/libxml/ruby_xml_html_parser_options_c.html +101 -0
  53. data/doc/rdoc/files/ext/libxml/ruby_xml_input_cbg_c.html +101 -0
  54. data/doc/rdoc/files/ext/libxml/ruby_xml_io_c.html +101 -0
  55. data/doc/rdoc/files/ext/libxml/ruby_xml_namespace_c.html +101 -0
  56. data/doc/rdoc/files/ext/libxml/ruby_xml_namespaces_c.html +101 -0
  57. data/doc/rdoc/files/ext/libxml/ruby_xml_node_c.html +101 -0
  58. data/doc/rdoc/files/ext/libxml/ruby_xml_parser_c.html +101 -0
  59. data/doc/rdoc/files/ext/libxml/ruby_xml_parser_context_c.html +101 -0
  60. data/doc/rdoc/files/ext/libxml/ruby_xml_parser_options_c.html +101 -0
  61. data/doc/rdoc/files/ext/libxml/ruby_xml_reader_c.html +101 -0
  62. data/doc/rdoc/files/ext/libxml/ruby_xml_relaxng_c.html +101 -0
  63. data/doc/rdoc/files/ext/libxml/ruby_xml_sax2_handler_c.html +101 -0
  64. data/doc/rdoc/files/ext/libxml/ruby_xml_sax_parser_c.html +101 -0
  65. data/doc/rdoc/files/ext/libxml/ruby_xml_schema_c.html +101 -0
  66. data/doc/rdoc/files/ext/libxml/ruby_xml_xinclude_c.html +101 -0
  67. data/doc/rdoc/files/ext/libxml/ruby_xml_xpath_c.html +101 -0
  68. data/doc/rdoc/files/ext/libxml/ruby_xml_xpath_context_c.html +101 -0
  69. data/doc/rdoc/files/ext/libxml/ruby_xml_xpath_expression_c.html +101 -0
  70. data/doc/rdoc/files/ext/libxml/ruby_xml_xpath_object_c.html +101 -0
  71. data/doc/rdoc/files/ext/libxml/ruby_xml_xpointer_c.html +101 -0
  72. data/doc/rdoc/files/lib/libxml/attr_decl_rb.html +101 -0
  73. data/doc/rdoc/files/lib/libxml/attr_rb.html +101 -0
  74. data/doc/rdoc/files/lib/libxml/attributes_rb.html +101 -0
  75. data/doc/rdoc/files/lib/libxml/document_rb.html +101 -0
  76. data/doc/rdoc/files/lib/libxml/error_rb.html +101 -0
  77. data/doc/rdoc/files/lib/libxml/hpricot_rb.html +192 -0
  78. data/doc/rdoc/files/lib/libxml/html_parser_rb.html +101 -0
  79. data/doc/rdoc/files/lib/libxml/namespace_rb.html +101 -0
  80. data/doc/rdoc/files/lib/libxml/namespaces_rb.html +101 -0
  81. data/doc/rdoc/files/lib/libxml/node_rb.html +108 -0
  82. data/doc/rdoc/files/lib/libxml/ns_rb.html +101 -0
  83. data/doc/rdoc/files/lib/libxml/parser_rb.html +101 -0
  84. data/doc/rdoc/files/lib/libxml/properties_rb.html +101 -0
  85. data/doc/rdoc/files/lib/libxml/reader_rb.html +101 -0
  86. data/doc/rdoc/files/lib/libxml/sax_callbacks_rb.html +101 -0
  87. data/doc/rdoc/files/lib/libxml/sax_parser_rb.html +101 -0
  88. data/doc/rdoc/files/lib/libxml/tree_rb.html +101 -0
  89. data/doc/rdoc/files/lib/libxml/xpath_object_rb.html +101 -0
  90. data/doc/rdoc/files/lib/libxml_rb.html +133 -0
  91. data/doc/rdoc/files/lib/xml/libxml_rb.html +124 -0
  92. data/doc/rdoc/files/lib/xml_rb.html +134 -0
  93. data/doc/rdoc/fr_class_index.html +46 -0
  94. data/doc/rdoc/fr_file_index.html +84 -0
  95. data/doc/rdoc/fr_method_index.html +155 -0
  96. data/doc/rdoc/index.html +24 -0
  97. data/doc/rdoc/rdoc-style.css +208 -0
  98. data/ext/libxml/Makefile +157 -0
  99. data/ext/libxml/build.log +4 -0
  100. data/ext/libxml/extconf.h +5 -0
  101. data/ext/libxml/extconf.rb +278 -0
  102. data/ext/libxml/libxml.c +77 -0
  103. data/ext/libxml/libxml.o +0 -0
  104. data/ext/libxml/libxml_ruby.bundle +0 -0
  105. data/ext/libxml/mkmf.log +228 -0
  106. data/ext/libxml/ruby_libxml.h +93 -0
  107. data/ext/libxml/ruby_xml.c +893 -0
  108. data/ext/libxml/ruby_xml.h +10 -0
  109. data/ext/libxml/ruby_xml.o +0 -0
  110. data/ext/libxml/ruby_xml_attr.c +352 -0
  111. data/ext/libxml/ruby_xml_attr.h +14 -0
  112. data/ext/libxml/ruby_xml_attr.o +0 -0
  113. data/ext/libxml/ruby_xml_attr_decl.c +171 -0
  114. data/ext/libxml/ruby_xml_attr_decl.h +13 -0
  115. data/ext/libxml/ruby_xml_attr_decl.o +0 -0
  116. data/ext/libxml/ruby_xml_attributes.c +277 -0
  117. data/ext/libxml/ruby_xml_attributes.h +17 -0
  118. data/ext/libxml/ruby_xml_attributes.o +0 -0
  119. data/ext/libxml/ruby_xml_cbg.c +86 -0
  120. data/ext/libxml/ruby_xml_cbg.o +0 -0
  121. data/ext/libxml/ruby_xml_document.c +1006 -0
  122. data/ext/libxml/ruby_xml_document.c.old +936 -0
  123. data/ext/libxml/ruby_xml_document.h +17 -0
  124. data/ext/libxml/ruby_xml_document.o +0 -0
  125. data/ext/libxml/ruby_xml_dtd.c +257 -0
  126. data/ext/libxml/ruby_xml_dtd.h +9 -0
  127. data/ext/libxml/ruby_xml_dtd.o +0 -0
  128. data/ext/libxml/ruby_xml_encoding.c +134 -0
  129. data/ext/libxml/ruby_xml_encoding.h +12 -0
  130. data/ext/libxml/ruby_xml_encoding.o +0 -0
  131. data/ext/libxml/ruby_xml_error.c +1004 -0
  132. data/ext/libxml/ruby_xml_error.h +14 -0
  133. data/ext/libxml/ruby_xml_error.o +0 -0
  134. data/ext/libxml/ruby_xml_html_parser.c +92 -0
  135. data/ext/libxml/ruby_xml_html_parser.h +12 -0
  136. data/ext/libxml/ruby_xml_html_parser.o +0 -0
  137. data/ext/libxml/ruby_xml_html_parser_context.c +308 -0
  138. data/ext/libxml/ruby_xml_html_parser_context.h +12 -0
  139. data/ext/libxml/ruby_xml_html_parser_context.o +0 -0
  140. data/ext/libxml/ruby_xml_html_parser_options.c +40 -0
  141. data/ext/libxml/ruby_xml_html_parser_options.h +12 -0
  142. data/ext/libxml/ruby_xml_html_parser_options.o +0 -0
  143. data/ext/libxml/ruby_xml_input_cbg.c +191 -0
  144. data/ext/libxml/ruby_xml_input_cbg.h +20 -0
  145. data/ext/libxml/ruby_xml_input_cbg.o +0 -0
  146. data/ext/libxml/ruby_xml_io.c +30 -0
  147. data/ext/libxml/ruby_xml_io.h +9 -0
  148. data/ext/libxml/ruby_xml_io.o +0 -0
  149. data/ext/libxml/ruby_xml_namespace.c +170 -0
  150. data/ext/libxml/ruby_xml_namespace.h +12 -0
  151. data/ext/libxml/ruby_xml_namespace.o +0 -0
  152. data/ext/libxml/ruby_xml_namespaces.c +295 -0
  153. data/ext/libxml/ruby_xml_namespaces.h +11 -0
  154. data/ext/libxml/ruby_xml_namespaces.o +0 -0
  155. data/ext/libxml/ruby_xml_node.c +1386 -0
  156. data/ext/libxml/ruby_xml_node.h +13 -0
  157. data/ext/libxml/ruby_xml_node.o +0 -0
  158. data/ext/libxml/ruby_xml_parser.c +94 -0
  159. data/ext/libxml/ruby_xml_parser.h +14 -0
  160. data/ext/libxml/ruby_xml_parser.o +0 -0
  161. data/ext/libxml/ruby_xml_parser_context.c +982 -0
  162. data/ext/libxml/ruby_xml_parser_context.h +12 -0
  163. data/ext/libxml/ruby_xml_parser_context.o +0 -0
  164. data/ext/libxml/ruby_xml_parser_options.c +68 -0
  165. data/ext/libxml/ruby_xml_parser_options.h +14 -0
  166. data/ext/libxml/ruby_xml_parser_options.o +0 -0
  167. data/ext/libxml/ruby_xml_reader.c +1002 -0
  168. data/ext/libxml/ruby_xml_reader.h +14 -0
  169. data/ext/libxml/ruby_xml_reader.o +0 -0
  170. data/ext/libxml/ruby_xml_relaxng.c +111 -0
  171. data/ext/libxml/ruby_xml_relaxng.h +10 -0
  172. data/ext/libxml/ruby_xml_relaxng.o +0 -0
  173. data/ext/libxml/ruby_xml_sax2_handler.c +322 -0
  174. data/ext/libxml/ruby_xml_sax2_handler.h +12 -0
  175. data/ext/libxml/ruby_xml_sax2_handler.o +0 -0
  176. data/ext/libxml/ruby_xml_sax_parser.c +137 -0
  177. data/ext/libxml/ruby_xml_sax_parser.h +12 -0
  178. data/ext/libxml/ruby_xml_sax_parser.o +0 -0
  179. data/ext/libxml/ruby_xml_schema.c +159 -0
  180. data/ext/libxml/ruby_xml_schema.h +11 -0
  181. data/ext/libxml/ruby_xml_schema.o +0 -0
  182. data/ext/libxml/ruby_xml_version.h +9 -0
  183. data/ext/libxml/ruby_xml_xinclude.c +18 -0
  184. data/ext/libxml/ruby_xml_xinclude.h +13 -0
  185. data/ext/libxml/ruby_xml_xinclude.o +0 -0
  186. data/ext/libxml/ruby_xml_xpath.c +107 -0
  187. data/ext/libxml/ruby_xml_xpath.h +12 -0
  188. data/ext/libxml/ruby_xml_xpath.o +0 -0
  189. data/ext/libxml/ruby_xml_xpath_context.c +387 -0
  190. data/ext/libxml/ruby_xml_xpath_context.h +11 -0
  191. data/ext/libxml/ruby_xml_xpath_context.o +0 -0
  192. data/ext/libxml/ruby_xml_xpath_expression.c +83 -0
  193. data/ext/libxml/ruby_xml_xpath_expression.h +12 -0
  194. data/ext/libxml/ruby_xml_xpath_expression.o +0 -0
  195. data/ext/libxml/ruby_xml_xpath_object.c +336 -0
  196. data/ext/libxml/ruby_xml_xpath_object.h +19 -0
  197. data/ext/libxml/ruby_xml_xpath_object.o +0 -0
  198. data/ext/libxml/ruby_xml_xpointer.c +101 -0
  199. data/ext/libxml/ruby_xml_xpointer.h +13 -0
  200. data/ext/libxml/ruby_xml_xpointer.o +0 -0
  201. data/ext/mingw/Rakefile +34 -0
  202. data/ext/mingw/build.rake +41 -0
  203. data/ext/vc/libxml_ruby.sln +26 -0
  204. data/lib/libxml.rb +30 -0
  205. data/lib/libxml/attr.rb +111 -0
  206. data/lib/libxml/attr_decl.rb +78 -0
  207. data/lib/libxml/attributes.rb +12 -0
  208. data/lib/libxml/document.rb +190 -0
  209. data/lib/libxml/error.rb +88 -0
  210. data/lib/libxml/hpricot.rb +76 -0
  211. data/lib/libxml/html_parser.rb +94 -0
  212. data/lib/libxml/namespace.rb +60 -0
  213. data/lib/libxml/namespaces.rb +36 -0
  214. data/lib/libxml/node.rb +385 -0
  215. data/lib/libxml/ns.rb +20 -0
  216. data/lib/libxml/parser.rb +365 -0
  217. data/lib/libxml/properties.rb +21 -0
  218. data/lib/libxml/reader.rb +27 -0
  219. data/lib/libxml/sax_callbacks.rb +178 -0
  220. data/lib/libxml/sax_parser.rb +56 -0
  221. data/lib/libxml/tree.rb +27 -0
  222. data/lib/libxml/xpath_object.rb +14 -0
  223. data/lib/xml.rb +14 -0
  224. data/lib/xml/libxml.rb +8 -0
  225. data/setup.rb +1585 -0
  226. data/test/etc_doc_to_s.rb +19 -0
  227. data/test/ets_doc_file.rb +15 -0
  228. data/test/ets_doc_to_s.rb +21 -0
  229. data/test/ets_gpx.rb +26 -0
  230. data/test/ets_node_gc.rb +21 -0
  231. data/test/ets_test.xml +2 -0
  232. data/test/ets_tsr.rb +9 -0
  233. data/test/model/atom.xml +13 -0
  234. data/test/model/bands.xml +5 -0
  235. data/test/model/books.xml +146 -0
  236. data/test/model/merge_bug_data.xml +58 -0
  237. data/test/model/ruby-lang.html +238 -0
  238. data/test/model/rubynet.xml +79 -0
  239. data/test/model/rubynet_project +1 -0
  240. data/test/model/shiporder.rnc +28 -0
  241. data/test/model/shiporder.rng +86 -0
  242. data/test/model/shiporder.xml +23 -0
  243. data/test/model/shiporder.xsd +31 -0
  244. data/test/model/soap.xml +27 -0
  245. data/test/model/xinclude.xml +5 -0
  246. data/test/tc_attr.rb +170 -0
  247. data/test/tc_attr_decl.rb +131 -0
  248. data/test/tc_attributes.rb +133 -0
  249. data/test/tc_deprecated_require.rb +11 -0
  250. data/test/tc_document.rb +113 -0
  251. data/test/tc_document_write.rb +118 -0
  252. data/test/tc_dtd.rb +123 -0
  253. data/test/tc_error.rb +136 -0
  254. data/test/tc_html_parser.rb +138 -0
  255. data/test/tc_namespace.rb +59 -0
  256. data/test/tc_namespaces.rb +174 -0
  257. data/test/tc_node.rb +181 -0
  258. data/test/tc_node_cdata.rb +49 -0
  259. data/test/tc_node_comment.rb +30 -0
  260. data/test/tc_node_copy.rb +40 -0
  261. data/test/tc_node_edit.rb +158 -0
  262. data/test/tc_node_text.rb +69 -0
  263. data/test/tc_node_write.rb +83 -0
  264. data/test/tc_node_xlink.rb +26 -0
  265. data/test/tc_parser.rb +330 -0
  266. data/test/tc_parser_context.rb +186 -0
  267. data/test/tc_properties.rb +36 -0
  268. data/test/tc_reader.rb +284 -0
  269. data/test/tc_relaxng.rb +51 -0
  270. data/test/tc_sax_parser.rb +274 -0
  271. data/test/tc_schema.rb +51 -0
  272. data/test/tc_traversal.rb +220 -0
  273. data/test/tc_xinclude.rb +19 -0
  274. data/test/tc_xml.rb +224 -0
  275. data/test/tc_xpath.rb +193 -0
  276. data/test/tc_xpath_context.rb +78 -0
  277. data/test/tc_xpath_expression.rb +35 -0
  278. data/test/tc_xpointer.rb +72 -0
  279. data/test/test_suite.rb +33 -0
  280. metadata +376 -0
@@ -0,0 +1,131 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>File: LICENSE</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="fileHeader">
50
+ <h1>LICENSE</h1>
51
+ <table class="header-table">
52
+ <tr class="top-aligned-row">
53
+ <td><strong>Path:</strong></td>
54
+ <td>LICENSE
55
+ </td>
56
+ </tr>
57
+ <tr class="top-aligned-row">
58
+ <td><strong>Last Update:</strong></td>
59
+ <td>Mon Apr 12 16:42:52 -0700 2010</td>
60
+ </tr>
61
+ </table>
62
+ </div>
63
+ <!-- banner header -->
64
+
65
+ <div id="bodyContent">
66
+
67
+
68
+
69
+ <div id="contextContent">
70
+
71
+ <div id="description">
72
+ <pre>
73
+ Copyright (c) 2008-2009 Charlie Savage and contributors
74
+ Copyright (c) 2002-2007 Sean Chittenden and contributors
75
+ Copyright (c) 2001 Wai-Sun &quot;Squidster&quot; Chia
76
+ </pre>
77
+ <p>
78
+ Permission is hereby granted, free of charge, to any person obtaining a
79
+ copy of this software and associated documentation files (the
80
+ &quot;Software&quot;), to deal in the Software without restriction,
81
+ including without limitation the rights to use, copy, modify, merge,
82
+ publish, distribute, sublicense, and/or sell copies of the Software, and to
83
+ permit persons to whom the Software is furnished to do so, subject to the
84
+ following conditions:
85
+ </p>
86
+ <p>
87
+ The above copyright notice and this permission notice shall be included in
88
+ all copies or substantial portions of the Software.
89
+ </p>
90
+ <p>
91
+ THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,
92
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
93
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
94
+ NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
95
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
96
+ OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
97
+ USE OR OTHER DEALINGS IN THE SOFTWARE.
98
+ </p>
99
+
100
+ </div>
101
+
102
+
103
+ </div>
104
+
105
+
106
+ </div>
107
+
108
+
109
+ <!-- if includes -->
110
+
111
+ <div id="section">
112
+
113
+
114
+
115
+
116
+
117
+
118
+
119
+
120
+ <!-- if method_list -->
121
+
122
+
123
+ </div>
124
+
125
+
126
+ <div id="validator-badges">
127
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
128
+ </div>
129
+
130
+ </body>
131
+ </html>
@@ -0,0 +1,343 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>File: README</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="fileHeader">
50
+ <h1>README</h1>
51
+ <table class="header-table">
52
+ <tr class="top-aligned-row">
53
+ <td><strong>Path:</strong></td>
54
+ <td>README
55
+ </td>
56
+ </tr>
57
+ <tr class="top-aligned-row">
58
+ <td><strong>Last Update:</strong></td>
59
+ <td>Mon Apr 12 16:42:52 -0700 2010</td>
60
+ </tr>
61
+ </table>
62
+ </div>
63
+ <!-- banner header -->
64
+
65
+ <div id="bodyContent">
66
+
67
+
68
+
69
+ <div id="contextContent">
70
+
71
+ <div id="description">
72
+ <h1><a href="../classes/LibXML.html">LibXML</a> Ruby</h1>
73
+ <h2>Overview</h2>
74
+ <p>
75
+ The libxml gem provides Ruby language bindings for GNOME&#8216;s Libxml2
76
+ XML toolkit. It is free software, released under the MIT License.
77
+ </p>
78
+ <p>
79
+ We think libxml-ruby is the best XML library for Ruby because:
80
+ </p>
81
+ <ul>
82
+ <li>Speed - Its much faster than REXML and Hpricot
83
+
84
+ </li>
85
+ <li>Features - It provides an amazing number of featues
86
+
87
+ </li>
88
+ <li>Conformance - It passes all 1800+ tests from the OASIS XML Tests Suite
89
+
90
+ </li>
91
+ </ul>
92
+ <h2>Requirements</h2>
93
+ <p>
94
+ libxml-ruby requires Ruby 1.8.4 or higher. It is dependent on the following
95
+ libraries to function properly:
96
+ </p>
97
+ <ul>
98
+ <li>libm (math routines: very standard)
99
+
100
+ </li>
101
+ <li>libz (zlib)
102
+
103
+ </li>
104
+ <li>libiconv
105
+
106
+ </li>
107
+ <li>libxml2
108
+
109
+ </li>
110
+ </ul>
111
+ <p>
112
+ If you are running Linux or Unix you&#8216;ll need a C compiler so the
113
+ extension can be compiled when it is installed. If you are running Windows,
114
+ then install the Windows specific RubyGem which includes an already built
115
+ extension.
116
+ </p>
117
+ <h2>INSTALLATION</h2>
118
+ <p>
119
+ The easiest way to install libxml-ruby is via Ruby Gems. To install:
120
+ </p>
121
+ <p>
122
+ <tt>gem install libxml-ruby</tt>
123
+ </p>
124
+ <p>
125
+ If you are running Windows, make sure to install the Win32 RubyGem which
126
+ includes an already built binary file. The binary is built against libxml2
127
+ version 2.7.2 and iconv version 1.11. Both of these are also included as
128
+ pre-built binaries, and should be put either in the libxml/lib directory or
129
+ on the Windows path. Due to a bug in ruby-gems, you cannot install the gem
130
+ to a path that contains spaces (see <a
131
+ href="http://rubyforge.org/tracker/?func=detail&aid=23003&group_id=126&atid=577">rubyforge.org/tracker/?func=detail&aid=23003&group_id=126&atid=577</a>).
132
+ </p>
133
+ <p>
134
+ The Windows binaries are built with MingW and include libxml-ruby, libxml2
135
+ and iconv. The gem also includes a Microsoft VC++ 2008 solution. If you
136
+ wish to run a debug version of libxml-ruby on Windows, then it is highly
137
+ recommended you use VC++.
138
+ </p>
139
+ <h2>Getting Started</h2>
140
+ <p>
141
+ Using libxml is easy. First decide what parser you want to use:
142
+ </p>
143
+ <ul>
144
+ <li>Generally you&#8216;ll want to use the <a
145
+ href="../classes/LibXML/XML/Parser.html">LibXML::XML::Parser</a> which
146
+ provides a tree based API.
147
+
148
+ </li>
149
+ <li>For larger documents that don&#8216;t fit into memory, or if you prefer an
150
+ input based API, use the <a
151
+ href="../classes/LibXML/XML/Reader.html">LibXML::XML::Reader</a>.
152
+
153
+ </li>
154
+ <li>To parse HTML files use <a
155
+ href="../classes/LibXML/XML/HTMLParser.html">LibXML::XML::HTMLParser</a>.
156
+
157
+ </li>
158
+ <li>If you are masochistic, then use the <a
159
+ href="../classes/LibXML/XML/SaxParser.html">LibXML::XML::SaxParser</a>,
160
+ which provides a callback API.
161
+
162
+ </li>
163
+ </ul>
164
+ <p>
165
+ Once you have choosen a parser, choose a datasource. Libxml can parse
166
+ files, strings, URIs and IO streams. For each data source you can specify
167
+ an LibXML::XML::Encoding, a base uri and various parser options. For more
168
+ information, refer the LibXML::XML::Parser.document,
169
+ LibXML::XML::Parser.file, LibXML::XML::Parser.io or <a
170
+ href="../classes/LibXML.html">LibXML</a>:::XML::Parser.string methods (the
171
+ same methods are defined on all four parser classes).
172
+ </p>
173
+ <h2>Advanced Functionality</h2>
174
+ <p>
175
+ Beyond the basics of parsing and processing XML and HTML documents, libxml
176
+ provides a wealth of additional functionality.
177
+ </p>
178
+ <p>
179
+ Most commonly, you&#8216;ll want to use its <a
180
+ href="../classes/LibXML/XML/XPath.html">LibXML::XML::XPath</a> support,
181
+ which makes it easy to find data inside a XML document. Although not as
182
+ popular, LibXML::XML::XPointer provides another API for finding data inside
183
+ an XML document.
184
+ </p>
185
+ <p>
186
+ Often times you&#8216;ll need to validate data before processing it. For
187
+ example, if you accept user generated content submitted over the Web,
188
+ you&#8216;ll want to verify that it does not contain malicious code such as
189
+ embedded scripts. This can be done using libxml&#8216;s powerful set of
190
+ validators:
191
+ </p>
192
+ <ul>
193
+ <li>DTDs (LibXML::XML::Dtd)
194
+
195
+ </li>
196
+ <li>Relax Schemas (LibXML::XML::RelaxNG)
197
+
198
+ </li>
199
+ <li>XML Schema (LibXML::XML::Schema)
200
+
201
+ </li>
202
+ </ul>
203
+ <p>
204
+ Finally, if you&#8216;d like to use XSL Transformations to process data,
205
+ then install the libxslt gem which is available at <a
206
+ href="http://rubyforge.org/projects/libxsl">rubyforge.org/projects/libxsl</a>/.
207
+ </p>
208
+ <h2>Usage</h2>
209
+ <p>
210
+ For in-depth information about using libxml-ruby please refer to its online
211
+ Rdoc documentation.
212
+ </p>
213
+ <p>
214
+ All libxml classes are in the <a
215
+ href="../classes/LibXML/XML.html">LibXML::XML</a> module. The easiest way
216
+ to use libxml is to require &#8216;xml&#8217;. This will mixin the <a
217
+ href="../classes/LibXML.html">LibXML</a> module into the global namespace,
218
+ allowing you to write code like this:
219
+ </p>
220
+ <pre>
221
+ require 'xml'
222
+ document = XML::Document.new
223
+ </pre>
224
+ <p>
225
+ However, when creating an application or library you plan to redistribute,
226
+ it is best to not add the <a href="../classes/LibXML.html">LibXML</a>
227
+ module to the global namespace, in which case you can either write your
228
+ code like this:
229
+ </p>
230
+ <pre>
231
+ require 'libxml'
232
+ document = LibXML::XML::Document.new
233
+ </pre>
234
+ <p>
235
+ Or you can utilize a namespace for you own work and include <a
236
+ href="../classes/LibXML.html">LibXML</a> into it. For example:
237
+ </p>
238
+ <pre>
239
+ require 'libxml'
240
+
241
+ mdoule MyApplication
242
+ include LibXML
243
+
244
+ class MyClass
245
+ def some_method
246
+ document = XML::Document.new
247
+ end
248
+ end
249
+ end
250
+ </pre>
251
+ <p>
252
+ For simplicity&#8216;s sake, the documentation uses the xml module in its
253
+ examples.
254
+ </p>
255
+ <h2>Performance</h2>
256
+ <p>
257
+ In addition to being feature rich and conformation, the main reason people
258
+ use libxml-ruby is for performance. Here are the results of a couple simple
259
+ benchmarks recently blogged about on the Web (you can find them in the
260
+ benchmark directory of the libxml distribution).
261
+ </p>
262
+ <p>
263
+ From <a
264
+ href="http://depixelate.com/2008/4/23/ruby-xml-parsing-benchmarks">depixelate.com/2008/4/23/ruby-xml-parsing-benchmarks</a>
265
+ </p>
266
+ <pre>
267
+ user system total real
268
+ libxml 0.032000 0.000000 0.032000 ( 0.031000)
269
+ Hpricot 0.640000 0.031000 0.671000 ( 0.890000)
270
+ REXML 1.813000 0.047000 1.860000 ( 2.031000)
271
+ </pre>
272
+ <p>
273
+ From <a
274
+ href="https://svn.concord.org/svn/projects/trunk/common/ruby/xml_benchmarks">svn.concord.org/svn/projects/trunk/common/ruby/xml_benchmarks</a>/
275
+ </p>
276
+ <pre>
277
+ user system total real
278
+ libxml 0.641000 0.031000 0.672000 ( 0.672000)
279
+ hpricot 5.359000 0.062000 5.421000 ( 5.516000)
280
+ rexml 22.859000 0.047000 22.906000 ( 23.203000)
281
+ </pre>
282
+ <h2>Documentation</h2>
283
+ <p>
284
+ Documentation is provided via rdoc. To generate the documentation, run the
285
+ the command &#8216;rake doc&#8217;. libxml-ruby&#8216;s online
286
+ documentation is generated using Hanna. To use hanna:
287
+ </p>
288
+ <pre>
289
+ gem install mislav-hanna
290
+ rake rdoc RDOCOPT=&quot;-S -T hanna&quot;
291
+ </pre>
292
+ <p>
293
+ Note that older versions of Rdoc, which ship with Ruby 1.8.x, will report a
294
+ number of errors. To avoid them, install Rdoc 2.1 or higher from RubyForge
295
+ (<a href="http://rdoc.rubyforge.org">rdoc.rubyforge.org</a>/). Once you
296
+ have installed the gem, you&#8216;ll have to disable the version of Rdoc
297
+ that Ruby 1.8.x includes. An easy way to do that is rename the directory
298
+ uby/lib/ruby/1.8/rdoc to ruby/lib/ruby/1.8/rdoc_old.
299
+ </p>
300
+ <h2>Support</h2>
301
+ <p>
302
+ If you have any questions about using libxml-ruby, please send them to
303
+ libxml-devel@rubyforge.org. If you have found any bugs in libxml-devel, or
304
+ have developed new patches, please submit them to Ruby Forge at <a
305
+ href="http://rubyforge.org/tracker/?group_id=494">rubyforge.org/tracker/?group_id=494</a>.
306
+ </p>
307
+ <h2>License</h2>
308
+ <p>
309
+ See LICENSE for license information.
310
+ </p>
311
+
312
+ </div>
313
+
314
+
315
+ </div>
316
+
317
+
318
+ </div>
319
+
320
+
321
+ <!-- if includes -->
322
+
323
+ <div id="section">
324
+
325
+
326
+
327
+
328
+
329
+
330
+
331
+
332
+ <!-- if method_list -->
333
+
334
+
335
+ </div>
336
+
337
+
338
+ <div id="validator-badges">
339
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
340
+ </div>
341
+
342
+ </body>
343
+ </html>