libxml-ruby 0.8.3 → 0.9.0

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 (168) hide show
  1. data/CHANGES +18 -0
  2. data/RAKEFILE +15 -39
  3. data/README +48 -47
  4. data/ext/libxml/libxml.c +847 -22
  5. data/ext/libxml/ruby_libxml.h +71 -95
  6. data/ext/libxml/ruby_xml_attr.c +500 -500
  7. data/ext/libxml/ruby_xml_attributes.c +1 -1
  8. data/ext/libxml/ruby_xml_document.c +1144 -1135
  9. data/ext/libxml/ruby_xml_document.h +4 -11
  10. data/ext/libxml/ruby_xml_dtd.c +27 -0
  11. data/ext/libxml/ruby_xml_encoding.c +164 -0
  12. data/ext/libxml/ruby_xml_encoding.h +13 -0
  13. data/ext/libxml/ruby_xml_error.c +941 -0
  14. data/ext/libxml/ruby_xml_error.h +13 -0
  15. data/ext/libxml/ruby_xml_html_parser.c +71 -387
  16. data/ext/libxml/ruby_xml_html_parser.h +1 -17
  17. data/ext/libxml/ruby_xml_input.c +179 -0
  18. data/ext/libxml/ruby_xml_input.h +18 -0
  19. data/ext/libxml/ruby_xml_input_cbg.c +17 -3
  20. data/ext/libxml/ruby_xml_node.c +1566 -1582
  21. data/ext/libxml/ruby_xml_node.h +1 -4
  22. data/ext/libxml/ruby_xml_ns.c +14 -3
  23. data/ext/libxml/ruby_xml_parser.c +164 -1398
  24. data/ext/libxml/ruby_xml_parser.h +5 -17
  25. data/ext/libxml/ruby_xml_parser_context.c +131 -169
  26. data/ext/libxml/ruby_xml_parser_context.h +2 -9
  27. data/ext/libxml/ruby_xml_reader.c +910 -945
  28. data/ext/libxml/ruby_xml_relaxng.c +32 -3
  29. data/ext/libxml/ruby_xml_sax_parser.c +106 -364
  30. data/ext/libxml/ruby_xml_sax_parser.h +1 -37
  31. data/ext/libxml/ruby_xml_schema.c +174 -145
  32. data/ext/libxml/ruby_xml_xinclude.c +9 -5
  33. data/ext/libxml/ruby_xml_xpath.c +25 -6
  34. data/ext/libxml/ruby_xml_xpath.h +1 -2
  35. data/ext/libxml/ruby_xml_xpath_context.c +17 -19
  36. data/ext/libxml/ruby_xml_xpath_object.c +60 -56
  37. data/ext/libxml/ruby_xml_xpointer.c +11 -5
  38. data/ext/libxml/sax_parser_callbacks.inc +42 -37
  39. data/ext/libxml/version.h +3 -3
  40. data/ext/mingw/Rakefile +20 -27
  41. data/ext/mingw/build.rake +41 -0
  42. data/ext/vc/libxml_ruby.vcproj +23 -15
  43. data/lib/libxml.rb +8 -2
  44. data/lib/libxml/document.rb +16 -4
  45. data/lib/libxml/error.rb +84 -0
  46. data/lib/libxml/hpricot.rb +76 -0
  47. data/lib/libxml/html_parser.rb +61 -0
  48. data/lib/libxml/node.rb +36 -25
  49. data/lib/libxml/parser.rb +312 -33
  50. data/lib/libxml/parser_context.rb +17 -0
  51. data/lib/libxml/properties.rb +15 -2
  52. data/lib/libxml/reader.rb +15 -0
  53. data/lib/libxml/sax_callbacks.rb +179 -0
  54. data/lib/libxml/sax_parser.rb +42 -0
  55. data/lib/libxml/tree.rb +1 -2
  56. data/lib/libxml/xpath_object.rb +12 -0
  57. data/test/model/atom.xml +4 -0
  58. data/test/tc_attributes.rb +43 -19
  59. data/test/tc_document.rb +1 -1
  60. data/test/tc_document_write.rb +15 -8
  61. data/test/tc_dtd.rb +36 -20
  62. data/test/tc_encoding.rb +13 -0
  63. data/test/tc_error.rb +136 -0
  64. data/test/tc_node.rb +2 -3
  65. data/test/tc_node_copy.rb +1 -1
  66. data/test/tc_node_edit.rb +6 -0
  67. data/test/tc_ns.rb +18 -0
  68. data/test/tc_parser.rb +113 -228
  69. data/test/tc_parser_context.rb +1 -2
  70. data/test/tc_reader.rb +24 -14
  71. data/test/tc_relaxng.rb +18 -6
  72. data/test/tc_sax_parser.rb +48 -13
  73. data/test/tc_schema.rb +20 -8
  74. data/test/tc_well_formed.rb +2 -1
  75. data/test/tc_xml.rb +212 -0
  76. data/test/tc_xpath.rb +60 -46
  77. data/test/tc_xpointer.rb +7 -11
  78. data/test/test_suite.rb +4 -3
  79. metadata +26 -109
  80. data/doc/rdoc/classes/LibXML.html +0 -241
  81. data/doc/rdoc/classes/LibXML/XML.html +0 -185
  82. data/doc/rdoc/classes/LibXML/XML/Attr.html +0 -1010
  83. data/doc/rdoc/classes/LibXML/XML/Attributes.html +0 -526
  84. data/doc/rdoc/classes/LibXML/XML/Document.html +0 -1489
  85. data/doc/rdoc/classes/LibXML/XML/Dtd.html +0 -213
  86. data/doc/rdoc/classes/LibXML/XML/Error.html +0 -117
  87. data/doc/rdoc/classes/LibXML/XML/HTMLParser.html +0 -348
  88. data/doc/rdoc/classes/LibXML/XML/InputCallbacks.html +0 -160
  89. data/doc/rdoc/classes/LibXML/XML/NS.html +0 -381
  90. data/doc/rdoc/classes/LibXML/XML/Node.html +0 -3396
  91. data/doc/rdoc/classes/LibXML/XML/Node/FailedModify.html +0 -123
  92. data/doc/rdoc/classes/LibXML/XML/Node/Set.html +0 -440
  93. data/doc/rdoc/classes/LibXML/XML/Node/SetNamespace.html +0 -123
  94. data/doc/rdoc/classes/LibXML/XML/Node/UnknownType.html +0 -123
  95. data/doc/rdoc/classes/LibXML/XML/Parser.html +0 -2239
  96. data/doc/rdoc/classes/LibXML/XML/Parser/Context.html +0 -1255
  97. data/doc/rdoc/classes/LibXML/XML/Parser/ParseError.html +0 -123
  98. data/doc/rdoc/classes/LibXML/XML/Reader.html +0 -2264
  99. data/doc/rdoc/classes/LibXML/XML/RelaxNG.html +0 -237
  100. data/doc/rdoc/classes/LibXML/XML/SaxParser.html +0 -415
  101. data/doc/rdoc/classes/LibXML/XML/Schema.html +0 -308
  102. data/doc/rdoc/classes/LibXML/XML/State.html +0 -124
  103. data/doc/rdoc/classes/LibXML/XML/Tree.html +0 -111
  104. data/doc/rdoc/classes/LibXML/XML/XInclude.html +0 -123
  105. data/doc/rdoc/classes/LibXML/XML/XInclude/Error.html +0 -117
  106. data/doc/rdoc/classes/LibXML/XML/XMLParserOptions.html +0 -198
  107. data/doc/rdoc/classes/LibXML/XML/XPath.html +0 -184
  108. data/doc/rdoc/classes/LibXML/XML/XPath/Context.html +0 -404
  109. data/doc/rdoc/classes/LibXML/XML/XPath/InvalidPath.html +0 -172
  110. data/doc/rdoc/classes/LibXML/XML/XPath/Object.html +0 -627
  111. data/doc/rdoc/classes/LibXML/XML/XPointer.html +0 -170
  112. data/doc/rdoc/classes/LibXML/XML/XPointer/Context.html +0 -123
  113. data/doc/rdoc/classes/LibXML/XML/XPointer/Context/InvalidPath.html +0 -117
  114. data/doc/rdoc/classes/LibXML/XML/XPointer/InvalidExpression.html +0 -124
  115. data/doc/rdoc/classes/singleton.html +0 -114
  116. data/doc/rdoc/created.rid +0 -1
  117. data/doc/rdoc/files/CHANGES.html +0 -442
  118. data/doc/rdoc/files/LICENSE.html +0 -133
  119. data/doc/rdoc/files/README.html +0 -388
  120. data/doc/rdoc/files/VERSION.html +0 -107
  121. data/doc/rdoc/files/ext/libxml/cbg_c.html +0 -101
  122. data/doc/rdoc/files/ext/libxml/libxml_c.html +0 -101
  123. data/doc/rdoc/files/ext/libxml/ruby_xml_attr_c.html +0 -101
  124. data/doc/rdoc/files/ext/libxml/ruby_xml_attributes_c.html +0 -101
  125. data/doc/rdoc/files/ext/libxml/ruby_xml_document_c.html +0 -101
  126. data/doc/rdoc/files/ext/libxml/ruby_xml_dtd_c.html +0 -101
  127. data/doc/rdoc/files/ext/libxml/ruby_xml_html_parser_c.html +0 -101
  128. data/doc/rdoc/files/ext/libxml/ruby_xml_input_cbg_c.html +0 -101
  129. data/doc/rdoc/files/ext/libxml/ruby_xml_node_c.html +0 -101
  130. data/doc/rdoc/files/ext/libxml/ruby_xml_node_set_c.html +0 -101
  131. data/doc/rdoc/files/ext/libxml/ruby_xml_ns_c.html +0 -101
  132. data/doc/rdoc/files/ext/libxml/ruby_xml_parser_c.html +0 -101
  133. data/doc/rdoc/files/ext/libxml/ruby_xml_parser_context_c.html +0 -101
  134. data/doc/rdoc/files/ext/libxml/ruby_xml_reader_c.html +0 -101
  135. data/doc/rdoc/files/ext/libxml/ruby_xml_relaxng_c.html +0 -101
  136. data/doc/rdoc/files/ext/libxml/ruby_xml_sax_parser_c.html +0 -101
  137. data/doc/rdoc/files/ext/libxml/ruby_xml_schema_c.html +0 -101
  138. data/doc/rdoc/files/ext/libxml/ruby_xml_state_c.html +0 -101
  139. data/doc/rdoc/files/ext/libxml/ruby_xml_xinclude_c.html +0 -101
  140. data/doc/rdoc/files/ext/libxml/ruby_xml_xpath_c.html +0 -101
  141. data/doc/rdoc/files/ext/libxml/ruby_xml_xpath_context_c.html +0 -101
  142. data/doc/rdoc/files/ext/libxml/ruby_xml_xpath_object_c.html +0 -101
  143. data/doc/rdoc/files/ext/libxml/ruby_xml_xpointer_c.html +0 -101
  144. data/doc/rdoc/files/ext/libxml/ruby_xml_xpointer_context_c.html +0 -101
  145. data/doc/rdoc/files/lib/libxml/attr_rb.html +0 -108
  146. data/doc/rdoc/files/lib/libxml/attributes_rb.html +0 -108
  147. data/doc/rdoc/files/lib/libxml/document_rb.html +0 -108
  148. data/doc/rdoc/files/lib/libxml/node_rb.html +0 -108
  149. data/doc/rdoc/files/lib/libxml/node_set_rb.html +0 -108
  150. data/doc/rdoc/files/lib/libxml/parser_options_rb.html +0 -107
  151. data/doc/rdoc/files/lib/libxml/parser_rb.html +0 -101
  152. data/doc/rdoc/files/lib/libxml/properties_rb.html +0 -108
  153. data/doc/rdoc/files/lib/libxml/tree_rb.html +0 -107
  154. data/doc/rdoc/files/lib/libxml_rb.html +0 -124
  155. data/doc/rdoc/files/lib/xml/libxml_rb.html +0 -124
  156. data/doc/rdoc/files/lib/xml_rb.html +0 -134
  157. data/doc/rdoc/fr_class_index.html +0 -62
  158. data/doc/rdoc/fr_file_index.html +0 -66
  159. data/doc/rdoc/fr_method_index.html +0 -392
  160. data/doc/rdoc/index.html +0 -24
  161. data/doc/rdoc/rdoc-style.css +0 -208
  162. data/ext/libxml/ruby_xml_node_set.c +0 -172
  163. data/ext/libxml/ruby_xml_node_set.h +0 -20
  164. data/ext/libxml/ruby_xml_xpointer_context.c +0 -22
  165. data/ext/libxml/ruby_xml_xpointer_context.h +0 -18
  166. data/lib/libxml/node_set.rb +0 -27
  167. data/test/tc_node_set.rb +0 -24
  168. data/test/tc_node_set2.rb +0 -37
@@ -1,627 +0,0 @@
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>Class: LibXML::XML::XPath::Object</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="classHeader">
50
- <table class="header-table">
51
- <tr class="top-aligned-row">
52
- <td><strong>Class</strong></td>
53
- <td class="class-name-in-header">LibXML::XML::XPath::Object</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../../../../files/ext/libxml/ruby_xml_xpath_c.html">
59
- ext/libxml/ruby_xml_xpath.c
60
- </a>
61
- <br />
62
- </td>
63
- </tr>
64
-
65
- <tr class="top-aligned-row">
66
- <td><strong>Parent:</strong></td>
67
- <td>
68
- <a href="Object.html">
69
- Object
70
- </a>
71
- </td>
72
- </tr>
73
- </table>
74
- </div>
75
- <!-- banner header -->
76
-
77
- <div id="bodyContent">
78
-
79
-
80
-
81
- <div id="contextContent">
82
-
83
- <div id="description">
84
- <p>
85
- A collection of nodes returned from the evaluation of an <a
86
- href="../XPath.html">XML::XPath</a> or <a
87
- href="../XPointer.html">XML::XPointer</a> expression.
88
- </p>
89
-
90
- </div>
91
-
92
-
93
- </div>
94
-
95
- <div id="method-list">
96
- <h3 class="section-bar">Methods</h3>
97
-
98
- <div class="name-list">
99
- <a href="#M000014">[]</a>&nbsp;&nbsp;
100
- <a href="#M000016">debug</a>&nbsp;&nbsp;
101
- <a href="#M000007">each</a>&nbsp;&nbsp;
102
- <a href="#M000009">empty?</a>&nbsp;&nbsp;
103
- <a href="#M000010">first</a>&nbsp;&nbsp;
104
- <a href="#M000011">length</a>&nbsp;&nbsp;
105
- <a href="#M000017">set</a>&nbsp;&nbsp;
106
- <a href="#M000012">size</a>&nbsp;&nbsp;
107
- <a href="#M000015">string</a>&nbsp;&nbsp;
108
- <a href="#M000013">to_a</a>&nbsp;&nbsp;
109
- <a href="#M000008">xpath_type</a>&nbsp;&nbsp;
110
- </div>
111
- </div>
112
-
113
- </div>
114
-
115
-
116
- <!-- if includes -->
117
- <div id="includes">
118
- <h3 class="section-bar">Included Modules</h3>
119
-
120
- <div id="includes-list">
121
- <span class="include-name">Enumerable</span>
122
- </div>
123
- </div>
124
-
125
- <div id="section">
126
-
127
-
128
-
129
-
130
-
131
- <div id="attribute-list">
132
- <h3 class="section-bar">Attributes</h3>
133
-
134
- <div class="name-list">
135
- <table>
136
- <tr class="top-aligned-row context-row">
137
- <td class="context-item-name">context</td>
138
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
139
- <td class="context-item-desc"></td>
140
- </tr>
141
- </table>
142
- </div>
143
- </div>
144
-
145
-
146
-
147
- <!-- if method_list -->
148
- <div id="methods">
149
- <h3 class="section-bar">Public Instance methods</h3>
150
-
151
- <div id="method-M000014" class="method-detail">
152
- <a name="M000014"></a>
153
-
154
- <div class="method-heading">
155
- <a href="#M000014" class="method-signature">
156
- <span class="method-name">xpath_object[i] &rarr; node<br />
157
- </span>
158
- </a>
159
- </div>
160
-
161
- <div class="method-description">
162
- <p>
163
- array index into <a href="Object.html#M000017">set</a> of nodes
164
- </p>
165
- <p><a class="source-toggle" href="#"
166
- onclick="toggleCode('M000014-source');return false;">[Source]</a></p>
167
- <div class="method-source-code" id="M000014-source">
168
- <pre>
169
- /*
170
- * call-seq:
171
- * xpath_object[i] -&gt; node
172
- *
173
- * array index into set of nodes
174
- */
175
- VALUE
176
- ruby_xml_xpath_object_aref(VALUE self, VALUE aref) {
177
-
178
- </pre>
179
- </div>
180
- </div>
181
- </div>
182
-
183
- <div id="method-M000016" class="method-detail">
184
- <a name="M000016"></a>
185
-
186
- <div class="method-heading">
187
- <a href="#M000016" class="method-signature">
188
- <span class="method-name">nodes.debug &rarr; (true|false)<br />
189
- </span>
190
- </a>
191
- </div>
192
-
193
- <div class="method-description">
194
- <p>
195
- Dump libxml debugging information to stdout. Requires Libxml be compiled
196
- with debugging enabled.
197
- </p>
198
- <p><a class="source-toggle" href="#"
199
- onclick="toggleCode('M000016-source');return false;">[Source]</a></p>
200
- <div class="method-source-code" id="M000016-source">
201
- <pre>
202
- /*
203
- * call-seq:
204
- * nodes.debug -&gt; (true|false)
205
- *
206
- * Dump libxml debugging information to stdout.
207
- * Requires Libxml be compiled with debugging enabled.
208
- */
209
- VALUE
210
- ruby_xml_xpath_object_debug(VALUE self) {
211
-
212
- </pre>
213
- </div>
214
- </div>
215
- </div>
216
-
217
- <div id="method-M000007" class="method-detail">
218
- <a name="M000007"></a>
219
-
220
- <div class="method-heading">
221
- <a href="#M000007" class="method-signature">
222
- <span class="method-name">xpath_object.each { |node| ... } &rarr; self<br />
223
- </span>
224
- </a>
225
- </div>
226
-
227
- <div class="method-description">
228
- <p>
229
- Call the supplied block for <a href="Object.html#M000007">each</a> node in
230
- this <a href="Object.html#M000017">set</a>.
231
- </p>
232
- <p><a class="source-toggle" href="#"
233
- onclick="toggleCode('M000007-source');return false;">[Source]</a></p>
234
- <div class="method-source-code" id="M000007-source">
235
- <pre>
236
- /*
237
- * call-seq:
238
- * xpath_object.each { |node| ... } -&gt; self
239
- *
240
- * Call the supplied block for each node in this set.
241
- */
242
- VALUE
243
- ruby_xml_xpath_object_each(VALUE self)
244
- {
245
- xmlXPathObjectPtr xpop;
246
- int i;
247
-
248
- if ( ruby_xml_xpath_object_empty_q(self) == Qtrue )
249
- return Qnil;
250
-
251
- Data_Get_Struct(self,xmlXPathObject,xpop);
252
-
253
- for (i = 0; i &lt; xpop-&gt;nodesetval-&gt;nodeNr; i++) {
254
- rb_yield(ruby_xml_xpath_object_tabref(xpop,i));
255
- }
256
- return(self);
257
- }
258
- </pre>
259
- </div>
260
- </div>
261
- </div>
262
-
263
- <div id="method-M000009" class="method-detail">
264
- <a name="M000009"></a>
265
-
266
- <div class="method-heading">
267
- <a href="#M000009" class="method-signature">
268
- <span class="method-name">xpath_object.empty? &rarr; (true|false)<br />
269
- </span>
270
- </a>
271
- </div>
272
-
273
- <div class="method-description">
274
- <p>
275
- Determine whether this nodeset is empty (contains no nodes).
276
- </p>
277
- <p><a class="source-toggle" href="#"
278
- onclick="toggleCode('M000009-source');return false;">[Source]</a></p>
279
- <div class="method-source-code" id="M000009-source">
280
- <pre>
281
- /*
282
- * call-seq:
283
- * xpath_object.empty? -&gt; (true|false)
284
- *
285
- * Determine whether this nodeset is empty (contains no nodes).
286
- */
287
- VALUE
288
- ruby_xml_xpath_object_empty_q(VALUE self) {
289
-
290
- </pre>
291
- </div>
292
- </div>
293
- </div>
294
-
295
- <div id="method-M000010" class="method-detail">
296
- <a name="M000010"></a>
297
-
298
- <div class="method-heading">
299
- <a href="#M000010" class="method-signature">
300
- <span class="method-name">xpath_object.first &rarr; node<br />
301
- </span>
302
- </a>
303
- </div>
304
-
305
- <div class="method-description">
306
- <p>
307
- Returns the <a href="Object.html#M000010">first</a> node in this node <a
308
- href="Object.html#M000017">set</a>, or nil if none exist.
309
- </p>
310
- <p><a class="source-toggle" href="#"
311
- onclick="toggleCode('M000010-source');return false;">[Source]</a></p>
312
- <div class="method-source-code" id="M000010-source">
313
- <pre>
314
- /*
315
- * call-seq:
316
- * xpath_object.first -&gt; node
317
- *
318
- * Returns the first node in this node set, or nil if none exist.
319
- */
320
- VALUE
321
- ruby_xml_xpath_object_first(VALUE self) {
322
-
323
- </pre>
324
- </div>
325
- </div>
326
- </div>
327
-
328
- <div id="method-M000011" class="method-detail">
329
- <a name="M000011"></a>
330
-
331
- <div class="method-heading">
332
- <a href="#M000011" class="method-signature">
333
- <span class="method-name">xpath_object.length &rarr; num<br />
334
- </span>
335
- </a>
336
- </div>
337
-
338
- <div class="method-description">
339
- <p>
340
- Obtain the <a href="Object.html#M000011">length</a> of the nodesetval node
341
- list.
342
- </p>
343
- <p><a class="source-toggle" href="#"
344
- onclick="toggleCode('M000011-source');return false;">[Source]</a></p>
345
- <div class="method-source-code" id="M000011-source">
346
- <pre>
347
- /*
348
- * call-seq:
349
- * xpath_object.length -&gt; num
350
- *
351
- * Obtain the length of the nodesetval node list.
352
- */
353
- VALUE
354
- ruby_xml_xpath_object_length(VALUE self) {
355
-
356
- </pre>
357
- </div>
358
- </div>
359
- </div>
360
-
361
- <div id="method-M000017" class="method-detail">
362
- <a name="M000017"></a>
363
-
364
- <div class="method-heading">
365
- <a href="#M000017" class="method-signature">
366
- <span class="method-name">xpath_object.set &rarr; Node::Set<br />
367
- </span>
368
- </a>
369
- </div>
370
-
371
- <div class="method-description">
372
- <p>
373
- Obtain the previous type object which is really just a proxy back to this
374
- object. Unless the type is not a NODESET, in which case it is nil.
375
- </p>
376
- <p><a class="source-toggle" href="#"
377
- onclick="toggleCode('M000017-source');return false;">[Source]</a></p>
378
- <div class="method-source-code" id="M000017-source">
379
- <pre>
380
- /*
381
- * call-seq:
382
- * xpath_object.set -&gt; Node::Set
383
- *
384
- * Obtain the previous type object which is really
385
- * just a proxy back to this object. Unless the
386
- * type is not a NODESET, in which case it is nil.
387
- */
388
- VALUE
389
- ruby_xml_xpath_object_set(VALUE self)
390
- {
391
- xmlXPathObjectPtr xpop;
392
- VALUE r;
393
-
394
- Data_Get_Struct(self,xmlXPathObject,xpop);
395
- r=Qnil;
396
-
397
- if (xpop-&gt;type == XPATH_NODESET)
398
- r=ruby_xml_node_set_new2(self);
399
-
400
- return r;
401
- }
402
- </pre>
403
- </div>
404
- </div>
405
- </div>
406
-
407
- <div id="method-M000012" class="method-detail">
408
- <a name="M000012"></a>
409
-
410
- <div class="method-heading">
411
- <a href="#M000012" class="method-signature">
412
- <span class="method-name">xpath_object.length &rarr; num<br />
413
- </span>
414
- </a>
415
- </div>
416
-
417
- <div class="method-description">
418
- <p>
419
- Obtain the <a href="Object.html#M000011">length</a> of the nodesetval node
420
- list.
421
- </p>
422
- <p><a class="source-toggle" href="#"
423
- onclick="toggleCode('M000012-source');return false;">[Source]</a></p>
424
- <div class="method-source-code" id="M000012-source">
425
- <pre>
426
- /*
427
- * call-seq:
428
- * xpath_object.length -&gt; num
429
- *
430
- * Obtain the length of the nodesetval node list.
431
- */
432
- VALUE
433
- ruby_xml_xpath_object_length(VALUE self) {
434
-
435
- </pre>
436
- </div>
437
- </div>
438
- </div>
439
-
440
- <div id="method-M000015" class="method-detail">
441
- <a name="M000015"></a>
442
-
443
- <div class="method-heading">
444
- <a href="#M000015" class="method-signature">
445
- <span class="method-name">xpath_object.string &rarr; String<br />
446
- </span>
447
- </a>
448
- </div>
449
-
450
- <div class="method-description">
451
- <p>
452
- Returns the original <a href="../XPath.html">XPath</a> expression as a <a
453
- href="Object.html#M000015">string</a>.
454
- </p>
455
- <p><a class="source-toggle" href="#"
456
- onclick="toggleCode('M000015-source');return false;">[Source]</a></p>
457
- <div class="method-source-code" id="M000015-source">
458
- <pre>
459
- /*
460
- * call-seq:
461
- * xpath_object.string -&gt; String
462
- *
463
- * Returns the original XPath expression as a string.
464
- */
465
- VALUE
466
- ruby_xml_xpath_object_string(VALUE self)
467
- {
468
- xmlXPathObjectPtr xpop;
469
-
470
- Data_Get_Struct(self,xmlXPathObject,xpop);
471
-
472
- if (xpop-&gt;stringval == NULL)
473
- return Qnil;
474
-
475
- return rb_str_new2((const char*) xpop-&gt;stringval);
476
- }
477
- </pre>
478
- </div>
479
- </div>
480
- </div>
481
-
482
- <div id="method-M000013" class="method-detail">
483
- <a name="M000013"></a>
484
-
485
- <div class="method-heading">
486
- <a href="#M000013" class="method-signature">
487
- <span class="method-name">xpath_object.to_a &rarr; [node, ..., node]<br />
488
- </span>
489
- </a>
490
- </div>
491
-
492
- <div class="method-description">
493
- <p>
494
- Obtain an array of the nodes in this <a href="Object.html#M000017">set</a>.
495
- </p>
496
- <p><a class="source-toggle" href="#"
497
- onclick="toggleCode('M000013-source');return false;">[Source]</a></p>
498
- <div class="method-source-code" id="M000013-source">
499
- <pre>
500
- /*
501
- * call-seq:
502
- * xpath_object.to_a -&gt; [node, ..., node]
503
- *
504
- * Obtain an array of the nodes in this set.
505
- */
506
- VALUE
507
- ruby_xml_xpath_object_to_a(VALUE self)
508
- {
509
- VALUE set_ary, nodeobj;
510
- xmlXPathObjectPtr xpop;
511
- int i;
512
-
513
- Data_Get_Struct(self,xmlXPathObject,xpop);
514
-
515
- set_ary = rb_ary_new();
516
- if (!((xpop-&gt;nodesetval == NULL) || (xpop-&gt;nodesetval-&gt;nodeNr == 0))) {
517
- for (i = 0; i &lt; xpop-&gt;nodesetval-&gt;nodeNr; i++) {
518
- nodeobj = ruby_xml_xpath_object_tabref(xpop, i);
519
- rb_ary_push(set_ary, nodeobj);
520
- }
521
- }
522
-
523
- return(set_ary);
524
- }
525
- </pre>
526
- </div>
527
- </div>
528
- </div>
529
-
530
- <div id="method-M000008" class="method-detail">
531
- <a name="M000008"></a>
532
-
533
- <div class="method-heading">
534
- <a href="#M000008" class="method-signature">
535
- <span class="method-name">xpath_object.xpath_type &rarr; int<br />
536
- </span>
537
- </a>
538
- </div>
539
-
540
- <div class="method-description">
541
- <p>
542
- Returns the <a href="../XPath.html">XPath</a> type of the result object.
543
- Possible values are defined as constants on the <a
544
- href="../XPath.html">XML::XPath</a> class and include:
545
- </p>
546
- <ul>
547
- <li>XML::XPath::UNDEFINED
548
-
549
- </li>
550
- <li>XML::XPath::NODESET
551
-
552
- </li>
553
- <li>XML::XPath::BOOLEAN
554
-
555
- </li>
556
- <li>XML::XPath::NUMBER
557
-
558
- </li>
559
- <li>XML::XPath::STRING
560
-
561
- </li>
562
- <li>XML::XPath::POINT
563
-
564
- </li>
565
- <li>XML::XPath::RANGE
566
-
567
- </li>
568
- <li>XML::XPath::LOCATIONSET
569
-
570
- </li>
571
- <li>XML::XPath::USERS
572
-
573
- </li>
574
- <li>XML::XPath::XSLT_TREE
575
-
576
- </li>
577
- </ul>
578
- <p><a class="source-toggle" href="#"
579
- onclick="toggleCode('M000008-source');return false;">[Source]</a></p>
580
- <div class="method-source-code" id="M000008-source">
581
- <pre>
582
- /*
583
- * call-seq:
584
- * xpath_object.xpath_type -&gt; int
585
- *
586
- * Returns the XPath type of the result object.
587
- * Possible values are defined as constants
588
- * on the XML::XPath class and include:
589
- *
590
- * * XML::XPath::UNDEFINED
591
- * * XML::XPath::NODESET
592
- * * XML::XPath::BOOLEAN
593
- * * XML::XPath::NUMBER
594
- * * XML::XPath::STRING
595
- * * XML::XPath::POINT
596
- * * XML::XPath::RANGE
597
- * * XML::XPath::LOCATIONSET
598
- * * XML::XPath::USERS
599
- * * XML::XPath::XSLT_TREE
600
- */
601
- VALUE
602
- ruby_xml_xpath_object_get_type(VALUE self)
603
- {
604
- xmlXPathObjectPtr xpop;
605
-
606
- Data_Get_Struct(self,xmlXPathObject,xpop);
607
-
608
- return INT2FIX(xpop-&gt;type);
609
- }
610
- </pre>
611
- </div>
612
- </div>
613
- </div>
614
-
615
-
616
- </div>
617
-
618
-
619
- </div>
620
-
621
-
622
- <div id="validator-badges">
623
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
624
- </div>
625
-
626
- </body>
627
- </html>