libxml-ruby 0.6.0-x86-mswin32-60 → 0.7.0-x86-mswin32-60

Sign up to get free protection for your applications and to get access to all the features.
Files changed (171) hide show
  1. data/CHANGES +42 -0
  2. data/README +123 -117
  3. data/doc/classes/XML.html +226 -0
  4. data/doc/classes/XML/Attr.html +969 -0
  5. data/doc/classes/XML/Attributes.html +487 -0
  6. data/doc/classes/XML/Document.html +1423 -0
  7. data/doc/classes/XML/Dtd.html +159 -0
  8. data/doc/classes/XML/Error.html +111 -0
  9. data/doc/classes/XML/HTMLParser.html +330 -0
  10. data/doc/classes/XML/InputCallbacks.html +154 -0
  11. data/doc/classes/XML/NS.html +366 -0
  12. data/doc/classes/XML/Node.html +3292 -0
  13. data/doc/classes/XML/Node/FailedModify.html +111 -0
  14. data/doc/classes/XML/Node/Set.html +435 -0
  15. data/doc/classes/XML/Node/SetNamespace.html +111 -0
  16. data/doc/classes/XML/Node/UnknownType.html +111 -0
  17. data/doc/classes/XML/Parser.html +2178 -0
  18. data/doc/classes/XML/Parser/Context.html +1233 -0
  19. data/doc/classes/XML/Parser/ParseError.html +111 -0
  20. data/doc/classes/XML/Reader.html +2173 -0
  21. data/doc/classes/XML/SaxParser.html +396 -0
  22. data/doc/classes/XML/SiblingEnum.html +142 -0
  23. data/doc/classes/XML/State.html +118 -0
  24. data/doc/classes/XML/Tree.html +224 -0
  25. data/doc/classes/XML/XInclude.html +117 -0
  26. data/doc/classes/XML/XInclude/Error.html +111 -0
  27. data/doc/classes/XML/XMLParserOptions.html +198 -0
  28. data/doc/classes/XML/XPath.html +269 -0
  29. data/doc/classes/XML/XPath/Context.html +193 -0
  30. data/doc/classes/XML/XPath/InvalidPath.html +111 -0
  31. data/doc/classes/XML/XPath/Object.html +439 -0
  32. data/doc/classes/XML/XPointer.html +164 -0
  33. data/doc/classes/XML/XPointer/Context.html +117 -0
  34. data/doc/classes/XML/XPointer/Context/InvalidPath.html +111 -0
  35. data/doc/classes/XML/XPointer/InvalidExpression.html +111 -0
  36. data/doc/classes/singleton.html +114 -0
  37. data/doc/created.rid +1 -0
  38. data/doc/files/CHANGES.html +375 -0
  39. data/doc/files/LICENSE.html +133 -0
  40. data/doc/files/README.html +279 -0
  41. data/doc/files/VERSION.html +107 -0
  42. data/doc/files/ext/libxml/cbg_c.html +101 -0
  43. data/doc/files/ext/libxml/libxml_c.html +101 -0
  44. data/doc/files/ext/libxml/ruby_xml_attr_c.html +101 -0
  45. data/doc/files/ext/libxml/ruby_xml_attributes_c.html +101 -0
  46. data/doc/files/ext/libxml/ruby_xml_document_c.html +101 -0
  47. data/doc/files/ext/libxml/ruby_xml_dtd_c.html +101 -0
  48. data/doc/files/ext/libxml/ruby_xml_html_parser_c.html +101 -0
  49. data/doc/files/ext/libxml/ruby_xml_input_cbg_c.html +101 -0
  50. data/doc/files/ext/libxml/ruby_xml_node_c.html +101 -0
  51. data/doc/files/ext/libxml/ruby_xml_node_set_c.html +101 -0
  52. data/doc/files/ext/libxml/ruby_xml_ns_c.html +101 -0
  53. data/doc/files/ext/libxml/ruby_xml_parser_c.html +101 -0
  54. data/doc/files/ext/libxml/ruby_xml_parser_context_c.html +101 -0
  55. data/doc/files/ext/libxml/ruby_xml_reader_c.html +101 -0
  56. data/doc/files/ext/libxml/ruby_xml_sax_parser_c.html +101 -0
  57. data/doc/files/ext/libxml/ruby_xml_schema_c.html +101 -0
  58. data/doc/files/ext/libxml/ruby_xml_state_c.html +101 -0
  59. data/doc/files/ext/libxml/ruby_xml_tree_c.html +101 -0
  60. data/doc/files/ext/libxml/ruby_xml_xinclude_c.html +101 -0
  61. data/doc/files/ext/libxml/ruby_xml_xpath_c.html +101 -0
  62. data/doc/files/ext/libxml/ruby_xml_xpath_context_c.html +101 -0
  63. data/doc/files/ext/libxml/ruby_xml_xpath_object_c.html +101 -0
  64. data/doc/files/ext/libxml/ruby_xml_xpointer_c.html +101 -0
  65. data/doc/files/ext/libxml/ruby_xml_xpointer_context_c.html +101 -0
  66. data/doc/files/lib/libxml_rb.html +115 -0
  67. data/doc/files/lib/xml/libxml_rb.html +114 -0
  68. data/doc/fr_class_index.html +60 -0
  69. data/doc/fr_file_index.html +56 -0
  70. data/doc/fr_method_index.html +373 -0
  71. data/doc/index.html +24 -0
  72. data/doc/rdoc-style.css +208 -0
  73. data/ext/libxml/cbg.c +76 -76
  74. data/ext/libxml/extconf.rb +308 -308
  75. data/ext/libxml/libxml.c +58 -62
  76. data/ext/libxml/ruby_libxml.h +1 -0
  77. data/ext/libxml/ruby_xml_attr.c +201 -113
  78. data/ext/libxml/ruby_xml_attr.h +6 -9
  79. data/ext/libxml/ruby_xml_attributes.c +268 -0
  80. data/ext/libxml/ruby_xml_attributes.h +17 -0
  81. data/ext/libxml/ruby_xml_document.c +80 -66
  82. data/ext/libxml/ruby_xml_dtd.c +2 -2
  83. data/ext/libxml/ruby_xml_dtd.h +17 -17
  84. data/ext/libxml/ruby_xml_html_parser.c +18 -19
  85. data/ext/libxml/ruby_xml_html_parser.h +29 -29
  86. data/ext/libxml/ruby_xml_input_cbg.c +6 -0
  87. data/ext/libxml/ruby_xml_input_cbg.h +20 -20
  88. data/ext/libxml/ruby_xml_node.c +438 -536
  89. data/ext/libxml/ruby_xml_node.h +17 -27
  90. data/ext/libxml/ruby_xml_node_set.c +10 -9
  91. data/ext/libxml/ruby_xml_node_set.h +20 -20
  92. data/ext/libxml/ruby_xml_ns.c +60 -69
  93. data/ext/libxml/ruby_xml_ns.h +12 -21
  94. data/ext/libxml/ruby_xml_parser.c +54 -53
  95. data/ext/libxml/ruby_xml_parser.h +31 -31
  96. data/ext/libxml/ruby_xml_parser_context.c +37 -91
  97. data/ext/libxml/ruby_xml_parser_context.h +20 -22
  98. data/ext/libxml/ruby_xml_reader.h +14 -14
  99. data/ext/libxml/ruby_xml_sax_parser.c +55 -55
  100. data/ext/libxml/ruby_xml_sax_parser.h +56 -56
  101. data/ext/libxml/ruby_xml_schema.c +44 -51
  102. data/ext/libxml/ruby_xml_schema.h +16 -16
  103. data/ext/libxml/ruby_xml_state.c +35 -96
  104. data/ext/libxml/ruby_xml_state.h +2 -3
  105. data/ext/libxml/ruby_xml_tree.h +12 -12
  106. data/ext/libxml/ruby_xml_xinclude.h +13 -13
  107. data/ext/libxml/ruby_xml_xpath.c +57 -18
  108. data/ext/libxml/ruby_xml_xpath.h +23 -23
  109. data/ext/libxml/ruby_xml_xpath_context.c +11 -7
  110. data/ext/libxml/ruby_xml_xpath_context.h +20 -20
  111. data/ext/libxml/ruby_xml_xpath_object.c +9 -16
  112. data/ext/libxml/ruby_xml_xpath_object.h +4 -10
  113. data/ext/libxml/ruby_xml_xpointer.c +11 -11
  114. data/ext/libxml/ruby_xml_xpointer.h +27 -27
  115. data/ext/libxml/ruby_xml_xpointer_context.h +18 -18
  116. data/ext/libxml/version.h +2 -2
  117. data/lib/libxml.rb +134 -125
  118. data/lib/libxml_ruby.so +0 -0
  119. data/mingw/libiconv-2.dll +0 -0
  120. data/mingw/libxml2-2.dll +0 -0
  121. data/mingw/libxml_ruby.so +0 -0
  122. data/test/ets_copy_bug.rb +1 -1
  123. data/test/ets_copy_bug2.rb +16 -27
  124. data/test/ets_doc_to_s.rb +1 -1
  125. data/test/ets_gpx.rb +1 -1
  126. data/test/ets_node_gc.rb +1 -1
  127. data/test/ets_tsr.rb +1 -1
  128. data/test/tc_well_formed.rb +1 -1
  129. data/test/tc_xml_attributes.rb +106 -0
  130. data/test/tc_xml_document.rb +10 -10
  131. data/test/tc_xml_document_write3.rb +1 -1
  132. data/test/tc_xml_dtd.rb +49 -0
  133. data/test/tc_xml_html_parser.rb +3 -3
  134. data/test/tc_xml_node.rb +69 -33
  135. data/test/tc_xml_node_attr.rb +170 -0
  136. data/test/{tc_xml_node8.rb → tc_xml_node_cdata.rb} +2 -2
  137. data/test/{tc_xml_node9.rb → tc_xml_node_comment.rb} +3 -3
  138. data/test/tc_xml_node_edit.rb +91 -0
  139. data/test/tc_xml_parser.rb +97 -50
  140. data/test/tc_xml_parser_context.rb +61 -23
  141. data/test/tc_xml_schema.rb +39 -0
  142. data/test/tc_xml_xinclude.rb +5 -6
  143. data/test/tc_xml_xpath.rb +51 -27
  144. data/test/test_suite.rb +27 -0
  145. data/vc/{libxml.sln → libxml_ruby.sln} +5 -5
  146. data/vc/{libxml.vcproj → libxml_ruby.vcproj} +9 -1
  147. metadata +106 -54
  148. data/mingw/mingw.rake +0 -36
  149. data/test/dtd-test.rb +0 -24
  150. data/test/merge_bug.rb +0 -55
  151. data/test/schema-test.rb +0 -74
  152. data/test/tc_xml_node2.rb +0 -25
  153. data/test/tc_xml_node3.rb +0 -27
  154. data/test/tc_xml_node4.rb +0 -86
  155. data/test/tc_xml_node5.rb +0 -52
  156. data/test/tc_xml_node6.rb +0 -27
  157. data/test/tc_xml_node7.rb +0 -35
  158. data/test/tc_xml_parser2.rb +0 -16
  159. data/test/tc_xml_parser3.rb +0 -23
  160. data/test/tc_xml_parser4.rb +0 -33
  161. data/test/tc_xml_parser5.rb +0 -27
  162. data/test/tc_xml_parser6.rb +0 -23
  163. data/test/tc_xml_parser7.rb +0 -28
  164. data/test/tc_xml_parser8.rb +0 -32
  165. data/test/tc_xml_parser9.rb +0 -11
  166. data/test/tc_xml_xpath2.rb +0 -14
  167. data/work/vc/debug/libxml.exp +0 -0
  168. data/work/vc/debug/libxml.ilk +0 -0
  169. data/work/vc/debug/libxml.lib +0 -0
  170. data/work/vc/debug/libxml.pdb +0 -0
  171. data/work/vc/debug/libxml.so +0 -0
@@ -0,0 +1,111 @@
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: XML::Parser::ParseError</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">XML::Parser::ParseError</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_parser_c.html">
59
+ ext/libxml/ruby_xml_parser.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
+ RuntimeError
69
+ </td>
70
+ </tr>
71
+ </table>
72
+ </div>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+
77
+
78
+
79
+ <div id="contextContent">
80
+
81
+
82
+
83
+ </div>
84
+
85
+
86
+ </div>
87
+
88
+
89
+ <!-- if includes -->
90
+
91
+ <div id="section">
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+
100
+ <!-- if method_list -->
101
+
102
+
103
+ </div>
104
+
105
+
106
+ <div id="validator-badges">
107
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
108
+ </div>
109
+
110
+ </body>
111
+ </html>
@@ -0,0 +1,2173 @@
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: XML::Reader</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">XML::Reader</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/ext/libxml/libxml_c.html">
59
+ ext/libxml/libxml.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
+ Object
69
+ </td>
70
+ </tr>
71
+ </table>
72
+ </div>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+
77
+
78
+
79
+ <div id="contextContent">
80
+
81
+
82
+
83
+ </div>
84
+
85
+ <div id="method-list">
86
+ <h3 class="section-bar">Methods</h3>
87
+
88
+ <div class="name-list">
89
+ <a href="#M000284">[]</a>&nbsp;&nbsp;
90
+ <a href="#M000271">attribute_count</a>&nbsp;&nbsp;
91
+ <a href="#M000275">base_uri</a>&nbsp;&nbsp;
92
+ <a href="#M000289">byte_consumed</a>&nbsp;&nbsp;
93
+ <a href="#M000252">close</a>&nbsp;&nbsp;
94
+ <a href="#M000290">column_number</a>&nbsp;&nbsp;
95
+ <a href="#M000292">default?</a>&nbsp;&nbsp;
96
+ <a href="#M000280">depth</a>&nbsp;&nbsp;
97
+ <a href="#M000293">empty_element?</a>&nbsp;&nbsp;
98
+ <a href="#M000274">encoding</a>&nbsp;&nbsp;
99
+ <a href="#M000288">expand</a>&nbsp;&nbsp;
100
+ <a href="#M000249">file</a>&nbsp;&nbsp;
101
+ <a href="#M000283">has_attributes?</a>&nbsp;&nbsp;
102
+ <a href="#M000285">has_value?</a>&nbsp;&nbsp;
103
+ <a href="#M000291">line_number</a>&nbsp;&nbsp;
104
+ <a href="#M000273">local_name</a>&nbsp;&nbsp;
105
+ <a href="#M000287">lookup_namespace</a>&nbsp;&nbsp;
106
+ <a href="#M000253">move_to_attribute</a>&nbsp;&nbsp;
107
+ <a href="#M000256">move_to_element</a>&nbsp;&nbsp;
108
+ <a href="#M000254">move_to_first_attribute</a>&nbsp;&nbsp;
109
+ <a href="#M000255">move_to_next_attribute</a>&nbsp;&nbsp;
110
+ <a href="#M000272">name</a>&nbsp;&nbsp;
111
+ <a href="#M000294">namespace_declaration?</a>&nbsp;&nbsp;
112
+ <a href="#M000276">namespace_uri</a>&nbsp;&nbsp;
113
+ <a href="#M000251">new</a>&nbsp;&nbsp;
114
+ <a href="#M000257">next</a>&nbsp;&nbsp;
115
+ <a href="#M000258">next_sibling</a>&nbsp;&nbsp;
116
+ <a href="#M000269">node_type</a>&nbsp;&nbsp;
117
+ <a href="#M000270">normalization</a>&nbsp;&nbsp;
118
+ <a href="#M000279">prefix</a>&nbsp;&nbsp;
119
+ <a href="#M000281">quote_char</a>&nbsp;&nbsp;
120
+ <a href="#M000259">read</a>&nbsp;&nbsp;
121
+ <a href="#M000260">read_attribute_value</a>&nbsp;&nbsp;
122
+ <a href="#M000261">read_inner_xml</a>&nbsp;&nbsp;
123
+ <a href="#M000262">read_outer_xml</a>&nbsp;&nbsp;
124
+ <a href="#M000263">read_state</a>&nbsp;&nbsp;
125
+ <a href="#M000264">read_string</a>&nbsp;&nbsp;
126
+ <a href="#M000267">relax_ng_validate</a>&nbsp;&nbsp;
127
+ <a href="#M000266">reset_error_handler</a>&nbsp;&nbsp;
128
+ <a href="#M000268">schema_validate</a>&nbsp;&nbsp;
129
+ <a href="#M000265">set_error_handler</a>&nbsp;&nbsp;
130
+ <a href="#M000282">standalone</a>&nbsp;&nbsp;
131
+ <a href="#M000295">valid?</a>&nbsp;&nbsp;
132
+ <a href="#M000286">value</a>&nbsp;&nbsp;
133
+ <a href="#M000250">walker</a>&nbsp;&nbsp;
134
+ <a href="#M000277">xml_lang</a>&nbsp;&nbsp;
135
+ <a href="#M000278">xml_version</a>&nbsp;&nbsp;
136
+ </div>
137
+ </div>
138
+
139
+ </div>
140
+
141
+
142
+ <!-- if includes -->
143
+
144
+ <div id="section">
145
+
146
+
147
+ <div id="constants-list">
148
+ <h3 class="section-bar">Constants</h3>
149
+
150
+ <div class="name-list">
151
+ <table summary="Constants">
152
+ <tr class="top-aligned-row context-row">
153
+ <td class="context-item-name">LOADDTD</td>
154
+ <td>=</td>
155
+ <td class="context-item-value">INT2FIX(XML_PARSER_LOADDTD)</td>
156
+ </tr>
157
+ <tr class="top-aligned-row context-row">
158
+ <td class="context-item-name">DEFAULTATTRS</td>
159
+ <td>=</td>
160
+ <td class="context-item-value">INT2FIX(XML_PARSER_DEFAULTATTRS)</td>
161
+ </tr>
162
+ <tr class="top-aligned-row context-row">
163
+ <td class="context-item-name">VALIDATE</td>
164
+ <td>=</td>
165
+ <td class="context-item-value">INT2FIX(XML_PARSER_VALIDATE)</td>
166
+ </tr>
167
+ <tr class="top-aligned-row context-row">
168
+ <td class="context-item-name">SUBST_ENTITIES</td>
169
+ <td>=</td>
170
+ <td class="context-item-value">INT2FIX(XML_PARSER_SUBST_ENTITIES)</td>
171
+ </tr>
172
+ <tr class="top-aligned-row context-row">
173
+ <td class="context-item-name">SEVERITY_VALIDITY_WARNING</td>
174
+ <td>=</td>
175
+ <td class="context-item-value">INT2FIX(XML_PARSER_SEVERITY_VALIDITY_WARNING)</td>
176
+ </tr>
177
+ <tr class="top-aligned-row context-row">
178
+ <td class="context-item-name">SEVERITY_VALIDITY_ERROR</td>
179
+ <td>=</td>
180
+ <td class="context-item-value">INT2FIX(XML_PARSER_SEVERITY_VALIDITY_ERROR)</td>
181
+ </tr>
182
+ <tr class="top-aligned-row context-row">
183
+ <td class="context-item-name">SEVERITY_WARNING</td>
184
+ <td>=</td>
185
+ <td class="context-item-value">INT2FIX(XML_PARSER_SEVERITY_WARNING)</td>
186
+ </tr>
187
+ <tr class="top-aligned-row context-row">
188
+ <td class="context-item-name">SEVERITY_ERROR</td>
189
+ <td>=</td>
190
+ <td class="context-item-value">INT2FIX(XML_PARSER_SEVERITY_ERROR)</td>
191
+ </tr>
192
+ <tr class="top-aligned-row context-row">
193
+ <td class="context-item-name">TYPE_NONE</td>
194
+ <td>=</td>
195
+ <td class="context-item-value">INT2FIX(XML_READER_TYPE_NONE)</td>
196
+ </tr>
197
+ <tr class="top-aligned-row context-row">
198
+ <td class="context-item-name">TYPE_ELEMENT</td>
199
+ <td>=</td>
200
+ <td class="context-item-value">INT2FIX(XML_READER_TYPE_ELEMENT)</td>
201
+ </tr>
202
+ <tr class="top-aligned-row context-row">
203
+ <td class="context-item-name">TYPE_ATTRIBUTE</td>
204
+ <td>=</td>
205
+ <td class="context-item-value">INT2FIX(XML_READER_TYPE_ATTRIBUTE)</td>
206
+ </tr>
207
+ <tr class="top-aligned-row context-row">
208
+ <td class="context-item-name">TYPE_TEXT</td>
209
+ <td>=</td>
210
+ <td class="context-item-value">INT2FIX(XML_READER_TYPE_TEXT)</td>
211
+ </tr>
212
+ <tr class="top-aligned-row context-row">
213
+ <td class="context-item-name">TYPE_CDATA</td>
214
+ <td>=</td>
215
+ <td class="context-item-value">INT2FIX(XML_READER_TYPE_CDATA)</td>
216
+ </tr>
217
+ <tr class="top-aligned-row context-row">
218
+ <td class="context-item-name">TYPE_ENTITY_REFERENCE</td>
219
+ <td>=</td>
220
+ <td class="context-item-value">INT2FIX(XML_READER_TYPE_ENTITY_REFERENCE)</td>
221
+ </tr>
222
+ <tr class="top-aligned-row context-row">
223
+ <td class="context-item-name">TYPE_ENTITY</td>
224
+ <td>=</td>
225
+ <td class="context-item-value">INT2FIX(XML_READER_TYPE_ENTITY)</td>
226
+ </tr>
227
+ <tr class="top-aligned-row context-row">
228
+ <td class="context-item-name">TYPE_PROCESSING_INSTRUCTION</td>
229
+ <td>=</td>
230
+ <td class="context-item-value">INT2FIX(XML_READER_TYPE_PROCESSING_INSTRUCTION)</td>
231
+ </tr>
232
+ <tr class="top-aligned-row context-row">
233
+ <td class="context-item-name">TYPE_COMMENT</td>
234
+ <td>=</td>
235
+ <td class="context-item-value">INT2FIX(XML_READER_TYPE_COMMENT)</td>
236
+ </tr>
237
+ <tr class="top-aligned-row context-row">
238
+ <td class="context-item-name">TYPE_DOCUMENT</td>
239
+ <td>=</td>
240
+ <td class="context-item-value">INT2FIX(XML_READER_TYPE_DOCUMENT)</td>
241
+ </tr>
242
+ <tr class="top-aligned-row context-row">
243
+ <td class="context-item-name">TYPE_DOCUMENT_TYPE</td>
244
+ <td>=</td>
245
+ <td class="context-item-value">INT2FIX(XML_READER_TYPE_DOCUMENT_TYPE)</td>
246
+ </tr>
247
+ <tr class="top-aligned-row context-row">
248
+ <td class="context-item-name">TYPE_DOCUMENT_FRAGMENT</td>
249
+ <td>=</td>
250
+ <td class="context-item-value">INT2FIX(XML_READER_TYPE_DOCUMENT_FRAGMENT)</td>
251
+ </tr>
252
+ <tr class="top-aligned-row context-row">
253
+ <td class="context-item-name">TYPE_NOTATION</td>
254
+ <td>=</td>
255
+ <td class="context-item-value">INT2FIX(XML_READER_TYPE_NOTATION)</td>
256
+ </tr>
257
+ <tr class="top-aligned-row context-row">
258
+ <td class="context-item-name">TYPE_WHITESPACE</td>
259
+ <td>=</td>
260
+ <td class="context-item-value">INT2FIX(XML_READER_TYPE_WHITESPACE)</td>
261
+ </tr>
262
+ <tr class="top-aligned-row context-row">
263
+ <td class="context-item-name">TYPE_SIGNIFICANT_WHITESPACE</td>
264
+ <td>=</td>
265
+ <td class="context-item-value">INT2FIX(XML_READER_TYPE_SIGNIFICANT_WHITESPACE)</td>
266
+ </tr>
267
+ <tr class="top-aligned-row context-row">
268
+ <td class="context-item-name">TYPE_END_ELEMENT</td>
269
+ <td>=</td>
270
+ <td class="context-item-value">INT2FIX(XML_READER_TYPE_END_ELEMENT)</td>
271
+ </tr>
272
+ <tr class="top-aligned-row context-row">
273
+ <td class="context-item-name">TYPE_END_ENTITY</td>
274
+ <td>=</td>
275
+ <td class="context-item-value">INT2FIX(XML_READER_TYPE_END_ENTITY)</td>
276
+ </tr>
277
+ <tr class="top-aligned-row context-row">
278
+ <td class="context-item-name">TYPE_XML_DECLARATION</td>
279
+ <td>=</td>
280
+ <td class="context-item-value">INT2FIX(XML_READER_TYPE_XML_DECLARATION)</td>
281
+ </tr>
282
+ <tr class="top-aligned-row context-row">
283
+ <td class="context-item-name">MODE_INITIAL</td>
284
+ <td>=</td>
285
+ <td class="context-item-value">INT2FIX(XML_TEXTREADER_MODE_INITIAL)</td>
286
+ </tr>
287
+ <tr class="top-aligned-row context-row">
288
+ <td class="context-item-name">MODE_INTERACTIVE</td>
289
+ <td>=</td>
290
+ <td class="context-item-value">INT2FIX(XML_TEXTREADER_MODE_INTERACTIVE)</td>
291
+ </tr>
292
+ <tr class="top-aligned-row context-row">
293
+ <td class="context-item-name">MODE_ERROR</td>
294
+ <td>=</td>
295
+ <td class="context-item-value">INT2FIX(XML_TEXTREADER_MODE_ERROR)</td>
296
+ </tr>
297
+ <tr class="top-aligned-row context-row">
298
+ <td class="context-item-name">MODE_EOF</td>
299
+ <td>=</td>
300
+ <td class="context-item-value">INT2FIX(XML_TEXTREADER_MODE_EOF)</td>
301
+ </tr>
302
+ <tr class="top-aligned-row context-row">
303
+ <td class="context-item-name">MODE_CLOSED</td>
304
+ <td>=</td>
305
+ <td class="context-item-value">INT2FIX(XML_TEXTREADER_MODE_CLOSED)</td>
306
+ </tr>
307
+ <tr class="top-aligned-row context-row">
308
+ <td class="context-item-name">MODE_READING</td>
309
+ <td>=</td>
310
+ <td class="context-item-value">INT2FIX(XML_TEXTREADER_MODE_READING)</td>
311
+ </tr>
312
+ </table>
313
+ </div>
314
+ </div>
315
+
316
+
317
+
318
+
319
+
320
+
321
+ <!-- if method_list -->
322
+ <div id="methods">
323
+ <h3 class="section-bar">Public Class methods</h3>
324
+
325
+ <div id="method-M000249" class="method-detail">
326
+ <a name="M000249"></a>
327
+
328
+ <div class="method-heading">
329
+ <a href="#M000249" class="method-signature">
330
+ <span class="method-name">XML::Reader.file(path, encoding=nil, options=0) &rarr; reader<br />
331
+ </span>
332
+ </a>
333
+ </div>
334
+
335
+ <div class="method-description">
336
+ <p>
337
+ Parse an <a href="../XML.html">XML</a> file from the filesystem or the
338
+ network. The parsing flags options are a combination of xmlParserOption.
339
+ </p>
340
+ <p><a class="source-toggle" href="#"
341
+ onclick="toggleCode('M000249-source');return false;">[Source]</a></p>
342
+ <div class="method-source-code" id="M000249-source">
343
+ <pre>
344
+ /*
345
+ * call-seq:
346
+ * XML::Reader.file(path, encoding=nil, options=0) -&gt; reader
347
+ *
348
+ * Parse an XML file from the filesystem or the network. The parsing flags
349
+ * options are a combination of xmlParserOption.
350
+ */
351
+ static VALUE
352
+ ruby_xml_reader_new_file(int argc, VALUE *argv, VALUE self)
353
+ {
354
+ xmlTextReaderPtr reader;
355
+ VALUE path, encoding, options;
356
+
357
+ rb_scan_args(argc, argv, &quot;12&quot;, &amp;path, &amp;encoding, &amp;options);
358
+
359
+ reader = xmlReaderForFile(RVAL2CSTR(path),
360
+ NIL_P(encoding) ? NULL : RVAL2CSTR(encoding),
361
+ NIL_P(options) ? 0 : FIX2INT(options));
362
+ if (reader == NULL)
363
+ rb_raise(rb_eRuntimeError,
364
+ &quot;cannot create text reader for given XML file at path '%s'&quot;,
365
+ RVAL2CSTR(path));
366
+
367
+ return ruby_xml_reader_new(self, reader);
368
+ }
369
+ </pre>
370
+ </div>
371
+ </div>
372
+ </div>
373
+
374
+ <div id="method-M000251" class="method-detail">
375
+ <a name="M000251"></a>
376
+
377
+ <div class="method-heading">
378
+ <a href="#M000251" class="method-signature">
379
+ <span class="method-name">XML::Reader.new(data, url=nil, encoding=nil, options=0) &rarr; reader<br />
380
+ XML::Reader.string(data, url=nil, encoding=nil, options=0) &rarr; reader<br />
381
+ </span>
382
+ </a>
383
+ </div>
384
+
385
+ <div class="method-description">
386
+ <p>
387
+ Create an <a href="../XML.html">XML</a> text reader for an <a
388
+ href="../XML.html">XML</a> in-memory document. The parsing flags options
389
+ are a combination of xmlParserOption.
390
+ </p>
391
+ <p><a class="source-toggle" href="#"
392
+ onclick="toggleCode('M000251-source');return false;">[Source]</a></p>
393
+ <div class="method-source-code" id="M000251-source">
394
+ <pre>
395
+ /*
396
+ * call-seq:
397
+ * XML::Reader.new(data, url=nil, encoding=nil, options=0) -&gt; reader
398
+ * XML::Reader.string(data, url=nil, encoding=nil, options=0) -&gt; reader
399
+ *
400
+ * Create an XML text reader for an XML in-memory document. The parsing flags
401
+ * options are a combination of xmlParserOption.
402
+ */
403
+ static VALUE
404
+ ruby_xml_reader_new_data(int argc, VALUE *argv, VALUE self)
405
+ {
406
+ xmlTextReaderPtr reader;
407
+ VALUE data, url, encoding, options;
408
+ char *c_data;
409
+
410
+ rb_scan_args(argc, argv, &quot;13&quot;, &amp;data, &amp;url, &amp;encoding, &amp;options);
411
+
412
+ c_data = RVAL2CSTR(data);
413
+ reader = xmlReaderForMemory(c_data,
414
+ strlen(c_data),
415
+ NIL_P(url) ? NULL : RVAL2CSTR(url),
416
+ NIL_P(encoding) ? NULL : RVAL2CSTR(encoding),
417
+ NIL_P(options) ? 0 : FIX2INT(options));
418
+ if (reader == NULL)
419
+ rb_raise(rb_eRuntimeError, &quot;cannot create text reader for given data&quot;);
420
+
421
+ return ruby_xml_reader_new(self, reader);
422
+ }
423
+ </pre>
424
+ </div>
425
+ </div>
426
+ </div>
427
+
428
+ <div id="method-M000250" class="method-detail">
429
+ <a name="M000250"></a>
430
+
431
+ <div class="method-heading">
432
+ <a href="#M000250" class="method-signature">
433
+ <span class="method-name">XML::Reader.walker(doc) &rarr; reader<br />
434
+ XML::Reader.document(doc) &rarr; reader<br />
435
+ </span>
436
+ </a>
437
+ </div>
438
+
439
+ <div class="method-description">
440
+ <p>
441
+ Create an <a href="../XML.html">XML</a> text reader for a preparsed
442
+ document.
443
+ </p>
444
+ <p><a class="source-toggle" href="#"
445
+ onclick="toggleCode('M000250-source');return false;">[Source]</a></p>
446
+ <div class="method-source-code" id="M000250-source">
447
+ <pre>
448
+ /*
449
+ * call-seq:
450
+ * XML::Reader.walker(doc) -&gt; reader
451
+ * XML::Reader.document(doc) -&gt; reader
452
+ *
453
+ * Create an XML text reader for a preparsed document.
454
+ */
455
+ VALUE
456
+ ruby_xml_reader_new_walker(VALUE self, VALUE doc)
457
+ {
458
+ ruby_xml_document_t *rxd;
459
+ xmlTextReaderPtr reader;
460
+
461
+ Data_Get_Struct(doc, ruby_xml_document_t, rxd);
462
+
463
+ reader = xmlReaderWalker(rxd-&gt;doc);
464
+ if (reader == NULL)
465
+ rb_raise(rb_eRuntimeError, &quot;cannot create text reader for given document&quot;);
466
+
467
+ return ruby_xml_reader_new(self, reader);
468
+ }
469
+ </pre>
470
+ </div>
471
+ </div>
472
+ </div>
473
+
474
+ <h3 class="section-bar">Public Instance methods</h3>
475
+
476
+ <div id="method-M000284" class="method-detail">
477
+ <a name="M000284"></a>
478
+
479
+ <div class="method-heading">
480
+ <a href="#M000284" class="method-signature">
481
+ <span class="method-name">reader[key] &rarr; value<br />
482
+ </span>
483
+ </a>
484
+ </div>
485
+
486
+ <div class="method-description">
487
+ <p>
488
+ Provide the value of the attribute with the specified index (if
489
+ <tt>key</tt> is an integer) or with the specified name (if <tt>key</tt> is
490
+ a string) relative to the containing element, as a string.
491
+ </p>
492
+ <p><a class="source-toggle" href="#"
493
+ onclick="toggleCode('M000284-source');return false;">[Source]</a></p>
494
+ <div class="method-source-code" id="M000284-source">
495
+ <pre>
496
+ /*
497
+ * call-seq:
498
+ * reader[key] -&gt; value
499
+ *
500
+ * Provide the value of the attribute with the specified index (if +key+ is an
501
+ * integer) or with the specified name (if +key+ is a string) relative to the
502
+ * containing element, as a string.
503
+ */
504
+ static VALUE
505
+ ruby_xml_reader_attribute(VALUE self, VALUE key)
506
+ {
507
+ xmlTextReaderPtr reader;
508
+ xmlChar *attr;
509
+
510
+ reader = ruby_xml_text_reader_get(self);
511
+
512
+ if (TYPE(key) == T_FIXNUM) {
513
+ attr = xmlTextReaderGetAttributeNo(reader, FIX2INT(key));
514
+ }
515
+ else {
516
+ attr = xmlTextReaderGetAttribute(reader, (const xmlChar *)RVAL2CSTR(key));
517
+ }
518
+ return CSTR2RVAL2(attr);
519
+ }
520
+ </pre>
521
+ </div>
522
+ </div>
523
+ </div>
524
+
525
+ <div id="method-M000271" class="method-detail">
526
+ <a name="M000271"></a>
527
+
528
+ <div class="method-heading">
529
+ <a href="#M000271" class="method-signature">
530
+ <span class="method-name">reader.attribute_count &rarr; count<br />
531
+ </span>
532
+ </a>
533
+ </div>
534
+
535
+ <div class="method-description">
536
+ <p>
537
+ Provide the number of attributes of the current node.
538
+ </p>
539
+ <p><a class="source-toggle" href="#"
540
+ onclick="toggleCode('M000271-source');return false;">[Source]</a></p>
541
+ <div class="method-source-code" id="M000271-source">
542
+ <pre>
543
+ /*
544
+ * call-seq:
545
+ * reader.attribute_count -&gt; count
546
+ *
547
+ * Provide the number of attributes of the current node.
548
+ */
549
+ static VALUE
550
+ ruby_xml_reader_attr_count(VALUE self)
551
+ {
552
+ return INT2FIX(xmlTextReaderAttributeCount(ruby_xml_text_reader_get(self)));
553
+ }
554
+ </pre>
555
+ </div>
556
+ </div>
557
+ </div>
558
+
559
+ <div id="method-M000275" class="method-detail">
560
+ <a name="M000275"></a>
561
+
562
+ <div class="method-heading">
563
+ <a href="#M000275" class="method-signature">
564
+ <span class="method-name">reader.base_uri &rarr; URI<br />
565
+ </span>
566
+ </a>
567
+ </div>
568
+
569
+ <div class="method-description">
570
+ <p>
571
+ Determine the base URI of the node.
572
+ </p>
573
+ <p><a class="source-toggle" href="#"
574
+ onclick="toggleCode('M000275-source');return false;">[Source]</a></p>
575
+ <div class="method-source-code" id="M000275-source">
576
+ <pre>
577
+ /*
578
+ * call-seq:
579
+ * reader.base_uri -&gt; URI
580
+ *
581
+ * Determine the base URI of the node.
582
+ */
583
+ static VALUE
584
+ ruby_xml_reader_base_uri(VALUE self)
585
+ {
586
+ return CSTR2RVAL(xmlTextReaderConstBaseUri(ruby_xml_text_reader_get(self)));
587
+ }
588
+ </pre>
589
+ </div>
590
+ </div>
591
+ </div>
592
+
593
+ <div id="method-M000289" class="method-detail">
594
+ <a name="M000289"></a>
595
+
596
+ <div class="method-heading">
597
+ <a href="#M000289" class="method-signature">
598
+ <span class="method-name">reader.byte_consumed &rarr; value<br />
599
+ </span>
600
+ </a>
601
+ </div>
602
+
603
+ <div class="method-description">
604
+ <p>
605
+ This method provides the current index of the parser used by the reader,
606
+ relative to the start of the current entity.
607
+ </p>
608
+ <p><a class="source-toggle" href="#"
609
+ onclick="toggleCode('M000289-source');return false;">[Source]</a></p>
610
+ <div class="method-source-code" id="M000289-source">
611
+ <pre>
612
+ /*
613
+ * call-seq:
614
+ * reader.byte_consumed -&gt; value
615
+ *
616
+ * This method provides the current index of the parser used by the reader,
617
+ * relative to the start of the current entity.
618
+ */
619
+ static VALUE
620
+ ruby_xml_reader_byte_consumed(VALUE self)
621
+ {
622
+ return INT2NUM(xmlTextReaderByteConsumed(ruby_xml_text_reader_get(self)));
623
+ }
624
+ </pre>
625
+ </div>
626
+ </div>
627
+ </div>
628
+
629
+ <div id="method-M000252" class="method-detail">
630
+ <a name="M000252"></a>
631
+
632
+ <div class="method-heading">
633
+ <a href="#M000252" class="method-signature">
634
+ <span class="method-name">parser.close &rarr; code<br />
635
+ </span>
636
+ </a>
637
+ </div>
638
+
639
+ <div class="method-description">
640
+ <p>
641
+ This method releases any resources allocated by the current instance
642
+ changes the state to Closed and close any underlying input.
643
+ </p>
644
+ <p><a class="source-toggle" href="#"
645
+ onclick="toggleCode('M000252-source');return false;">[Source]</a></p>
646
+ <div class="method-source-code" id="M000252-source">
647
+ <pre>
648
+ /*
649
+ * call-seq:
650
+ * parser.close -&gt; code
651
+ *
652
+ * This method releases any resources allocated by the current instance
653
+ * changes the state to Closed and close any underlying input.
654
+ */
655
+ static VALUE
656
+ ruby_xml_reader_close(VALUE self)
657
+ {
658
+ return INT2FIX(xmlTextReaderClose(ruby_xml_text_reader_get(self)));
659
+ }
660
+ </pre>
661
+ </div>
662
+ </div>
663
+ </div>
664
+
665
+ <div id="method-M000290" class="method-detail">
666
+ <a name="M000290"></a>
667
+
668
+ <div class="method-heading">
669
+ <a href="#M000290" class="method-signature">
670
+ <span class="method-name">reader.column_number &rarr; number<br />
671
+ </span>
672
+ </a>
673
+ </div>
674
+
675
+ <div class="method-description">
676
+ <p>
677
+ Provide the column number of the current parsing point.
678
+ </p>
679
+ <p><a class="source-toggle" href="#"
680
+ onclick="toggleCode('M000290-source');return false;">[Source]</a></p>
681
+ <div class="method-source-code" id="M000290-source">
682
+ <pre>
683
+ /*
684
+ * call-seq:
685
+ * reader.column_number -&gt; number
686
+ *
687
+ * Provide the column number of the current parsing point.
688
+ */
689
+ static VALUE
690
+ ruby_xml_reader_column_number(VALUE self)
691
+ {
692
+ return INT2NUM(xmlTextReaderGetParserColumnNumber(ruby_xml_text_reader_get(self)));
693
+ }
694
+ </pre>
695
+ </div>
696
+ </div>
697
+ </div>
698
+
699
+ <div id="method-M000292" class="method-detail">
700
+ <a name="M000292"></a>
701
+
702
+ <div class="method-heading">
703
+ <a href="#M000292" class="method-signature">
704
+ <span class="method-name">reader.default? &rarr; bool<br />
705
+ </span>
706
+ </a>
707
+ </div>
708
+
709
+ <div class="method-description">
710
+ <p>
711
+ Return whether an Attribute node was generated from the default value
712
+ defined in the DTD or schema.
713
+ </p>
714
+ <p><a class="source-toggle" href="#"
715
+ onclick="toggleCode('M000292-source');return false;">[Source]</a></p>
716
+ <div class="method-source-code" id="M000292-source">
717
+ <pre>
718
+ /*
719
+ * call-seq:
720
+ * reader.default? -&gt; bool
721
+ *
722
+ * Return whether an Attribute node was generated from the default value
723
+ * defined in the DTD or schema.
724
+ */
725
+ static VALUE
726
+ ruby_xml_reader_default(VALUE self)
727
+ {
728
+ return xmlTextReaderIsDefault(ruby_xml_text_reader_get(self)) ? Qtrue : Qfalse;
729
+ }
730
+ </pre>
731
+ </div>
732
+ </div>
733
+ </div>
734
+
735
+ <div id="method-M000280" class="method-detail">
736
+ <a name="M000280"></a>
737
+
738
+ <div class="method-heading">
739
+ <a href="#M000280" class="method-signature">
740
+ <span class="method-name">reader.depth &rarr; depth<br />
741
+ </span>
742
+ </a>
743
+ </div>
744
+
745
+ <div class="method-description">
746
+ <p>
747
+ Get the depth of the node in the tree.
748
+ </p>
749
+ <p><a class="source-toggle" href="#"
750
+ onclick="toggleCode('M000280-source');return false;">[Source]</a></p>
751
+ <div class="method-source-code" id="M000280-source">
752
+ <pre>
753
+ /*
754
+ * call-seq:
755
+ * reader.depth -&gt; depth
756
+ *
757
+ * Get the depth of the node in the tree.
758
+ */
759
+ static VALUE
760
+ ruby_xml_reader_depth(VALUE self)
761
+ {
762
+ return INT2FIX(xmlTextReaderDepth(ruby_xml_text_reader_get(self)));
763
+ }
764
+ </pre>
765
+ </div>
766
+ </div>
767
+ </div>
768
+
769
+ <div id="method-M000293" class="method-detail">
770
+ <a name="M000293"></a>
771
+
772
+ <div class="method-heading">
773
+ <a href="#M000293" class="method-signature">
774
+ <span class="method-name">reader.empty_element? &rarr; bool<br />
775
+ </span>
776
+ </a>
777
+ </div>
778
+
779
+ <div class="method-description">
780
+ <p>
781
+ Check if the current node is empty.
782
+ </p>
783
+ <p><a class="source-toggle" href="#"
784
+ onclick="toggleCode('M000293-source');return false;">[Source]</a></p>
785
+ <div class="method-source-code" id="M000293-source">
786
+ <pre>
787
+ /*
788
+ * call-seq:
789
+ * reader.empty_element? -&gt; bool
790
+ *
791
+ * Check if the current node is empty.
792
+ */
793
+ static VALUE
794
+ ruby_xml_reader_empty_element(VALUE self)
795
+ {
796
+ return xmlTextReaderIsEmptyElement(ruby_xml_text_reader_get(self)) ? Qtrue : Qfalse;
797
+ }
798
+ </pre>
799
+ </div>
800
+ </div>
801
+ </div>
802
+
803
+ <div id="method-M000274" class="method-detail">
804
+ <a name="M000274"></a>
805
+
806
+ <div class="method-heading">
807
+ <a href="#M000274" class="method-signature">
808
+ <span class="method-name">reader.encoding &rarr; encoding<br />
809
+ </span>
810
+ </a>
811
+ </div>
812
+
813
+ <div class="method-description">
814
+ <p>
815
+ Determine the encoding of the document being read.
816
+ </p>
817
+ <p><a class="source-toggle" href="#"
818
+ onclick="toggleCode('M000274-source');return false;">[Source]</a></p>
819
+ <div class="method-source-code" id="M000274-source">
820
+ <pre>
821
+ /*
822
+ * call-seq:
823
+ * reader.encoding -&gt; encoding
824
+ *
825
+ * Determine the encoding of the document being read.
826
+ */
827
+ static VALUE
828
+ ruby_xml_reader_encoding(VALUE self)
829
+ {
830
+ return CSTR2RVAL(xmlTextReaderConstEncoding(ruby_xml_text_reader_get(self)));
831
+ }
832
+ </pre>
833
+ </div>
834
+ </div>
835
+ </div>
836
+
837
+ <div id="method-M000288" class="method-detail">
838
+ <a name="M000288"></a>
839
+
840
+ <div class="method-heading">
841
+ <a href="#M000288" class="method-signature">
842
+ <span class="method-name">reader.expand &rarr; node<br />
843
+ </span>
844
+ </a>
845
+ </div>
846
+
847
+ <div class="method-description">
848
+ <p>
849
+ Read the contents of the current node and the full subtree. It then makes
850
+ the subtree available until the next read call.
851
+ </p>
852
+ <p>
853
+ Return an <a href="Node.html">XML::Node</a> object, or nil in case of
854
+ error.
855
+ </p>
856
+ <p><a class="source-toggle" href="#"
857
+ onclick="toggleCode('M000288-source');return false;">[Source]</a></p>
858
+ <div class="method-source-code" id="M000288-source">
859
+ <pre>
860
+ /*
861
+ * call-seq:
862
+ * reader.expand -&gt; node
863
+ *
864
+ * Read the contents of the current node and the full subtree. It then makes
865
+ * the subtree available until the next read call.
866
+ *
867
+ * Return an XML::Node object, or nil in case of error.
868
+ */
869
+ static VALUE
870
+ ruby_xml_reader_expand(VALUE self)
871
+ {
872
+ xmlNodePtr node;
873
+ xmlDocPtr doc;
874
+ xmlTextReaderPtr reader = ruby_xml_text_reader_get(self);
875
+ node = xmlTextReaderExpand(reader);
876
+
877
+ if (!node)
878
+ return Qnil;
879
+
880
+ /* Okay this is tricky. By accessing the returned node, we
881
+ take ownership of the reader's document. Thus we need to
882
+ tell the reader to not free it. Otherwise it will be
883
+ freed twice - once when the Ruby document wrapper goes
884
+ out of scope and once when the reader goes out of scope. */
885
+
886
+ xmlTextReaderPreserve(reader);
887
+ doc = xmlTextReaderCurrentDoc(reader);
888
+ ruby_xml_document_wrap(doc);
889
+
890
+ return ruby_xml_node2_wrap(cXMLNode, node);
891
+ }
892
+ </pre>
893
+ </div>
894
+ </div>
895
+ </div>
896
+
897
+ <div id="method-M000283" class="method-detail">
898
+ <a name="M000283"></a>
899
+
900
+ <div class="method-heading">
901
+ <a href="#M000283" class="method-signature">
902
+ <span class="method-name">reader.has_attributes? &rarr; bool<br />
903
+ </span>
904
+ </a>
905
+ </div>
906
+
907
+ <div class="method-description">
908
+ <p>
909
+ Get whether the node has attributes.
910
+ </p>
911
+ <p><a class="source-toggle" href="#"
912
+ onclick="toggleCode('M000283-source');return false;">[Source]</a></p>
913
+ <div class="method-source-code" id="M000283-source">
914
+ <pre>
915
+ /*
916
+ * call-seq:
917
+ * reader.has_attributes? -&gt; bool
918
+ *
919
+ * Get whether the node has attributes.
920
+ */
921
+ static VALUE
922
+ ruby_xml_reader_has_attributes(VALUE self)
923
+ {
924
+ return xmlTextReaderHasAttributes(ruby_xml_text_reader_get(self)) ? Qtrue : Qfalse;
925
+ }
926
+ </pre>
927
+ </div>
928
+ </div>
929
+ </div>
930
+
931
+ <div id="method-M000285" class="method-detail">
932
+ <a name="M000285"></a>
933
+
934
+ <div class="method-heading">
935
+ <a href="#M000285" class="method-signature">
936
+ <span class="method-name">reader.has_value? &rarr; bool<br />
937
+ </span>
938
+ </a>
939
+ </div>
940
+
941
+ <div class="method-description">
942
+ <p>
943
+ Get whether the node can have a text value.
944
+ </p>
945
+ <p><a class="source-toggle" href="#"
946
+ onclick="toggleCode('M000285-source');return false;">[Source]</a></p>
947
+ <div class="method-source-code" id="M000285-source">
948
+ <pre>
949
+ /*
950
+ * call-seq:
951
+ * reader.has_value? -&gt; bool
952
+ *
953
+ * Get whether the node can have a text value.
954
+ */
955
+ static VALUE
956
+ ruby_xml_reader_has_value(VALUE self)
957
+ {
958
+ return xmlTextReaderHasValue(ruby_xml_text_reader_get(self)) ? Qtrue : Qfalse;
959
+ }
960
+ </pre>
961
+ </div>
962
+ </div>
963
+ </div>
964
+
965
+ <div id="method-M000291" class="method-detail">
966
+ <a name="M000291"></a>
967
+
968
+ <div class="method-heading">
969
+ <a href="#M000291" class="method-signature">
970
+ <span class="method-name">reader.line_number &rarr; number<br />
971
+ </span>
972
+ </a>
973
+ </div>
974
+
975
+ <div class="method-description">
976
+ <p>
977
+ Provide the line number of the current parsing point.
978
+ </p>
979
+ <p><a class="source-toggle" href="#"
980
+ onclick="toggleCode('M000291-source');return false;">[Source]</a></p>
981
+ <div class="method-source-code" id="M000291-source">
982
+ <pre>
983
+ /*
984
+ * call-seq:
985
+ * reader.line_number -&gt; number
986
+ *
987
+ * Provide the line number of the current parsing point.
988
+ */
989
+ static VALUE
990
+ ruby_xml_reader_line_number(VALUE self)
991
+ {
992
+ return INT2NUM(xmlTextReaderGetParserLineNumber(ruby_xml_text_reader_get(self)));
993
+ }
994
+ </pre>
995
+ </div>
996
+ </div>
997
+ </div>
998
+
999
+ <div id="method-M000273" class="method-detail">
1000
+ <a name="M000273"></a>
1001
+
1002
+ <div class="method-heading">
1003
+ <a href="#M000273" class="method-signature">
1004
+ <span class="method-name">reader.local_name &rarr; name<br />
1005
+ </span>
1006
+ </a>
1007
+ </div>
1008
+
1009
+ <div class="method-description">
1010
+ <p>
1011
+ Return the local name of the node.
1012
+ </p>
1013
+ <p><a class="source-toggle" href="#"
1014
+ onclick="toggleCode('M000273-source');return false;">[Source]</a></p>
1015
+ <div class="method-source-code" id="M000273-source">
1016
+ <pre>
1017
+ /*
1018
+ * call-seq:
1019
+ * reader.local_name -&gt; name
1020
+ *
1021
+ * Return the local name of the node.
1022
+ */
1023
+ static VALUE
1024
+ ruby_xml_reader_local_name(VALUE self)
1025
+ {
1026
+ return CSTR2RVAL(xmlTextReaderConstLocalName(ruby_xml_text_reader_get(self)));
1027
+ }
1028
+ </pre>
1029
+ </div>
1030
+ </div>
1031
+ </div>
1032
+
1033
+ <div id="method-M000287" class="method-detail">
1034
+ <a name="M000287"></a>
1035
+
1036
+ <div class="method-heading">
1037
+ <a href="#M000287" class="method-signature">
1038
+ <span class="method-name">reader.lookup_namespace(prefix) &rarr; value<br />
1039
+ </span>
1040
+ </a>
1041
+ </div>
1042
+
1043
+ <div class="method-description">
1044
+ <p>
1045
+ Resolve a namespace prefix in the scope of the current element. To return
1046
+ the default namespace, specify nil as <tt>prefix</tt>.
1047
+ </p>
1048
+ <p><a class="source-toggle" href="#"
1049
+ onclick="toggleCode('M000287-source');return false;">[Source]</a></p>
1050
+ <div class="method-source-code" id="M000287-source">
1051
+ <pre>
1052
+ /*
1053
+ * call-seq:
1054
+ * reader.lookup_namespace(prefix) -&gt; value
1055
+ *
1056
+ * Resolve a namespace prefix in the scope of the current element.
1057
+ * To return the default namespace, specify nil as +prefix+.
1058
+ */
1059
+ static VALUE
1060
+ ruby_xml_reader_lookup_namespace(VALUE self, VALUE prefix)
1061
+ {
1062
+ return CSTR2RVAL2(xmlTextReaderLookupNamespace(ruby_xml_text_reader_get(self), (const xmlChar *)RVAL2CSTR(prefix)));
1063
+ }
1064
+ </pre>
1065
+ </div>
1066
+ </div>
1067
+ </div>
1068
+
1069
+ <div id="method-M000253" class="method-detail">
1070
+ <a name="M000253"></a>
1071
+
1072
+ <div class="method-heading">
1073
+ <a href="#M000253" class="method-signature">
1074
+ <span class="method-name">parser.move_to_attribute(val) &rarr; code<br />
1075
+ </span>
1076
+ </a>
1077
+ </div>
1078
+
1079
+ <div class="method-description">
1080
+ <p>
1081
+ Move the position of the current instance to the attribute with the
1082
+ specified index (if <tt>val</tt> is an integer) or name (if <tt>val</tt> is
1083
+ a string) relative to the containing element.
1084
+ </p>
1085
+ <p><a class="source-toggle" href="#"
1086
+ onclick="toggleCode('M000253-source');return false;">[Source]</a></p>
1087
+ <div class="method-source-code" id="M000253-source">
1088
+ <pre>
1089
+ /*
1090
+ * call-seq:
1091
+ * parser.move_to_attribute(val) -&gt; code
1092
+ *
1093
+ * Move the position of the current instance to the attribute with the
1094
+ * specified index (if +val+ is an integer) or name (if +val+ is a string)
1095
+ * relative to the containing element.
1096
+ */
1097
+ static VALUE
1098
+ ruby_xml_reader_move_to_attr(VALUE self, VALUE val)
1099
+ {
1100
+ xmlTextReaderPtr reader;
1101
+ int ret;
1102
+
1103
+ reader = ruby_xml_text_reader_get(self);
1104
+
1105
+ if (TYPE(val) == T_FIXNUM) {
1106
+ ret = xmlTextReaderMoveToAttributeNo(reader, FIX2INT(val));
1107
+ }
1108
+ else {
1109
+ ret = xmlTextReaderMoveToAttribute(reader, (const xmlChar *)RVAL2CSTR(val));
1110
+ }
1111
+
1112
+ return INT2FIX(ret);
1113
+ }
1114
+ </pre>
1115
+ </div>
1116
+ </div>
1117
+ </div>
1118
+
1119
+ <div id="method-M000256" class="method-detail">
1120
+ <a name="M000256"></a>
1121
+
1122
+ <div class="method-heading">
1123
+ <a href="#M000256" class="method-signature">
1124
+ <span class="method-name">reader.move_to_element &rarr; code<br />
1125
+ </span>
1126
+ </a>
1127
+ </div>
1128
+
1129
+ <div class="method-description">
1130
+ <p>
1131
+ Move the position of the current instance to the node that contains the
1132
+ current attribute node.
1133
+ </p>
1134
+ <p><a class="source-toggle" href="#"
1135
+ onclick="toggleCode('M000256-source');return false;">[Source]</a></p>
1136
+ <div class="method-source-code" id="M000256-source">
1137
+ <pre>
1138
+ /*
1139
+ * call-seq:
1140
+ * reader.move_to_element -&gt; code
1141
+ *
1142
+ * Move the position of the current instance to the node that contains the
1143
+ * current attribute node.
1144
+ */
1145
+ static VALUE
1146
+ ruby_xml_reader_move_to_element(VALUE self)
1147
+ {
1148
+ return INT2FIX(xmlTextReaderMoveToElement(ruby_xml_text_reader_get(self)));
1149
+ }
1150
+ </pre>
1151
+ </div>
1152
+ </div>
1153
+ </div>
1154
+
1155
+ <div id="method-M000254" class="method-detail">
1156
+ <a name="M000254"></a>
1157
+
1158
+ <div class="method-heading">
1159
+ <a href="#M000254" class="method-signature">
1160
+ <span class="method-name">reader.move_to_first_attribute &rarr; code<br />
1161
+ </span>
1162
+ </a>
1163
+ </div>
1164
+
1165
+ <div class="method-description">
1166
+ <p>
1167
+ Move the position of the current instance to the first attribute associated
1168
+ with the current node.
1169
+ </p>
1170
+ <p><a class="source-toggle" href="#"
1171
+ onclick="toggleCode('M000254-source');return false;">[Source]</a></p>
1172
+ <div class="method-source-code" id="M000254-source">
1173
+ <pre>
1174
+ /*
1175
+ * call-seq:
1176
+ * reader.move_to_first_attribute -&gt; code
1177
+ *
1178
+ * Move the position of the current instance to the first attribute associated
1179
+ * with the current node.
1180
+ */
1181
+ static VALUE
1182
+ ruby_xml_reader_move_to_first_attr(VALUE self)
1183
+ {
1184
+ return INT2FIX(xmlTextReaderMoveToFirstAttribute(ruby_xml_text_reader_get(self)));
1185
+ }
1186
+ </pre>
1187
+ </div>
1188
+ </div>
1189
+ </div>
1190
+
1191
+ <div id="method-M000255" class="method-detail">
1192
+ <a name="M000255"></a>
1193
+
1194
+ <div class="method-heading">
1195
+ <a href="#M000255" class="method-signature">
1196
+ <span class="method-name">reader.move_to_next_attribute &rarr; code<br />
1197
+ </span>
1198
+ </a>
1199
+ </div>
1200
+
1201
+ <div class="method-description">
1202
+ <p>
1203
+ Move the position of the current instance to the next attribute associated
1204
+ with the current node.
1205
+ </p>
1206
+ <p><a class="source-toggle" href="#"
1207
+ onclick="toggleCode('M000255-source');return false;">[Source]</a></p>
1208
+ <div class="method-source-code" id="M000255-source">
1209
+ <pre>
1210
+ /*
1211
+ * call-seq:
1212
+ * reader.move_to_next_attribute -&gt; code
1213
+ *
1214
+ * Move the position of the current instance to the next attribute associated
1215
+ * with the current node.
1216
+ */
1217
+ static VALUE
1218
+ ruby_xml_reader_move_to_next_attr(VALUE self)
1219
+ {
1220
+ return INT2FIX(xmlTextReaderMoveToNextAttribute(ruby_xml_text_reader_get(self)));
1221
+ }
1222
+ </pre>
1223
+ </div>
1224
+ </div>
1225
+ </div>
1226
+
1227
+ <div id="method-M000272" class="method-detail">
1228
+ <a name="M000272"></a>
1229
+
1230
+ <div class="method-heading">
1231
+ <a href="#M000272" class="method-signature">
1232
+ <span class="method-name">reader.name &rarr; name<br />
1233
+ </span>
1234
+ </a>
1235
+ </div>
1236
+
1237
+ <div class="method-description">
1238
+ <p>
1239
+ Return the qualified name of the node.
1240
+ </p>
1241
+ <p><a class="source-toggle" href="#"
1242
+ onclick="toggleCode('M000272-source');return false;">[Source]</a></p>
1243
+ <div class="method-source-code" id="M000272-source">
1244
+ <pre>
1245
+ /*
1246
+ * call-seq:
1247
+ * reader.name -&gt; name
1248
+ *
1249
+ * Return the qualified name of the node.
1250
+ */
1251
+ static VALUE
1252
+ ruby_xml_reader_name(VALUE self)
1253
+ {
1254
+ return CSTR2RVAL(xmlTextReaderConstName(ruby_xml_text_reader_get(self)));
1255
+ }
1256
+ </pre>
1257
+ </div>
1258
+ </div>
1259
+ </div>
1260
+
1261
+ <div id="method-M000294" class="method-detail">
1262
+ <a name="M000294"></a>
1263
+
1264
+ <div class="method-heading">
1265
+ <a href="#M000294" class="method-signature">
1266
+ <span class="method-name">reader.namespace_declaration? &rarr; bool<br />
1267
+ </span>
1268
+ </a>
1269
+ </div>
1270
+
1271
+ <div class="method-description">
1272
+ <p>
1273
+ Determine whether the current node is a namespace declaration rather than a
1274
+ regular attribute.
1275
+ </p>
1276
+ <p><a class="source-toggle" href="#"
1277
+ onclick="toggleCode('M000294-source');return false;">[Source]</a></p>
1278
+ <div class="method-source-code" id="M000294-source">
1279
+ <pre>
1280
+ /*
1281
+ * call-seq:
1282
+ * reader.namespace_declaration? -&gt; bool
1283
+ *
1284
+ * Determine whether the current node is a namespace declaration rather than a
1285
+ * regular attribute.
1286
+ */
1287
+ static VALUE
1288
+ ruby_xml_reader_namespace_declaration(VALUE self)
1289
+ {
1290
+ return xmlTextReaderIsNamespaceDecl(ruby_xml_text_reader_get(self)) ? Qtrue : Qfalse;
1291
+ }
1292
+ </pre>
1293
+ </div>
1294
+ </div>
1295
+ </div>
1296
+
1297
+ <div id="method-M000276" class="method-detail">
1298
+ <a name="M000276"></a>
1299
+
1300
+ <div class="method-heading">
1301
+ <a href="#M000276" class="method-signature">
1302
+ <span class="method-name">reader.namespace_uri &rarr; URI<br />
1303
+ </span>
1304
+ </a>
1305
+ </div>
1306
+
1307
+ <div class="method-description">
1308
+ <p>
1309
+ Determine the namespace URI of the node.
1310
+ </p>
1311
+ <p><a class="source-toggle" href="#"
1312
+ onclick="toggleCode('M000276-source');return false;">[Source]</a></p>
1313
+ <div class="method-source-code" id="M000276-source">
1314
+ <pre>
1315
+ /*
1316
+ * call-seq:
1317
+ * reader.namespace_uri -&gt; URI
1318
+ *
1319
+ * Determine the namespace URI of the node.
1320
+ */
1321
+ static VALUE
1322
+ ruby_xml_reader_namespace_uri(VALUE self)
1323
+ {
1324
+ return CSTR2RVAL(xmlTextReaderConstNamespaceUri(ruby_xml_text_reader_get(self)));
1325
+ }
1326
+ </pre>
1327
+ </div>
1328
+ </div>
1329
+ </div>
1330
+
1331
+ <div id="method-M000257" class="method-detail">
1332
+ <a name="M000257"></a>
1333
+
1334
+ <div class="method-heading">
1335
+ <a href="#M000257" class="method-signature">
1336
+ <span class="method-name">reader.next &rarr; code<br />
1337
+ </span>
1338
+ </a>
1339
+ </div>
1340
+
1341
+ <div class="method-description">
1342
+ <p>
1343
+ Skip to the node following the current one in document order while avoiding
1344
+ the subtree if any.
1345
+ </p>
1346
+ <p><a class="source-toggle" href="#"
1347
+ onclick="toggleCode('M000257-source');return false;">[Source]</a></p>
1348
+ <div class="method-source-code" id="M000257-source">
1349
+ <pre>
1350
+ /*
1351
+ * call-seq:
1352
+ * reader.next -&gt; code
1353
+ *
1354
+ * Skip to the node following the current one in document order while avoiding
1355
+ * the subtree if any.
1356
+ */
1357
+ static VALUE
1358
+ ruby_xml_reader_next(VALUE self)
1359
+ {
1360
+ return INT2FIX(xmlTextReaderNext(ruby_xml_text_reader_get(self)));
1361
+ }
1362
+ </pre>
1363
+ </div>
1364
+ </div>
1365
+ </div>
1366
+
1367
+ <div id="method-M000258" class="method-detail">
1368
+ <a name="M000258"></a>
1369
+
1370
+ <div class="method-heading">
1371
+ <a href="#M000258" class="method-signature">
1372
+ <span class="method-name">reader.next_sibling &rarr; code<br />
1373
+ </span>
1374
+ </a>
1375
+ </div>
1376
+
1377
+ <div class="method-description">
1378
+ <p>
1379
+ Skip to the node following the current one in document order while avoiding
1380
+ the subtree if any. Currently implemented only for Readers built on a
1381
+ document.
1382
+ </p>
1383
+ <p><a class="source-toggle" href="#"
1384
+ onclick="toggleCode('M000258-source');return false;">[Source]</a></p>
1385
+ <div class="method-source-code" id="M000258-source">
1386
+ <pre>
1387
+ /*
1388
+ * call-seq:
1389
+ * reader.next_sibling -&gt; code
1390
+ *
1391
+ * Skip to the node following the current one in document order while avoiding
1392
+ * the subtree if any. Currently implemented only for Readers built on a
1393
+ * document.
1394
+ */
1395
+ static VALUE
1396
+ ruby_xml_reader_next_sibling(VALUE self)
1397
+ {
1398
+ return INT2FIX(xmlTextReaderNextSibling(ruby_xml_text_reader_get(self)));
1399
+ }
1400
+ </pre>
1401
+ </div>
1402
+ </div>
1403
+ </div>
1404
+
1405
+ <div id="method-M000269" class="method-detail">
1406
+ <a name="M000269"></a>
1407
+
1408
+ <div class="method-heading">
1409
+ <a href="#M000269" class="method-signature">
1410
+ <span class="method-name">reader.node_type &rarr; type<br />
1411
+ </span>
1412
+ </a>
1413
+ </div>
1414
+
1415
+ <div class="method-description">
1416
+ <p>
1417
+ Get the node type of the current node. Reference: <a
1418
+ href="http://dotgnu.org/pnetlib-doc/System/Xml/XmlNodeType.html">dotgnu.org/pnetlib-doc/System/Xml/XmlNodeType.html</a>
1419
+ </p>
1420
+ <p><a class="source-toggle" href="#"
1421
+ onclick="toggleCode('M000269-source');return false;">[Source]</a></p>
1422
+ <div class="method-source-code" id="M000269-source">
1423
+ <pre>
1424
+ /*
1425
+ * call-seq:
1426
+ * reader.node_type -&gt; type
1427
+ *
1428
+ * Get the node type of the current node. Reference:
1429
+ * http://dotgnu.org/pnetlib-doc/System/Xml/XmlNodeType.html
1430
+ */
1431
+ static VALUE
1432
+ ruby_xml_reader_node_type(VALUE self)
1433
+ {
1434
+ return INT2FIX(xmlTextReaderNodeType(ruby_xml_text_reader_get(self)));
1435
+ }
1436
+ </pre>
1437
+ </div>
1438
+ </div>
1439
+ </div>
1440
+
1441
+ <div id="method-M000270" class="method-detail">
1442
+ <a name="M000270"></a>
1443
+
1444
+ <div class="method-heading">
1445
+ <a href="#M000270" class="method-signature">
1446
+ <span class="method-name">reader.normalization &rarr; value<br />
1447
+ </span>
1448
+ </a>
1449
+ </div>
1450
+
1451
+ <div class="method-description">
1452
+ <p>
1453
+ The value indicating whether to normalize white space and attribute values.
1454
+ Since attribute value and end of line normalizations are a MUST in the <a
1455
+ href="../XML.html">XML</a> specification only the value true is accepted.
1456
+ The broken bahaviour of accepting out of range character entities like
1457
+ &amp;0; is of course not supported either.
1458
+ </p>
1459
+ <p>
1460
+ Return 1 or -1 in case of error.
1461
+ </p>
1462
+ <p><a class="source-toggle" href="#"
1463
+ onclick="toggleCode('M000270-source');return false;">[Source]</a></p>
1464
+ <div class="method-source-code" id="M000270-source">
1465
+ <pre>
1466
+ /*
1467
+ * call-seq:
1468
+ * reader.normalization -&gt; value
1469
+ *
1470
+ * The value indicating whether to normalize white space and attribute values.
1471
+ * Since attribute value and end of line normalizations are a MUST in the XML
1472
+ * specification only the value true is accepted. The broken bahaviour of
1473
+ * accepting out of range character entities like &amp;#0; is of course not
1474
+ * supported either.
1475
+ *
1476
+ * Return 1 or -1 in case of error.
1477
+ */
1478
+ static VALUE
1479
+ ruby_xml_reader_normalization(VALUE self)
1480
+ {
1481
+ return INT2FIX(xmlTextReaderNormalization(ruby_xml_text_reader_get(self)));
1482
+ }
1483
+ </pre>
1484
+ </div>
1485
+ </div>
1486
+ </div>
1487
+
1488
+ <div id="method-M000279" class="method-detail">
1489
+ <a name="M000279"></a>
1490
+
1491
+ <div class="method-heading">
1492
+ <a href="#M000279" class="method-signature">
1493
+ <span class="method-name">reader.prefix &rarr; prefix<br />
1494
+ </span>
1495
+ </a>
1496
+ </div>
1497
+
1498
+ <div class="method-description">
1499
+ <p>
1500
+ Get a shorthand reference to the namespace associated with the node.
1501
+ </p>
1502
+ <p><a class="source-toggle" href="#"
1503
+ onclick="toggleCode('M000279-source');return false;">[Source]</a></p>
1504
+ <div class="method-source-code" id="M000279-source">
1505
+ <pre>
1506
+ /*
1507
+ * call-seq:
1508
+ * reader.prefix -&gt; prefix
1509
+ *
1510
+ * Get a shorthand reference to the namespace associated with the node.
1511
+ */
1512
+ static VALUE
1513
+ ruby_xml_reader_prefix(VALUE self)
1514
+ {
1515
+ return CSTR2RVAL(xmlTextReaderConstPrefix(ruby_xml_text_reader_get(self)));
1516
+ }
1517
+ </pre>
1518
+ </div>
1519
+ </div>
1520
+ </div>
1521
+
1522
+ <div id="method-M000281" class="method-detail">
1523
+ <a name="M000281"></a>
1524
+
1525
+ <div class="method-heading">
1526
+ <a href="#M000281" class="method-signature">
1527
+ <span class="method-name">reader.quote_char &rarr; char<br />
1528
+ </span>
1529
+ </a>
1530
+ </div>
1531
+
1532
+ <div class="method-description">
1533
+ <p>
1534
+ Get the quotation mark character used to enclose the value of an attribute,
1535
+ as an integer value (and -1 in case of error).
1536
+ </p>
1537
+ <p><a class="source-toggle" href="#"
1538
+ onclick="toggleCode('M000281-source');return false;">[Source]</a></p>
1539
+ <div class="method-source-code" id="M000281-source">
1540
+ <pre>
1541
+ /*
1542
+ * call-seq:
1543
+ * reader.quote_char -&gt; char
1544
+ *
1545
+ * Get the quotation mark character used to enclose the value of an attribute,
1546
+ * as an integer value (and -1 in case of error).
1547
+ */
1548
+ static VALUE
1549
+ ruby_xml_reader_quote_char(VALUE self)
1550
+ {
1551
+ return INT2FIX(xmlTextReaderQuoteChar(ruby_xml_text_reader_get(self)));
1552
+ }
1553
+ </pre>
1554
+ </div>
1555
+ </div>
1556
+ </div>
1557
+
1558
+ <div id="method-M000259" class="method-detail">
1559
+ <a name="M000259"></a>
1560
+
1561
+ <div class="method-heading">
1562
+ <a href="#M000259" class="method-signature">
1563
+ <span class="method-name">reader.read &rarr; code<br />
1564
+ </span>
1565
+ </a>
1566
+ </div>
1567
+
1568
+ <div class="method-description">
1569
+ <p>
1570
+ Move the position of the current instance to the next node in the stream,
1571
+ exposing its properties.
1572
+ </p>
1573
+ <p>
1574
+ Return 1 if the node was read successfully, 0 if there is no more nodes to
1575
+ read, or -1 in case of error.
1576
+ </p>
1577
+ <p><a class="source-toggle" href="#"
1578
+ onclick="toggleCode('M000259-source');return false;">[Source]</a></p>
1579
+ <div class="method-source-code" id="M000259-source">
1580
+ <pre>
1581
+ /*
1582
+ * call-seq:
1583
+ * reader.read -&gt; code
1584
+ *
1585
+ * Move the position of the current instance to the next node in the stream,
1586
+ * exposing its properties.
1587
+ *
1588
+ * Return 1 if the node was read successfully, 0 if there is no more nodes to
1589
+ * read, or -1 in case of error.
1590
+ */
1591
+ static VALUE
1592
+ ruby_xml_reader_read(VALUE self)
1593
+ {
1594
+ return INT2FIX(xmlTextReaderRead(ruby_xml_text_reader_get(self)));
1595
+ }
1596
+ </pre>
1597
+ </div>
1598
+ </div>
1599
+ </div>
1600
+
1601
+ <div id="method-M000260" class="method-detail">
1602
+ <a name="M000260"></a>
1603
+
1604
+ <div class="method-heading">
1605
+ <a href="#M000260" class="method-signature">
1606
+ <span class="method-name">reader.read_attribute_value &rarr; code<br />
1607
+ </span>
1608
+ </a>
1609
+ </div>
1610
+
1611
+ <div class="method-description">
1612
+ <p>
1613
+ Parse an attribute value into one or more Text and EntityReference nodes.
1614
+ </p>
1615
+ <p>
1616
+ Return 1 in case of success, 0 if the reader was not positionned on an
1617
+ attribute node or all the attribute values have been read, or -1 in case of
1618
+ error.
1619
+ </p>
1620
+ <p><a class="source-toggle" href="#"
1621
+ onclick="toggleCode('M000260-source');return false;">[Source]</a></p>
1622
+ <div class="method-source-code" id="M000260-source">
1623
+ <pre>
1624
+ /*
1625
+ * call-seq:
1626
+ * reader.read_attribute_value -&gt; code
1627
+ *
1628
+ * Parse an attribute value into one or more Text and EntityReference nodes.
1629
+ *
1630
+ * Return 1 in case of success, 0 if the reader was not positionned on an
1631
+ * attribute node or all the attribute values have been read, or -1 in case of
1632
+ * error.
1633
+ */
1634
+ static VALUE
1635
+ ruby_xml_reader_read_attr_value(VALUE self)
1636
+ {
1637
+ return INT2FIX(xmlTextReaderReadAttributeValue(ruby_xml_text_reader_get(self)));
1638
+ }
1639
+ </pre>
1640
+ </div>
1641
+ </div>
1642
+ </div>
1643
+
1644
+ <div id="method-M000261" class="method-detail">
1645
+ <a name="M000261"></a>
1646
+
1647
+ <div class="method-heading">
1648
+ <a href="#M000261" class="method-signature">
1649
+ <span class="method-name">reader.read_inner_xml &rarr; data<br />
1650
+ </span>
1651
+ </a>
1652
+ </div>
1653
+
1654
+ <div class="method-description">
1655
+ <p>
1656
+ Read the contents of the current node, including child nodes and markup.
1657
+ </p>
1658
+ <p>
1659
+ Return a string containing the <a href="../XML.html">XML</a> content, or
1660
+ nil if the current node is neither an element nor attribute, or has no
1661
+ child nodes.
1662
+ </p>
1663
+ <p><a class="source-toggle" href="#"
1664
+ onclick="toggleCode('M000261-source');return false;">[Source]</a></p>
1665
+ <div class="method-source-code" id="M000261-source">
1666
+ <pre>
1667
+ /*
1668
+ * call-seq:
1669
+ * reader.read_inner_xml -&gt; data
1670
+ *
1671
+ * Read the contents of the current node, including child nodes and markup.
1672
+ *
1673
+ * Return a string containing the XML content, or nil if the current node is
1674
+ * neither an element nor attribute, or has no child nodes.
1675
+ */
1676
+ static VALUE
1677
+ ruby_xml_reader_read_inner_xml(VALUE self)
1678
+ {
1679
+ return CSTR2RVAL2(xmlTextReaderReadInnerXml(ruby_xml_text_reader_get(self)));
1680
+ }
1681
+ </pre>
1682
+ </div>
1683
+ </div>
1684
+ </div>
1685
+
1686
+ <div id="method-M000262" class="method-detail">
1687
+ <a name="M000262"></a>
1688
+
1689
+ <div class="method-heading">
1690
+ <a href="#M000262" class="method-signature">
1691
+ <span class="method-name">reader.read_outer_xml &rarr; data<br />
1692
+ </span>
1693
+ </a>
1694
+ </div>
1695
+
1696
+ <div class="method-description">
1697
+ <p>
1698
+ Read the contents of the current node, including child nodes and markup.
1699
+ </p>
1700
+ <p>
1701
+ Return a string containing the <a href="../XML.html">XML</a> content, or
1702
+ nil if the current node is neither an element nor attribute, or has no
1703
+ child nodes.
1704
+ </p>
1705
+ <p><a class="source-toggle" href="#"
1706
+ onclick="toggleCode('M000262-source');return false;">[Source]</a></p>
1707
+ <div class="method-source-code" id="M000262-source">
1708
+ <pre>
1709
+ /*
1710
+ * call-seq:
1711
+ * reader.read_outer_xml -&gt; data
1712
+ *
1713
+ * Read the contents of the current node, including child nodes and markup.
1714
+ *
1715
+ * Return a string containing the XML content, or nil if the current node is
1716
+ * neither an element nor attribute, or has no child nodes.
1717
+ */
1718
+ static VALUE
1719
+ ruby_xml_reader_read_outer_xml(VALUE self)
1720
+ {
1721
+ return CSTR2RVAL2(xmlTextReaderReadOuterXml(ruby_xml_text_reader_get(self)));
1722
+ }
1723
+ </pre>
1724
+ </div>
1725
+ </div>
1726
+ </div>
1727
+
1728
+ <div id="method-M000263" class="method-detail">
1729
+ <a name="M000263"></a>
1730
+
1731
+ <div class="method-heading">
1732
+ <a href="#M000263" class="method-signature">
1733
+ <span class="method-name">reader.read_state &rarr; state<br />
1734
+ </span>
1735
+ </a>
1736
+ </div>
1737
+
1738
+ <div class="method-description">
1739
+ <p>
1740
+ Get the read state of the reader.
1741
+ </p>
1742
+ <p><a class="source-toggle" href="#"
1743
+ onclick="toggleCode('M000263-source');return false;">[Source]</a></p>
1744
+ <div class="method-source-code" id="M000263-source">
1745
+ <pre>
1746
+ /*
1747
+ * call-seq:
1748
+ * reader.read_state -&gt; state
1749
+ *
1750
+ * Get the read state of the reader.
1751
+ */
1752
+ static VALUE
1753
+ ruby_xml_reader_read_state(VALUE self)
1754
+ {
1755
+ return INT2FIX(xmlTextReaderReadState(ruby_xml_text_reader_get(self)));
1756
+ }
1757
+ </pre>
1758
+ </div>
1759
+ </div>
1760
+ </div>
1761
+
1762
+ <div id="method-M000264" class="method-detail">
1763
+ <a name="M000264"></a>
1764
+
1765
+ <div class="method-heading">
1766
+ <a href="#M000264" class="method-signature">
1767
+ <span class="method-name">reader.read_string &rarr; string<br />
1768
+ </span>
1769
+ </a>
1770
+ </div>
1771
+
1772
+ <div class="method-description">
1773
+ <p>
1774
+ Read the contents of an element or a text node as a string.
1775
+ </p>
1776
+ <p>
1777
+ Return a string containing the contents of the Element or Text node, or nil
1778
+ if the reader is positioned on any other type of node.
1779
+ </p>
1780
+ <p><a class="source-toggle" href="#"
1781
+ onclick="toggleCode('M000264-source');return false;">[Source]</a></p>
1782
+ <div class="method-source-code" id="M000264-source">
1783
+ <pre>
1784
+ /*
1785
+ * call-seq:
1786
+ * reader.read_string -&gt; string
1787
+ *
1788
+ * Read the contents of an element or a text node as a string.
1789
+ *
1790
+ * Return a string containing the contents of the Element or Text node, or nil
1791
+ * if the reader is positioned on any other type of node.
1792
+ */
1793
+ static VALUE
1794
+ ruby_xml_reader_read_string(VALUE self)
1795
+ {
1796
+ return CSTR2RVAL2(xmlTextReaderReadString(ruby_xml_text_reader_get(self)));
1797
+ }
1798
+ </pre>
1799
+ </div>
1800
+ </div>
1801
+ </div>
1802
+
1803
+ <div id="method-M000267" class="method-detail">
1804
+ <a name="M000267"></a>
1805
+
1806
+ <div class="method-heading">
1807
+ <a href="#M000267" class="method-signature">
1808
+ <span class="method-name">reader.relax_ng_validate(rng) &rarr; code<br />
1809
+ </span>
1810
+ </a>
1811
+ </div>
1812
+
1813
+ <div class="method-description">
1814
+ <p>
1815
+ Use RelaxNG to validate the document as it is processed. Activation is only
1816
+ possible before the first read. If <tt>rng</tt> is nil, the RelaxNG
1817
+ validation is desactivated.
1818
+ </p>
1819
+ <p>
1820
+ Return 0 in case the RelaxNG validation could be (des)activated and -1 in
1821
+ case of error.
1822
+ </p>
1823
+ <p><a class="source-toggle" href="#"
1824
+ onclick="toggleCode('M000267-source');return false;">[Source]</a></p>
1825
+ <div class="method-source-code" id="M000267-source">
1826
+ <pre>
1827
+ /*
1828
+ * call-seq:
1829
+ * reader.relax_ng_validate(rng) -&gt; code
1830
+ *
1831
+ * Use RelaxNG to validate the document as it is processed. Activation is only
1832
+ * possible before the first read. If +rng+ is nil, the RelaxNG validation is
1833
+ * desactivated.
1834
+ *
1835
+ * Return 0 in case the RelaxNG validation could be (des)activated and -1 in
1836
+ * case of error.
1837
+ */
1838
+ static VALUE
1839
+ ruby_xml_reader_relax_ng_validate(VALUE self, VALUE rng)
1840
+ {
1841
+ return INT2FIX(xmlTextReaderRelaxNGValidate(ruby_xml_text_reader_get(self), NIL_P(rng) ? NULL : RVAL2CSTR(rng)));
1842
+ }
1843
+ </pre>
1844
+ </div>
1845
+ </div>
1846
+ </div>
1847
+
1848
+ <div id="method-M000266" class="method-detail">
1849
+ <a name="M000266"></a>
1850
+
1851
+ <div class="method-heading">
1852
+ <a href="#M000266" class="method-signature">
1853
+ <span class="method-name">reader.reset_error_handler<br />
1854
+ </span>
1855
+ </a>
1856
+ </div>
1857
+
1858
+ <div class="method-description">
1859
+ <p>
1860
+ Restore the default error and warning handlers.
1861
+ </p>
1862
+ <p><a class="source-toggle" href="#"
1863
+ onclick="toggleCode('M000266-source');return false;">[Source]</a></p>
1864
+ <div class="method-source-code" id="M000266-source">
1865
+ <pre>
1866
+ /*
1867
+ * call-seq:
1868
+ * reader.reset_error_handler
1869
+ *
1870
+ * Restore the default error and warning handlers.
1871
+ */
1872
+ static VALUE
1873
+ ruby_xml_reader_reset_error_handler(VALUE self)
1874
+ {
1875
+ xmlTextReaderSetErrorHandler(ruby_xml_text_reader_get(self), NULL, NULL);
1876
+ return self;
1877
+ }
1878
+ </pre>
1879
+ </div>
1880
+ </div>
1881
+ </div>
1882
+
1883
+ <div id="method-M000268" class="method-detail">
1884
+ <a name="M000268"></a>
1885
+
1886
+ <div class="method-heading">
1887
+ <a href="#M000268" class="method-signature">
1888
+ <span class="method-name">reader.schema_validate(schema) &rarr; code<br />
1889
+ </span>
1890
+ </a>
1891
+ </div>
1892
+
1893
+ <div class="method-description">
1894
+ <p>
1895
+ Use W3C XSD schema to validate the document as it is processed. Activation
1896
+ is only possible before the first read. If <tt>schema</tt> is nil, then <a
1897
+ href="../XML.html">XML</a> Schema validation is desactivated.
1898
+ </p>
1899
+ <p>
1900
+ Return 0 in case the schemas validation could be (de)activated and -1 in
1901
+ case of error.
1902
+ </p>
1903
+ <p><a class="source-toggle" href="#"
1904
+ onclick="toggleCode('M000268-source');return false;">[Source]</a></p>
1905
+ <div class="method-source-code" id="M000268-source">
1906
+ <pre>
1907
+ /*
1908
+ * call-seq:
1909
+ * reader.schema_validate(schema) -&gt; code
1910
+ *
1911
+ * Use W3C XSD schema to validate the document as it is processed. Activation
1912
+ * is only possible before the first read. If +schema+ is nil, then XML Schema
1913
+ * validation is desactivated.
1914
+ *
1915
+ * Return 0 in case the schemas validation could be (de)activated and -1 in
1916
+ * case of error.
1917
+ */
1918
+ static VALUE
1919
+ ruby_xml_reader_schema_validate(VALUE self, VALUE xsd)
1920
+ {
1921
+ return INT2FIX(xmlTextReaderSchemaValidate(ruby_xml_text_reader_get(self), NIL_P(xsd) ? NULL : RVAL2CSTR(xsd)));
1922
+ }
1923
+ </pre>
1924
+ </div>
1925
+ </div>
1926
+ </div>
1927
+
1928
+ <div id="method-M000265" class="method-detail">
1929
+ <a name="M000265"></a>
1930
+
1931
+ <div class="method-heading">
1932
+ <a href="#M000265" class="method-signature">
1933
+ <span class="method-name">reader.set_error_handler { ... }<br />
1934
+ </span>
1935
+ </a>
1936
+ </div>
1937
+
1938
+ <div class="method-description">
1939
+ <p>
1940
+ Register a callback block that will be called on error and warnings. The
1941
+ block will be called with 5 parameters: the reader, the error message, the
1942
+ severity, the base URI and the line number.
1943
+ </p>
1944
+ <p><a class="source-toggle" href="#"
1945
+ onclick="toggleCode('M000265-source');return false;">[Source]</a></p>
1946
+ <div class="method-source-code" id="M000265-source">
1947
+ <pre>
1948
+ /*
1949
+ * call-seq:
1950
+ * reader.set_error_handler { ... }
1951
+ *
1952
+ * Register a callback block that will be called on error and warnings. The
1953
+ * block will be called with 5 parameters: the reader, the error message, the
1954
+ * severity, the base URI and the line number.
1955
+ */
1956
+ static VALUE
1957
+ ruby_xml_reader_set_error_handler(VALUE self)
1958
+ {
1959
+ VALUE block;
1960
+ xmlTextReaderPtr reader;
1961
+
1962
+ if (rb_block_given_p() == Qfalse)
1963
+ rb_raise(rb_eRuntimeError, &quot;No block given&quot;);
1964
+
1965
+ block = rb_block_proc();
1966
+
1967
+ /* Embed the block within the parser object to avoid it to be collected.
1968
+ * Previous handler if exits is overwritten.
1969
+ */
1970
+ rb_ivar_set(self, error_handler_block_ivar_id, block);
1971
+ reader = ruby_xml_text_reader_get(self);
1972
+ xmlTextReaderSetErrorHandler(reader, __xml_reader_error_cb, (void *)self);
1973
+
1974
+ return self;
1975
+ }
1976
+ </pre>
1977
+ </div>
1978
+ </div>
1979
+ </div>
1980
+
1981
+ <div id="method-M000282" class="method-detail">
1982
+ <a name="M000282"></a>
1983
+
1984
+ <div class="method-heading">
1985
+ <a href="#M000282" class="method-signature">
1986
+ <span class="method-name">reader.standalone &rarr; code<br />
1987
+ </span>
1988
+ </a>
1989
+ </div>
1990
+
1991
+ <div class="method-description">
1992
+ <p>
1993
+ Determine the standalone status of the document being read.
1994
+ </p>
1995
+ <p>
1996
+ Return 1 if the document was declared to be standalone, 0 if it was
1997
+ declared to be not standalone, or -1 if the document did not specify its
1998
+ standalone status or in case of error.
1999
+ </p>
2000
+ <p><a class="source-toggle" href="#"
2001
+ onclick="toggleCode('M000282-source');return false;">[Source]</a></p>
2002
+ <div class="method-source-code" id="M000282-source">
2003
+ <pre>
2004
+ /*
2005
+ * call-seq:
2006
+ * reader.standalone -&gt; code
2007
+ *
2008
+ * Determine the standalone status of the document being read.
2009
+ *
2010
+ * Return 1 if the document was declared to be standalone, 0 if it was
2011
+ * declared to be not standalone, or -1 if the document did not specify its
2012
+ * standalone status or in case of error.
2013
+ */
2014
+ static VALUE
2015
+ ruby_xml_reader_standalone(VALUE self)
2016
+ {
2017
+ return INT2FIX(xmlTextReaderStandalone(ruby_xml_text_reader_get(self)));
2018
+ }
2019
+ </pre>
2020
+ </div>
2021
+ </div>
2022
+ </div>
2023
+
2024
+ <div id="method-M000295" class="method-detail">
2025
+ <a name="M000295"></a>
2026
+
2027
+ <div class="method-heading">
2028
+ <a href="#M000295" class="method-signature">
2029
+ <span class="method-name">reader.valid? &rarr; bool<br />
2030
+ </span>
2031
+ </a>
2032
+ </div>
2033
+
2034
+ <div class="method-description">
2035
+ <p>
2036
+ Retrieve the validity status from the parser context.
2037
+ </p>
2038
+ <p><a class="source-toggle" href="#"
2039
+ onclick="toggleCode('M000295-source');return false;">[Source]</a></p>
2040
+ <div class="method-source-code" id="M000295-source">
2041
+ <pre>
2042
+ /*
2043
+ * call-seq:
2044
+ * reader.valid? -&gt; bool
2045
+ *
2046
+ * Retrieve the validity status from the parser context.
2047
+ */
2048
+ static VALUE
2049
+ ruby_xml_reader_valid(VALUE self)
2050
+ {
2051
+ return xmlTextReaderIsValid(ruby_xml_text_reader_get(self)) ? Qtrue : Qfalse;
2052
+ }
2053
+ </pre>
2054
+ </div>
2055
+ </div>
2056
+ </div>
2057
+
2058
+ <div id="method-M000286" class="method-detail">
2059
+ <a name="M000286"></a>
2060
+
2061
+ <div class="method-heading">
2062
+ <a href="#M000286" class="method-signature">
2063
+ <span class="method-name">reader.value &rarr; text<br />
2064
+ </span>
2065
+ </a>
2066
+ </div>
2067
+
2068
+ <div class="method-description">
2069
+ <p>
2070
+ Provide the text value of the node if present.
2071
+ </p>
2072
+ <p><a class="source-toggle" href="#"
2073
+ onclick="toggleCode('M000286-source');return false;">[Source]</a></p>
2074
+ <div class="method-source-code" id="M000286-source">
2075
+ <pre>
2076
+ /*
2077
+ * call-seq:
2078
+ * reader.value -&gt; text
2079
+ *
2080
+ * Provide the text value of the node if present.
2081
+ */
2082
+ static VALUE
2083
+ ruby_xml_reader_value(VALUE self)
2084
+ {
2085
+ return CSTR2RVAL(xmlTextReaderConstValue(ruby_xml_text_reader_get(self)));
2086
+ }
2087
+ </pre>
2088
+ </div>
2089
+ </div>
2090
+ </div>
2091
+
2092
+ <div id="method-M000277" class="method-detail">
2093
+ <a name="M000277"></a>
2094
+
2095
+ <div class="method-heading">
2096
+ <a href="#M000277" class="method-signature">
2097
+ <span class="method-name">reader.xml_lang &rarr; value<br />
2098
+ </span>
2099
+ </a>
2100
+ </div>
2101
+
2102
+ <div class="method-description">
2103
+ <p>
2104
+ Get the xml:lang scope within which the node resides.
2105
+ </p>
2106
+ <p><a class="source-toggle" href="#"
2107
+ onclick="toggleCode('M000277-source');return false;">[Source]</a></p>
2108
+ <div class="method-source-code" id="M000277-source">
2109
+ <pre>
2110
+ /*
2111
+ * call-seq:
2112
+ * reader.xml_lang -&gt; value
2113
+ *
2114
+ * Get the xml:lang scope within which the node resides.
2115
+ */
2116
+ static VALUE
2117
+ ruby_xml_reader_xml_lang(VALUE self)
2118
+ {
2119
+ return CSTR2RVAL(xmlTextReaderConstXmlLang(ruby_xml_text_reader_get(self)));
2120
+ }
2121
+ </pre>
2122
+ </div>
2123
+ </div>
2124
+ </div>
2125
+
2126
+ <div id="method-M000278" class="method-detail">
2127
+ <a name="M000278"></a>
2128
+
2129
+ <div class="method-heading">
2130
+ <a href="#M000278" class="method-signature">
2131
+ <span class="method-name">reader.xml_version &rarr; version<br />
2132
+ </span>
2133
+ </a>
2134
+ </div>
2135
+
2136
+ <div class="method-description">
2137
+ <p>
2138
+ Determine the <a href="../XML.html">XML</a> version of the document being
2139
+ read.
2140
+ </p>
2141
+ <p><a class="source-toggle" href="#"
2142
+ onclick="toggleCode('M000278-source');return false;">[Source]</a></p>
2143
+ <div class="method-source-code" id="M000278-source">
2144
+ <pre>
2145
+ /*
2146
+ * call-seq:
2147
+ * reader.xml_version -&gt; version
2148
+ *
2149
+ * Determine the XML version of the document being read.
2150
+ */
2151
+ static VALUE
2152
+ ruby_xml_reader_xml_version(VALUE self)
2153
+ {
2154
+ return CSTR2RVAL(xmlTextReaderConstXmlVersion(ruby_xml_text_reader_get(self)));
2155
+ }
2156
+ </pre>
2157
+ </div>
2158
+ </div>
2159
+ </div>
2160
+
2161
+
2162
+ </div>
2163
+
2164
+
2165
+ </div>
2166
+
2167
+
2168
+ <div id="validator-badges">
2169
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
2170
+ </div>
2171
+
2172
+ </body>
2173
+ </html>