libxml-ruby 0.7.0-x86-mswin32-60 → 0.8.0-x86-mswin32-60
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +24 -1
- data/README +48 -3
- data/benchmark/depixelate.rb +632 -0
- data/benchmark/hamlet.xml +9055 -0
- data/benchmark/sock_entries.xml +507 -0
- data/benchmark/throughput.rb +39 -0
- data/benchmark/xml_benchmarks.rb +222 -0
- data/doc/classes/LibXML.html +237 -0
- data/doc/classes/LibXML/XML.html +178 -0
- data/doc/classes/{XML → LibXML/XML}/Attr.html +213 -182
- data/doc/classes/{XML → LibXML/XML}/Attributes.html +126 -54
- data/doc/classes/{XML → LibXML/XML}/Document.html +299 -297
- data/doc/classes/{XML → LibXML/XML}/Dtd.html +10 -10
- data/doc/classes/{XML/XInclude → LibXML/XML}/Error.html +4 -4
- data/doc/classes/{XML → LibXML/XML}/HTMLParser.html +40 -40
- data/doc/classes/{XML → LibXML/XML}/InputCallbacks.html +10 -10
- data/doc/classes/{XML → LibXML/XML}/NS.html +46 -46
- data/doc/classes/{XML → LibXML/XML}/Node.html +935 -788
- data/doc/classes/LibXML/XML/Node/FailedModify.html +111 -0
- data/doc/classes/{XML → LibXML/XML}/Node/Set.html +69 -68
- data/doc/classes/{XML → LibXML/XML}/Node/SetNamespace.html +4 -4
- data/doc/classes/{XML/Node/FailedModify.html → LibXML/XML/Node/UnknownType.html} +4 -4
- data/doc/classes/{XML → LibXML/XML}/Parser.html +426 -389
- data/doc/classes/{XML → LibXML/XML}/Parser/Context.html +208 -208
- data/doc/classes/{XML → LibXML/XML}/Parser/ParseError.html +4 -4
- data/doc/classes/{XML → LibXML/XML}/Reader.html +288 -287
- data/doc/classes/{XML → LibXML/XML}/SaxParser.html +52 -52
- data/doc/classes/{XML/XPath/Context.html → LibXML/XML/Schema.html} +60 -32
- data/doc/classes/{XML → LibXML/XML}/State.html +4 -4
- data/doc/classes/{XML/Node/UnknownType.html → LibXML/XML/Tree.html} +5 -5
- data/doc/classes/{XML → LibXML/XML}/XInclude.html +5 -5
- data/doc/classes/{XML → LibXML/XML/XInclude}/Error.html +5 -5
- data/doc/classes/{XML → LibXML/XML}/XMLParserOptions.html +5 -5
- data/doc/classes/{XML → LibXML/XML}/XPath.html +23 -64
- data/doc/classes/LibXML/XML/XPath/Context.html +403 -0
- data/doc/classes/{XML/XPointer/Context → LibXML/XML/XPath}/InvalidPath.html +4 -4
- data/doc/classes/LibXML/XML/XPath/Object.html +623 -0
- data/doc/classes/{XML → LibXML/XML}/XPointer.html +12 -12
- data/doc/classes/{XML → LibXML/XML}/XPointer/Context.html +5 -5
- data/doc/classes/{XML/XPath → LibXML/XML/XPointer/Context}/InvalidPath.html +5 -5
- data/doc/classes/{XML → LibXML/XML}/XPointer/InvalidExpression.html +4 -4
- data/doc/classes/XML.html +17 -123
- data/doc/created.rid +1 -1
- data/doc/files/CHANGES.html +49 -25
- data/doc/files/LICENSE.html +1 -1
- data/doc/files/README.html +79 -4
- data/doc/files/VERSION.html +2 -2
- data/doc/files/ext/libxml/cbg_c.html +1 -1
- data/doc/files/ext/libxml/libxml_c.html +1 -1
- data/doc/files/ext/libxml/ruby_xml_attr_c.html +1 -1
- data/doc/files/ext/libxml/ruby_xml_attributes_c.html +1 -1
- data/doc/files/ext/libxml/ruby_xml_document_c.html +1 -1
- data/doc/files/ext/libxml/ruby_xml_dtd_c.html +1 -1
- data/doc/files/ext/libxml/ruby_xml_html_parser_c.html +1 -1
- data/doc/files/ext/libxml/ruby_xml_input_cbg_c.html +1 -1
- data/doc/files/ext/libxml/ruby_xml_node_c.html +1 -1
- data/doc/files/ext/libxml/ruby_xml_node_set_c.html +1 -1
- data/doc/files/ext/libxml/ruby_xml_ns_c.html +1 -1
- data/doc/files/ext/libxml/ruby_xml_parser_c.html +1 -1
- data/doc/files/ext/libxml/ruby_xml_parser_context_c.html +1 -1
- data/doc/files/ext/libxml/ruby_xml_reader_c.html +1 -1
- data/doc/files/ext/libxml/ruby_xml_sax_parser_c.html +1 -1
- data/doc/files/ext/libxml/ruby_xml_schema_c.html +1 -1
- data/doc/files/ext/libxml/ruby_xml_state_c.html +1 -1
- data/doc/files/ext/libxml/ruby_xml_xinclude_c.html +1 -1
- data/doc/files/ext/libxml/ruby_xml_xpath_c.html +1 -1
- data/doc/files/ext/libxml/ruby_xml_xpath_context_c.html +1 -1
- data/doc/files/ext/libxml/ruby_xml_xpath_object_c.html +1 -1
- data/doc/files/ext/libxml/ruby_xml_xpointer_c.html +1 -1
- data/doc/files/ext/libxml/ruby_xml_xpointer_context_c.html +1 -1
- data/doc/files/lib/libxml/attr_rb.html +108 -0
- data/doc/files/lib/libxml/attributes_rb.html +108 -0
- data/doc/files/lib/libxml/document_rb.html +108 -0
- data/doc/files/lib/libxml/node_rb.html +108 -0
- data/doc/files/lib/libxml/node_set_rb.html +108 -0
- data/doc/files/lib/libxml/parser_options_rb.html +107 -0
- data/doc/files/{ext/libxml/ruby_xml_tree_c.html → lib/libxml/parser_rb.html} +4 -4
- data/doc/files/lib/libxml/properties_rb.html +108 -0
- data/doc/files/lib/libxml/tree_rb.html +107 -0
- data/doc/files/lib/libxml_rb.html +12 -3
- data/doc/fr_class_index.html +34 -32
- data/doc/fr_file_index.html +9 -1
- data/doc/fr_method_index.html +362 -347
- data/ext/libxml/cbg.c +76 -76
- data/ext/libxml/libxml.c +4 -3
- data/ext/libxml/ruby_libxml.h +1 -1
- data/ext/libxml/ruby_xml_attr.c +4 -3
- data/ext/libxml/ruby_xml_attr.h +16 -16
- data/ext/libxml/ruby_xml_attributes.c +267 -266
- data/ext/libxml/ruby_xml_attributes.h +17 -17
- data/ext/libxml/ruby_xml_document.c +30 -59
- data/ext/libxml/ruby_xml_document.h +27 -27
- data/ext/libxml/ruby_xml_dtd.c +2 -1
- data/ext/libxml/ruby_xml_dtd.h +17 -17
- data/ext/libxml/ruby_xml_html_parser.c +3 -2
- data/ext/libxml/ruby_xml_html_parser.h +29 -29
- data/ext/libxml/ruby_xml_input_cbg.c +2 -1
- data/ext/libxml/ruby_xml_input_cbg.h +20 -20
- data/ext/libxml/ruby_xml_node.c +127 -470
- data/ext/libxml/ruby_xml_node.h +17 -17
- data/ext/libxml/ruby_xml_node_set.c +5 -4
- data/ext/libxml/ruby_xml_node_set.h +20 -20
- data/ext/libxml/ruby_xml_ns.c +3 -2
- data/ext/libxml/ruby_xml_ns.h +12 -12
- data/ext/libxml/ruby_xml_parser.c +20 -48
- data/ext/libxml/ruby_xml_parser.h +31 -31
- data/ext/libxml/ruby_xml_parser_context.c +3 -2
- data/ext/libxml/ruby_xml_parser_context.h +20 -20
- data/ext/libxml/ruby_xml_reader.c +2 -1
- data/ext/libxml/ruby_xml_sax_parser.c +3 -2
- data/ext/libxml/ruby_xml_sax_parser.h +56 -56
- data/ext/libxml/ruby_xml_schema.c +6 -0
- data/ext/libxml/ruby_xml_schema.h +16 -16
- data/ext/libxml/ruby_xml_state.c +13 -12
- data/ext/libxml/ruby_xml_state.h +1 -1
- data/ext/libxml/ruby_xml_xinclude.c +3 -2
- data/ext/libxml/ruby_xml_xinclude.h +13 -13
- data/ext/libxml/ruby_xml_xpath.c +35 -228
- data/ext/libxml/ruby_xml_xpath.h +22 -23
- data/ext/libxml/ruby_xml_xpath_context.c +223 -62
- data/ext/libxml/ruby_xml_xpath_context.h +15 -20
- data/ext/libxml/ruby_xml_xpath_object.c +63 -19
- data/ext/libxml/ruby_xml_xpointer.c +19 -15
- data/ext/libxml/ruby_xml_xpointer.h +27 -27
- data/ext/libxml/ruby_xml_xpointer_context.c +3 -2
- data/ext/libxml/ruby_xml_xpointer_context.h +18 -18
- data/ext/libxml/version.h +9 -9
- data/lib/libxml.rb +16 -128
- data/lib/libxml/attr.rb +45 -0
- data/lib/libxml/attributes.rb +15 -0
- data/lib/libxml/document.rb +54 -0
- data/lib/libxml/node.rb +132 -0
- data/lib/libxml/node_set.rb +27 -0
- data/lib/libxml/parser.rb +42 -0
- data/lib/libxml/parser_options.rb +25 -0
- data/lib/libxml/properties.rb +19 -0
- data/lib/libxml/tree.rb +29 -0
- data/lib/libxml_ruby.so +0 -0
- data/mingw/libxml_ruby.so +0 -0
- data/{work/task/setup → setup.rb} +1585 -1616
- data/test/gc.log +0 -0
- data/test/model/books.xml +147 -0
- data/{work/test/runner.rb → test/model/default_validation_bug.rb} +0 -0
- data/test/model/merge_bug_data.xml +58 -0
- data/test/model/rubynet.xml +78 -0
- data/test/model/rubynet_project +1 -0
- data/test/model/saxtest.xml +5 -0
- data/test/model/shiporder.xml +23 -0
- data/test/model/shiporder.xsd +31 -0
- data/test/model/simple.xml +7 -0
- data/test/model/soap.xml +27 -0
- data/test/model/xinclude.xml +5 -0
- data/test/tc_deprecated_require.rb +13 -0
- data/test/tc_xml_document.rb +57 -16
- data/test/tc_xml_document_write.rb +125 -10
- data/test/tc_xml_dtd.rb +22 -1
- data/test/tc_xml_node.rb +13 -0
- data/test/tc_xml_node_edit.rb +1 -1
- data/test/tc_xml_node_xlink.rb +1 -1
- data/test/tc_xml_parser.rb +64 -7
- data/test/tc_xml_properties.rb +42 -0
- data/test/tc_xml_reader.rb +4 -4
- data/test/tc_xml_sax_parser.rb +50 -50
- data/test/tc_xml_schema.rb +2 -2
- data/test/tc_xml_traversal.rb +220 -0
- data/test/tc_xml_xinclude.rb +12 -15
- data/test/tc_xml_xpath.rb +74 -6
- data/test/tc_xml_xpath_context.rb +72 -0
- data/test/test_suite.rb +6 -4
- data/vc/libxml_ruby.vcproj +1 -9
- metadata +92 -65
- data/doc/classes/XML/SiblingEnum.html +0 -142
- data/doc/classes/XML/Tree.html +0 -224
- data/doc/classes/XML/XPath/Object.html +0 -439
- data/ext/libxml/ruby_xml_tree.c +0 -43
- data/ext/libxml/ruby_xml_tree.h +0 -12
- data/test/ets_copy_bug2.rb +0 -21
- data/test/tc_xml_document_write2.rb +0 -54
- data/test/tc_xml_document_write3.rb +0 -96
- data/test/tc_xml_sax_parser2.rb +0 -51
- data/work/Rakefile +0 -247
- data/work/task/make +0 -26
- data/work/task/memory +0 -37
- data/work/task/rdoc +0 -39
- data/work/task/test +0 -29
- data/work/test/ets_runner.rb +0 -33
- data/work/test/libxml_test.rb +0 -3
- data/work/test/runner_ets.rb +0 -33
@@ -1,17 +1,17 @@
|
|
1
|
-
/* $Id: ruby_xml_attributes.h 282 2008-07-01 06:44:30Z cfis $ */
|
2
|
-
|
3
|
-
/* Please see the LICENSE file for copyright and distribution information */
|
4
|
-
|
5
|
-
#ifndef __RUBY_XML_ATTRIBUTES__
|
6
|
-
#define __RUBY_XML_ATTRIBUTES__
|
7
|
-
|
8
|
-
extern VALUE cXMLAttributesibutes;
|
9
|
-
|
10
|
-
void ruby_init_xml_attributes(void);
|
11
|
-
VALUE ruby_xml_attributes_new(xmlNodePtr xnode);
|
12
|
-
|
13
|
-
VALUE ruby_xml_attributes_attribute_get(VALUE self, VALUE name);
|
14
|
-
VALUE ruby_xml_attributes_attribute_set(VALUE self, VALUE name, VALUE value);
|
15
|
-
|
16
|
-
|
17
|
-
#endif
|
1
|
+
/* $Id: ruby_xml_attributes.h 282 2008-07-01 06:44:30Z cfis $ */
|
2
|
+
|
3
|
+
/* Please see the LICENSE file for copyright and distribution information */
|
4
|
+
|
5
|
+
#ifndef __RUBY_XML_ATTRIBUTES__
|
6
|
+
#define __RUBY_XML_ATTRIBUTES__
|
7
|
+
|
8
|
+
extern VALUE cXMLAttributesibutes;
|
9
|
+
|
10
|
+
void ruby_init_xml_attributes(void);
|
11
|
+
VALUE ruby_xml_attributes_new(xmlNodePtr xnode);
|
12
|
+
|
13
|
+
VALUE ruby_xml_attributes_attribute_get(VALUE self, VALUE name);
|
14
|
+
VALUE ruby_xml_attributes_attribute_set(VALUE self, VALUE name, VALUE value);
|
15
|
+
|
16
|
+
|
17
|
+
#endif
|
@@ -1,9 +1,9 @@
|
|
1
|
-
/* $Id: ruby_xml_document.c
|
1
|
+
/* $Id: ruby_xml_document.c 461 2008-07-15 21:35:56Z cfis $ */
|
2
2
|
|
3
3
|
/* Please see the LICENSE file for copyright and distribution information */
|
4
4
|
|
5
5
|
/*
|
6
|
-
* Document-class: XML::Document
|
6
|
+
* Document-class: LibXML::XML::Document
|
7
7
|
*
|
8
8
|
* Reads or writes an XML document:
|
9
9
|
*
|
@@ -404,43 +404,6 @@ ruby_xml_document_filename_get(VALUE self) {
|
|
404
404
|
}
|
405
405
|
|
406
406
|
|
407
|
-
/*
|
408
|
-
* call-seq:
|
409
|
-
* document.find(xpath_expr, [namespace]) -> XML::Node::Set
|
410
|
-
*
|
411
|
-
* Find nodes matching the specified xpath expression, optionally
|
412
|
-
* using the specified namespace. Returns an XML::Node::Set. For
|
413
|
-
* more information about working with namespaces, please refer
|
414
|
-
* to the XML::XPath documentation.
|
415
|
-
*
|
416
|
-
* IMPORTANT - The returned XML::Node::Set must be freed before
|
417
|
-
* its associated document. In a running Ruby program this will
|
418
|
-
* happen automatically via Ruby's mark and sweep garbage collector.
|
419
|
-
* However, if the program exits, Ruby does not guarantee the order
|
420
|
-
* in which objects are freed
|
421
|
-
* (see http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/17700).
|
422
|
-
* As a result, the associated document may be freed before the node
|
423
|
-
* list, which will cause a segmentation fault.
|
424
|
-
*
|
425
|
-
* To avoid this, use the following (non-ruby like) coding style:
|
426
|
-
*
|
427
|
-
* nodes = doc.find('/header')
|
428
|
-
* nodes.each do |node|
|
429
|
-
* ... do stuff ...
|
430
|
-
* end
|
431
|
-
*
|
432
|
-
* nodes = nil
|
433
|
-
* GC.start
|
434
|
-
*/
|
435
|
-
VALUE
|
436
|
-
ruby_xml_document_find(int argc, VALUE *argv, VALUE self) {
|
437
|
-
if (argc > 2 || argc < 1)
|
438
|
-
rb_raise(rb_eArgError, "wrong number of arguments (need 1 or 2)");
|
439
|
-
|
440
|
-
return(ruby_xml_xpath_find2(self,argv[0],(argc==2)?argv[1]:Qnil));
|
441
|
-
}
|
442
|
-
|
443
|
-
|
444
407
|
void
|
445
408
|
ruby_xml_document_free(ruby_xml_document_t *rxd) {
|
446
409
|
void *data;
|
@@ -755,40 +718,48 @@ ruby_xml_document_root_set(VALUE self, VALUE node) {
|
|
755
718
|
|
756
719
|
/*
|
757
720
|
* call-seq:
|
758
|
-
* document.save(format = false)
|
721
|
+
* document.save(filename, format = false) -> int
|
759
722
|
*
|
760
723
|
* Save this document to the file given by filename,
|
761
724
|
* optionally formatting the output.
|
725
|
+
|
726
|
+
* Parameters:
|
727
|
+
* filename: The filename or URL of the new document
|
728
|
+
* format: Specifies whether formatting spaces should be added.
|
729
|
+
* returns: The number of bytes written or -1 in case of error.
|
762
730
|
*/
|
763
731
|
VALUE
|
764
732
|
ruby_xml_document_save(int argc, VALUE *argv, VALUE self) {
|
765
733
|
ruby_xml_document_t *rxd;
|
766
734
|
const char *filename;
|
767
|
-
int format
|
735
|
+
int format = 0;
|
736
|
+
int len;
|
768
737
|
|
769
|
-
|
770
|
-
|
771
|
-
case 1:
|
772
|
-
break;
|
773
|
-
case 2:
|
774
|
-
if (TYPE(argv[1]) == T_TRUE)
|
775
|
-
format = 1;
|
776
|
-
else if (TYPE(argv[1]) == T_FALSE)
|
777
|
-
format = 0;
|
778
|
-
else
|
779
|
-
rb_raise(rb_eTypeError, "wrong type of argument, must be bool");
|
780
|
-
break;
|
781
|
-
default:
|
782
|
-
rb_raise(rb_eArgError, "wrong number of arguments (0 or 1)");
|
783
|
-
}
|
738
|
+
if (argc <1 || argc > 2)
|
739
|
+
rb_raise(rb_eArgError, "wrong number of arguments (need 1 or 2)");
|
784
740
|
|
785
741
|
Check_Type(argv[0], T_STRING);
|
786
742
|
filename = StringValuePtr(argv[0]);
|
743
|
+
|
744
|
+
if (argc == 2)
|
745
|
+
{
|
746
|
+
switch (TYPE(argv[1])) {
|
747
|
+
case T_TRUE:
|
748
|
+
format = 1;
|
749
|
+
break;
|
750
|
+
case T_FALSE:
|
751
|
+
format = 0;
|
752
|
+
break;
|
753
|
+
default:
|
754
|
+
rb_raise(rb_eArgError, "The second parameter (format) must be true or false");
|
755
|
+
}
|
756
|
+
}
|
787
757
|
|
788
758
|
Data_Get_Struct(self, ruby_xml_document_t, rxd);
|
789
759
|
len = xmlSaveFormatFileEnc(filename, rxd->doc, (const char*)rxd->doc->encoding, format);
|
760
|
+
|
790
761
|
if (len == -1)
|
791
|
-
|
762
|
+
rb_raise(rb_eIOError, "Could not write document");
|
792
763
|
else
|
793
764
|
return(INT2NUM(len));
|
794
765
|
}
|
@@ -1077,7 +1048,8 @@ ruby_xml_document_reader(VALUE self)
|
|
1077
1048
|
|
1078
1049
|
// Rdoc needs to know
|
1079
1050
|
#ifdef RDOC_NEVER_DEFINED
|
1080
|
-
|
1051
|
+
mLibXML = rb_define_module("LibXML");
|
1052
|
+
mXML = rb_define_module_under(mLibXML, "XML");
|
1081
1053
|
#endif
|
1082
1054
|
|
1083
1055
|
void
|
@@ -1101,7 +1073,6 @@ ruby_init_xml_document(void) {
|
|
1101
1073
|
rb_define_method(cXMLDocument, "encoding", ruby_xml_document_encoding_get, 0);
|
1102
1074
|
rb_define_method(cXMLDocument, "encoding=", ruby_xml_document_encoding_set, 1);
|
1103
1075
|
rb_define_method(cXMLDocument, "filename", ruby_xml_document_filename_get, 0);
|
1104
|
-
rb_define_method(cXMLDocument, "find", ruby_xml_document_find, -1);
|
1105
1076
|
rb_define_method(cXMLDocument, "format_dump", ruby_xml_document_format_dump, -1);
|
1106
1077
|
rb_define_method(cXMLDocument, "last", ruby_xml_document_last_get, 0);
|
1107
1078
|
rb_define_method(cXMLDocument, "last?", ruby_xml_document_last_q, 0);
|
@@ -1,27 +1,27 @@
|
|
1
|
-
/* $Id: ruby_xml_document.h 304 2008-07-02 17:42:41Z cfis $ */
|
2
|
-
|
3
|
-
/* Please see the LICENSE file for copyright and distribution information */
|
4
|
-
|
5
|
-
#ifndef __RUBY_XML_DOCUMENT__
|
6
|
-
#define __RUBY_XML_DOCUMENT__
|
7
|
-
|
8
|
-
extern VALUE cXMLDocument;
|
9
|
-
|
10
|
-
typedef struct rxp_document {
|
11
|
-
xmlDocPtr doc; /* Tree/DOM interface */
|
12
|
-
int data_type; /* The data type referenced by *data */
|
13
|
-
void *data; /* Pointer to an external structure of options */
|
14
|
-
} ruby_xml_document_t;
|
15
|
-
|
16
|
-
VALUE ruby_xml_document_filename_get(VALUE self);
|
17
|
-
VALUE ruby_xml_document_new_native(VALUE class, VALUE xmlver);
|
18
|
-
void ruby_xml_document_free(ruby_xml_document_t *rxd);
|
19
|
-
VALUE ruby_xml_document_root_get(VALUE self);
|
20
|
-
void ruby_init_xml_document(void);
|
21
|
-
|
22
|
-
#if defined(_WIN32)
|
23
|
-
__declspec(dllexport)
|
24
|
-
#endif
|
25
|
-
VALUE ruby_xml_document_wrap(xmlDocPtr xnode);
|
26
|
-
|
27
|
-
#endif
|
1
|
+
/* $Id: ruby_xml_document.h 304 2008-07-02 17:42:41Z cfis $ */
|
2
|
+
|
3
|
+
/* Please see the LICENSE file for copyright and distribution information */
|
4
|
+
|
5
|
+
#ifndef __RUBY_XML_DOCUMENT__
|
6
|
+
#define __RUBY_XML_DOCUMENT__
|
7
|
+
|
8
|
+
extern VALUE cXMLDocument;
|
9
|
+
|
10
|
+
typedef struct rxp_document {
|
11
|
+
xmlDocPtr doc; /* Tree/DOM interface */
|
12
|
+
int data_type; /* The data type referenced by *data */
|
13
|
+
void *data; /* Pointer to an external structure of options */
|
14
|
+
} ruby_xml_document_t;
|
15
|
+
|
16
|
+
VALUE ruby_xml_document_filename_get(VALUE self);
|
17
|
+
VALUE ruby_xml_document_new_native(VALUE class, VALUE xmlver);
|
18
|
+
void ruby_xml_document_free(ruby_xml_document_t *rxd);
|
19
|
+
VALUE ruby_xml_document_root_get(VALUE self);
|
20
|
+
void ruby_init_xml_document(void);
|
21
|
+
|
22
|
+
#if defined(_WIN32)
|
23
|
+
__declspec(dllexport)
|
24
|
+
#endif
|
25
|
+
VALUE ruby_xml_document_wrap(xmlDocPtr xnode);
|
26
|
+
|
27
|
+
#endif
|
data/ext/libxml/ruby_xml_dtd.c
CHANGED
data/ext/libxml/ruby_xml_dtd.h
CHANGED
@@ -1,17 +1,17 @@
|
|
1
|
-
#ifndef __RUBY_XML_DTD__
|
2
|
-
#define __RUBY_XML_DTD__
|
3
|
-
|
4
|
-
extern VALUE cXMLDtd;
|
5
|
-
|
6
|
-
typedef struct rxp_dtd {
|
7
|
-
xmlDtdPtr dtd; /* DTD interface */
|
8
|
-
//int data_type; /* The data type referenced by *data */
|
9
|
-
//void *data; /* Pointer to an external structure of options */
|
10
|
-
//int is_ptr; /* Determines if this object owns its data or points to it someplace else */
|
11
|
-
//VALUE xmlver; /* T_STRING with the xml version */
|
12
|
-
} ruby_xml_dtd;
|
13
|
-
|
14
|
-
void ruby_init_xml_dtd(void);
|
15
|
-
void ruby_dtd_free(ruby_xml_dtd *rxdtd);
|
16
|
-
|
17
|
-
#endif
|
1
|
+
#ifndef __RUBY_XML_DTD__
|
2
|
+
#define __RUBY_XML_DTD__
|
3
|
+
|
4
|
+
extern VALUE cXMLDtd;
|
5
|
+
|
6
|
+
typedef struct rxp_dtd {
|
7
|
+
xmlDtdPtr dtd; /* DTD interface */
|
8
|
+
//int data_type; /* The data type referenced by *data */
|
9
|
+
//void *data; /* Pointer to an external structure of options */
|
10
|
+
//int is_ptr; /* Determines if this object owns its data or points to it someplace else */
|
11
|
+
//VALUE xmlver; /* T_STRING with the xml version */
|
12
|
+
} ruby_xml_dtd;
|
13
|
+
|
14
|
+
void ruby_init_xml_dtd(void);
|
15
|
+
void ruby_dtd_free(ruby_xml_dtd *rxdtd);
|
16
|
+
|
17
|
+
#endif
|
@@ -1,4 +1,4 @@
|
|
1
|
-
/* $Id: ruby_xml_html_parser.c
|
1
|
+
/* $Id: ruby_xml_html_parser.c 461 2008-07-15 21:35:56Z cfis $ */
|
2
2
|
|
3
3
|
/* Please see the LICENSE file for copyright and distribution information */
|
4
4
|
|
@@ -424,7 +424,8 @@ ruby_xml_html_parser_str_set(VALUE self, VALUE str) {
|
|
424
424
|
|
425
425
|
// Rdoc needs to know
|
426
426
|
#ifdef RDOC_NEVER_DEFINED
|
427
|
-
|
427
|
+
mLibXML = rb_define_module("LibXML");
|
428
|
+
mXML = rb_define_module_under(mLibXML, "XML");
|
428
429
|
#endif
|
429
430
|
|
430
431
|
void
|
@@ -1,29 +1,29 @@
|
|
1
|
-
/* $Id: ruby_xml_html_parser.h 111 2006-11-20 01:39:14Z roscopeco $ */
|
2
|
-
|
3
|
-
/* Please see the LICENSE file for copyright and distribution information */
|
4
|
-
|
5
|
-
#ifndef __RUBY_XML_HTML_PARSER__
|
6
|
-
#define __RUBY_XML_HTML_PARSER__
|
7
|
-
|
8
|
-
extern int ruby_xml_html_parser_count;
|
9
|
-
extern VALUE cXMLHTMLParser;
|
10
|
-
|
11
|
-
typedef struct ruby_xml_html_parser {
|
12
|
-
VALUE ctxt;
|
13
|
-
int parsed;
|
14
|
-
void *data;
|
15
|
-
int data_type;
|
16
|
-
} ruby_xml_html_parser;
|
17
|
-
|
18
|
-
/*
|
19
|
-
* VALUE ruby_xml_html_parser_filename_get(VALUE self);
|
20
|
-
VALUE ruby_xml_html_parser_filename_set(VALUE self, VALUE filename);
|
21
|
-
VALUE ruby_xml_html_parser_new(VALUE class);
|
22
|
-
*/
|
23
|
-
VALUE ruby_xml_html_parser_parse(VALUE self);
|
24
|
-
VALUE ruby_xml_html_parser_str_get(VALUE self);
|
25
|
-
VALUE ruby_xml_html_parser_str_set(VALUE self, VALUE str);
|
26
|
-
|
27
|
-
void ruby_init_html_parser(void);
|
28
|
-
|
29
|
-
#endif
|
1
|
+
/* $Id: ruby_xml_html_parser.h 111 2006-11-20 01:39:14Z roscopeco $ */
|
2
|
+
|
3
|
+
/* Please see the LICENSE file for copyright and distribution information */
|
4
|
+
|
5
|
+
#ifndef __RUBY_XML_HTML_PARSER__
|
6
|
+
#define __RUBY_XML_HTML_PARSER__
|
7
|
+
|
8
|
+
extern int ruby_xml_html_parser_count;
|
9
|
+
extern VALUE cXMLHTMLParser;
|
10
|
+
|
11
|
+
typedef struct ruby_xml_html_parser {
|
12
|
+
VALUE ctxt;
|
13
|
+
int parsed;
|
14
|
+
void *data;
|
15
|
+
int data_type;
|
16
|
+
} ruby_xml_html_parser;
|
17
|
+
|
18
|
+
/*
|
19
|
+
* VALUE ruby_xml_html_parser_filename_get(VALUE self);
|
20
|
+
VALUE ruby_xml_html_parser_filename_set(VALUE self, VALUE filename);
|
21
|
+
VALUE ruby_xml_html_parser_new(VALUE class);
|
22
|
+
*/
|
23
|
+
VALUE ruby_xml_html_parser_parse(VALUE self);
|
24
|
+
VALUE ruby_xml_html_parser_str_get(VALUE self);
|
25
|
+
VALUE ruby_xml_html_parser_str_set(VALUE self, VALUE str);
|
26
|
+
|
27
|
+
void ruby_init_html_parser(void);
|
28
|
+
|
29
|
+
#endif
|
@@ -149,7 +149,8 @@ input_callbacks_remove_scheme (VALUE self, VALUE scheme_name) {
|
|
149
149
|
|
150
150
|
// Rdoc needs to know
|
151
151
|
#ifdef RDOC_NEVER_DEFINED
|
152
|
-
|
152
|
+
mLibXML = rb_define_module("LibXML");
|
153
|
+
mXML = rb_define_module_under(mLibXML, "XML");
|
153
154
|
#endif
|
154
155
|
|
155
156
|
void
|
@@ -1,20 +1,20 @@
|
|
1
|
-
#ifndef _INPUT_CBG_
|
2
|
-
#define _INPUT_CBG_
|
3
|
-
|
4
|
-
void ruby_init_input_callbacks(void);
|
5
|
-
|
6
|
-
typedef struct ic_doc_context {
|
7
|
-
char *buffer;
|
8
|
-
char *bpos;
|
9
|
-
int remaining;
|
10
|
-
} ic_doc_context;
|
11
|
-
|
12
|
-
typedef struct ic_scheme {
|
13
|
-
char *scheme_name;
|
14
|
-
VALUE class;
|
15
|
-
int name_len;
|
16
|
-
|
17
|
-
struct ic_scheme *next_scheme;
|
18
|
-
} ic_scheme;
|
19
|
-
|
20
|
-
#endif
|
1
|
+
#ifndef _INPUT_CBG_
|
2
|
+
#define _INPUT_CBG_
|
3
|
+
|
4
|
+
void ruby_init_input_callbacks(void);
|
5
|
+
|
6
|
+
typedef struct ic_doc_context {
|
7
|
+
char *buffer;
|
8
|
+
char *bpos;
|
9
|
+
int remaining;
|
10
|
+
} ic_doc_context;
|
11
|
+
|
12
|
+
typedef struct ic_scheme {
|
13
|
+
char *scheme_name;
|
14
|
+
VALUE class;
|
15
|
+
int name_len;
|
16
|
+
|
17
|
+
struct ic_scheme *next_scheme;
|
18
|
+
} ic_scheme;
|
19
|
+
|
20
|
+
#endif
|
data/ext/libxml/ruby_xml_node.c
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
/* $Id: ruby_xml_node.c
|
1
|
+
/* $Id: ruby_xml_node.c 461 2008-07-15 21:35:56Z cfis $ */
|
2
2
|
|
3
3
|
/* Please see the LICENSE file for copyright and distribution information */
|
4
4
|
|
@@ -35,7 +35,6 @@ ruby_xml_node_attribute_q(VALUE self) {
|
|
35
35
|
return(Qfalse);
|
36
36
|
}
|
37
37
|
|
38
|
-
|
39
38
|
/*
|
40
39
|
* call-seq:
|
41
40
|
* node.attribute_decl? -> (true|false)
|
@@ -206,92 +205,23 @@ ruby_xml_node_content_stripped_get(VALUE self) {
|
|
206
205
|
|
207
206
|
/*
|
208
207
|
* call-seq:
|
209
|
-
* node.
|
208
|
+
* node.first -> XML::Node
|
210
209
|
*
|
211
|
-
*
|
210
|
+
* Returns this node's first child node if any.
|
212
211
|
*/
|
213
212
|
VALUE
|
214
|
-
|
213
|
+
ruby_xml_node_first_get(VALUE self) {
|
215
214
|
xmlNodePtr xnode;
|
216
|
-
xmlNodePtr tmp;
|
217
215
|
|
218
216
|
Data_Get_Struct(self, xmlNode, xnode);
|
219
217
|
|
220
|
-
|
221
|
-
|
222
|
-
case XML_ENTITY_REF_NODE:
|
223
|
-
case XML_ENTITY_NODE:
|
224
|
-
case XML_PI_NODE:
|
225
|
-
case XML_COMMENT_NODE:
|
226
|
-
case XML_DOCUMENT_NODE:
|
227
|
-
#ifdef LIBXML_DOCB_ENABLED
|
228
|
-
case XML_DOCB_DOCUMENT_NODE:
|
229
|
-
#endif
|
230
|
-
case XML_HTML_DOCUMENT_NODE:
|
231
|
-
case XML_DTD_NODE:
|
232
|
-
tmp = xnode->children;
|
233
|
-
break;
|
234
|
-
case XML_ATTRIBUTE_NODE:
|
235
|
-
{
|
236
|
-
xmlAttrPtr attr = (xmlAttrPtr) xnode;
|
237
|
-
tmp = attr->children;
|
238
|
-
break;
|
239
|
-
}
|
240
|
-
default:
|
241
|
-
tmp = NULL;
|
242
|
-
break;
|
243
|
-
}
|
244
|
-
|
245
|
-
if (tmp == NULL)
|
246
|
-
return(Qnil);
|
218
|
+
if (xnode->children)
|
219
|
+
return(ruby_xml_node2_wrap(cXMLNode, xnode->children));
|
247
220
|
else
|
248
|
-
return(
|
221
|
+
return(Qnil);
|
249
222
|
}
|
250
223
|
|
251
224
|
|
252
|
-
/*
|
253
|
-
* call-seq:
|
254
|
-
* node.child? -> (true|false)
|
255
|
-
*
|
256
|
-
* Determine whether this node has at least one child.
|
257
|
-
*/
|
258
|
-
VALUE
|
259
|
-
ruby_xml_node_child_q(VALUE self) {
|
260
|
-
xmlNodePtr xnode;
|
261
|
-
xmlNodePtr node;
|
262
|
-
Data_Get_Struct(self, xmlNode, xnode);
|
263
|
-
|
264
|
-
node = NULL;
|
265
|
-
switch (xnode->type) {
|
266
|
-
case XML_ELEMENT_NODE:
|
267
|
-
case XML_ENTITY_REF_NODE:
|
268
|
-
case XML_ENTITY_NODE:
|
269
|
-
case XML_PI_NODE:
|
270
|
-
case XML_COMMENT_NODE:
|
271
|
-
case XML_DOCUMENT_NODE:
|
272
|
-
#ifdef LIBXML_DOCB_ENABLED
|
273
|
-
case XML_DOCB_DOCUMENT_NODE:
|
274
|
-
#endif
|
275
|
-
case XML_HTML_DOCUMENT_NODE:
|
276
|
-
case XML_DTD_NODE:
|
277
|
-
node = xnode->children;
|
278
|
-
break;
|
279
|
-
case XML_ATTRIBUTE_NODE:
|
280
|
-
{
|
281
|
-
xmlAttrPtr attr = (xmlAttrPtr) xnode;
|
282
|
-
node = attr->children;
|
283
|
-
break;
|
284
|
-
}
|
285
|
-
default:
|
286
|
-
node = NULL;
|
287
|
-
}
|
288
|
-
|
289
|
-
if (node == NULL)
|
290
|
-
return(Qfalse);
|
291
|
-
else
|
292
|
-
return(Qtrue);
|
293
|
-
}
|
294
|
-
|
295
225
|
/*
|
296
226
|
* underlying for child_set and child_add, difference being
|
297
227
|
* former raises on implicit copy, latter does not.
|
@@ -335,7 +265,7 @@ ruby_xml_node_child_set(VALUE self, VALUE rnode) {
|
|
335
265
|
|
336
266
|
/*
|
337
267
|
* call-seq:
|
338
|
-
* node << ("string" | node) ->
|
268
|
+
* node << ("string" | node) -> XML::Node
|
339
269
|
*
|
340
270
|
* Add the specified string or XML::Node to this node's
|
341
271
|
* content.
|
@@ -538,6 +468,31 @@ ruby_xml_node_debug_dump(VALUE self) {
|
|
538
468
|
return(Qtrue);
|
539
469
|
}
|
540
470
|
|
471
|
+
/*
|
472
|
+
* call-seq:
|
473
|
+
* node.each -> XML::Node
|
474
|
+
*
|
475
|
+
* Iterates over all of this node's children, including text
|
476
|
+
* nodes, element nodes, etc. If you wish to iterate
|
477
|
+
* only over child elements, use XML::Node#each_element.
|
478
|
+
*
|
479
|
+
* doc = XML::Document.new('model/books.xml')
|
480
|
+
* doc.root.each {|node| puts node}
|
481
|
+
*/
|
482
|
+
VALUE
|
483
|
+
ruby_xml_node_each(VALUE self) {
|
484
|
+
xmlNodePtr xnode;
|
485
|
+
xmlNodePtr xchild;
|
486
|
+
Data_Get_Struct(self, xmlNode, xnode);
|
487
|
+
|
488
|
+
xchild = xnode->children;
|
489
|
+
|
490
|
+
while (xchild) {
|
491
|
+
rb_yield(ruby_xml_node2_wrap(cXMLNode, xchild));
|
492
|
+
xchild = xchild->next;
|
493
|
+
}
|
494
|
+
return Qnil;
|
495
|
+
}
|
541
496
|
|
542
497
|
/*
|
543
498
|
* call-seq:
|
@@ -637,43 +592,25 @@ ruby_xml_node_eql_q(VALUE self, VALUE other) {
|
|
637
592
|
{
|
638
593
|
return Qtrue;
|
639
594
|
}
|
595
|
+
else if NIL_P(other)
|
596
|
+
{
|
597
|
+
return Qfalse;
|
598
|
+
}
|
640
599
|
else
|
641
600
|
{
|
642
|
-
VALUE self_xml
|
643
|
-
VALUE other_xml
|
601
|
+
VALUE self_xml;
|
602
|
+
VALUE other_xml;
|
603
|
+
|
604
|
+
if (rb_obj_is_kind_of(other, cXMLNode) == Qfalse)
|
605
|
+
rb_raise(rb_eTypeError, "Nodes can only be compared against other nodes");
|
606
|
+
|
607
|
+
self_xml = ruby_xml_node_to_s(self);
|
608
|
+
other_xml = ruby_xml_node_to_s(other);
|
644
609
|
return(rb_funcall(self_xml, rb_intern("=="), 1, other_xml));
|
645
610
|
}
|
646
611
|
}
|
647
612
|
|
648
613
|
|
649
|
-
/*
|
650
|
-
* call-seq:
|
651
|
-
* node.find(xpath_expr, namespace = [any]) -> nodeset
|
652
|
-
*
|
653
|
-
* Find nodes matching the specified xpath expression, optionally
|
654
|
-
* using the specified namespaces. Returns an XML::Node::Set.
|
655
|
-
*/
|
656
|
-
VALUE
|
657
|
-
ruby_xml_node_find(int argc, VALUE *argv, VALUE self) {
|
658
|
-
if (argc > 2 || argc < 1)
|
659
|
-
rb_raise(rb_eArgError, "wrong number of arguments (need 1 or 2)");
|
660
|
-
|
661
|
-
return(ruby_xml_xpath_find2(self,argv[0],(argc==2)?argv[1]:Qnil));
|
662
|
-
}
|
663
|
-
|
664
|
-
/*
|
665
|
-
* call-seq:
|
666
|
-
* node.find_first(xpath_expr, namespace = [any]) -> nodeset
|
667
|
-
*
|
668
|
-
* Find the first node matching the specified xpath expression, optionally
|
669
|
-
* using the specified namespaces. Returns an XML::Node.
|
670
|
-
*/
|
671
|
-
VALUE
|
672
|
-
ruby_xml_node_find_first(int argc, VALUE *argv, VALUE self) {
|
673
|
-
return ruby_xml_xpath_object_first(ruby_xml_node_find(argc, argv, self));
|
674
|
-
}
|
675
|
-
|
676
|
-
|
677
614
|
/*
|
678
615
|
* call-seq:
|
679
616
|
* node.fragment? -> (true|false)
|
@@ -709,7 +646,7 @@ ruby_xml_node_html_doc_q(VALUE self) {
|
|
709
646
|
|
710
647
|
/*
|
711
648
|
* call-seq:
|
712
|
-
* XML::Node.new_cdata(content = nil) ->
|
649
|
+
* XML::Node.new_cdata(content = nil) -> XML::Node
|
713
650
|
*
|
714
651
|
* Create a new #CDATA node, optionally setting
|
715
652
|
* the node's content.
|
@@ -745,7 +682,7 @@ ruby_xml_node_new_cdata(int argc, VALUE *argv, VALUE class) {
|
|
745
682
|
|
746
683
|
/*
|
747
684
|
* call-seq:
|
748
|
-
* XML::Node.new_comment(content = nil) ->
|
685
|
+
* XML::Node.new_comment(content = nil) -> XML::Node
|
749
686
|
*
|
750
687
|
* Create a new comment node, optionally setting
|
751
688
|
* the node's content.
|
@@ -829,92 +766,22 @@ ruby_xml_node_lang_set(VALUE self, VALUE lang) {
|
|
829
766
|
|
830
767
|
/*
|
831
768
|
* call-seq:
|
832
|
-
* node.last ->
|
769
|
+
* node.last -> XML::Node
|
833
770
|
*
|
834
771
|
* Obtain the last child node of this node, if any.
|
835
772
|
*/
|
836
773
|
VALUE
|
837
774
|
ruby_xml_node_last_get(VALUE self) {
|
838
775
|
xmlNodePtr xnode;
|
839
|
-
xmlNodePtr node;
|
840
|
-
|
841
|
-
Data_Get_Struct(self, xmlNode, xnode);
|
842
|
-
|
843
|
-
switch (xnode->type) {
|
844
|
-
case XML_ELEMENT_NODE:
|
845
|
-
case XML_ENTITY_REF_NODE:
|
846
|
-
case XML_ENTITY_NODE:
|
847
|
-
case XML_PI_NODE:
|
848
|
-
case XML_COMMENT_NODE:
|
849
|
-
case XML_DOCUMENT_NODE:
|
850
|
-
#ifdef LIBXML_DOCB_ENABLED
|
851
|
-
case XML_DOCB_DOCUMENT_NODE:
|
852
|
-
#endif
|
853
|
-
case XML_HTML_DOCUMENT_NODE:
|
854
|
-
case XML_DTD_NODE:
|
855
|
-
node = xnode->last;
|
856
|
-
break;
|
857
|
-
case XML_ATTRIBUTE_NODE:
|
858
|
-
{
|
859
|
-
xmlAttrPtr attr = (xmlAttrPtr) xnode;
|
860
|
-
node = attr->last;
|
861
|
-
}
|
862
|
-
default:
|
863
|
-
node = NULL;
|
864
|
-
break;
|
865
|
-
}
|
866
|
-
|
867
|
-
if (node == NULL)
|
868
|
-
return(Qnil);
|
869
|
-
else
|
870
|
-
return(ruby_xml_node2_wrap(cXMLNode, node));
|
871
|
-
}
|
872
|
-
|
873
|
-
|
874
|
-
/*
|
875
|
-
* call-seq:
|
876
|
-
* node.last? -> (true|false)
|
877
|
-
*
|
878
|
-
* Determine whether this node has a last child node.
|
879
|
-
*/
|
880
|
-
VALUE
|
881
|
-
ruby_xml_node_last_q(VALUE self) {
|
882
|
-
xmlNodePtr xnode;
|
883
|
-
xmlNodePtr node;
|
884
776
|
|
885
777
|
Data_Get_Struct(self, xmlNode, xnode);
|
886
778
|
|
887
|
-
|
888
|
-
|
889
|
-
case XML_ENTITY_REF_NODE:
|
890
|
-
case XML_ENTITY_NODE:
|
891
|
-
case XML_PI_NODE:
|
892
|
-
case XML_COMMENT_NODE:
|
893
|
-
case XML_DOCUMENT_NODE:
|
894
|
-
#ifdef LIBXML_DOCB_ENABLED
|
895
|
-
case XML_DOCB_DOCUMENT_NODE:
|
896
|
-
#endif
|
897
|
-
case XML_HTML_DOCUMENT_NODE:
|
898
|
-
case XML_DTD_NODE:
|
899
|
-
node = xnode->last;
|
900
|
-
break;
|
901
|
-
case XML_ATTRIBUTE_NODE:
|
902
|
-
{
|
903
|
-
xmlAttrPtr attr = (xmlAttrPtr) xnode;
|
904
|
-
node = attr->last;
|
905
|
-
}
|
906
|
-
default:
|
907
|
-
node = NULL;
|
908
|
-
break;
|
909
|
-
}
|
910
|
-
|
911
|
-
if (node == NULL)
|
912
|
-
return(Qfalse);
|
779
|
+
if (xnode->last)
|
780
|
+
return(ruby_xml_node2_wrap(cXMLNode, xnode->last));
|
913
781
|
else
|
914
|
-
return(
|
782
|
+
return(Qnil);
|
915
783
|
}
|
916
784
|
|
917
|
-
|
918
785
|
/*
|
919
786
|
* call-seq:
|
920
787
|
* node.line_num -> num
|
@@ -1340,8 +1207,8 @@ ruby_xml_node2_new_string(VALUE class, VALUE ns, VALUE name, VALUE val)
|
|
1340
1207
|
}
|
1341
1208
|
/*
|
1342
1209
|
* call-seq:
|
1343
|
-
* XML::Node.new(name, content = nil) ->
|
1344
|
-
* XML::Node.new_element(name, content = nil) ->
|
1210
|
+
* XML::Node.new(name, content = nil) -> XML::Node
|
1211
|
+
* XML::Node.new_element(name, content = nil) -> XML::Node
|
1345
1212
|
*
|
1346
1213
|
* Create a new element node with the specified name, optionally setting
|
1347
1214
|
* the node's content.
|
@@ -1369,90 +1236,20 @@ ruby_xml_node2_new_string_bc(int argc, VALUE *argv, VALUE class)
|
|
1369
1236
|
|
1370
1237
|
/*
|
1371
1238
|
* call-seq:
|
1372
|
-
* node.next ->
|
1239
|
+
* node.next -> XML::Node
|
1373
1240
|
*
|
1374
1241
|
* Obtain the next sibling node, if any.
|
1375
1242
|
*/
|
1376
1243
|
VALUE
|
1377
1244
|
ruby_xml_node_next_get(VALUE self) {
|
1378
1245
|
xmlNodePtr xnode;
|
1379
|
-
xmlNodePtr node;
|
1380
|
-
Data_Get_Struct(self, xmlNode, xnode);
|
1381
|
-
|
1382
|
-
switch (xnode->type) {
|
1383
|
-
case XML_DOCUMENT_NODE:
|
1384
|
-
#ifdef LIBXML_DOCB_ENABLED
|
1385
|
-
case XML_DOCB_DOCUMENT_NODE:
|
1386
|
-
#endif
|
1387
|
-
case XML_HTML_DOCUMENT_NODE:
|
1388
|
-
node = NULL;
|
1389
|
-
break;
|
1390
|
-
case XML_ATTRIBUTE_NODE:
|
1391
|
-
{
|
1392
|
-
xmlAttrPtr attr = (xmlAttrPtr) xnode;
|
1393
|
-
node = (xmlNodePtr) attr->next;
|
1394
|
-
break;
|
1395
|
-
}
|
1396
|
-
case XML_NAMESPACE_DECL:
|
1397
|
-
{
|
1398
|
-
xmlNsPtr ns = (xmlNsPtr) xnode;
|
1399
|
-
node = (xmlNodePtr) ns->next;
|
1400
|
-
break;
|
1401
|
-
}
|
1402
|
-
default:
|
1403
|
-
node = xnode->next;
|
1404
|
-
break;
|
1405
|
-
}
|
1406
|
-
|
1407
|
-
if (node == NULL) {
|
1408
|
-
return(Qnil);
|
1409
|
-
} else {
|
1410
|
-
return(ruby_xml_node2_wrap(cXMLNode, node));
|
1411
|
-
}
|
1412
|
-
}
|
1413
1246
|
|
1414
|
-
|
1415
|
-
/*
|
1416
|
-
* call-seq:
|
1417
|
-
* node.next? -> (true|false)
|
1418
|
-
*
|
1419
|
-
* Determine whether this node has a next sibling.
|
1420
|
-
*/
|
1421
|
-
VALUE
|
1422
|
-
ruby_xml_node_next_q(VALUE self) {
|
1423
|
-
xmlNodePtr xnode;
|
1424
|
-
xmlNodePtr node;
|
1425
1247
|
Data_Get_Struct(self, xmlNode, xnode);
|
1426
1248
|
|
1427
|
-
|
1428
|
-
|
1429
|
-
#ifdef LIBXML_DOCB_ENABLED
|
1430
|
-
case XML_DOCB_DOCUMENT_NODE:
|
1431
|
-
#endif
|
1432
|
-
case XML_HTML_DOCUMENT_NODE:
|
1433
|
-
node = NULL;
|
1434
|
-
break;
|
1435
|
-
case XML_ATTRIBUTE_NODE:
|
1436
|
-
{
|
1437
|
-
xmlAttrPtr attr = (xmlAttrPtr) xnode;
|
1438
|
-
node = (xmlNodePtr) attr->next;
|
1439
|
-
break;
|
1440
|
-
}
|
1441
|
-
case XML_NAMESPACE_DECL:
|
1442
|
-
{
|
1443
|
-
xmlNsPtr ns = (xmlNsPtr) xnode;
|
1444
|
-
node = (xmlNodePtr) ns->next;
|
1445
|
-
break;
|
1446
|
-
}
|
1447
|
-
default:
|
1448
|
-
node = xnode->next;
|
1449
|
-
break;
|
1450
|
-
}
|
1451
|
-
|
1452
|
-
if (node == NULL)
|
1453
|
-
return(Qfalse);
|
1249
|
+
if (xnode->next)
|
1250
|
+
return(ruby_xml_node2_wrap(cXMLNode, xnode->next));
|
1454
1251
|
else
|
1455
|
-
return(
|
1252
|
+
return(Qnil);
|
1456
1253
|
}
|
1457
1254
|
|
1458
1255
|
|
@@ -1551,89 +1348,20 @@ ruby_xml_node_ns_def_q(VALUE self) {
|
|
1551
1348
|
|
1552
1349
|
/*
|
1553
1350
|
* call-seq:
|
1554
|
-
* node.parent ->
|
1351
|
+
* node.parent -> XML::Node
|
1555
1352
|
*
|
1556
1353
|
* Obtain this node's parent node, if any.
|
1557
1354
|
*/
|
1558
1355
|
VALUE
|
1559
1356
|
ruby_xml_node_parent_get(VALUE self) {
|
1560
1357
|
xmlNodePtr xnode;
|
1561
|
-
xmlNodePtr node;
|
1562
1358
|
|
1563
1359
|
Data_Get_Struct(self, xmlNode, xnode);
|
1564
1360
|
|
1565
|
-
|
1566
|
-
|
1567
|
-
case XML_HTML_DOCUMENT_NODE:
|
1568
|
-
#ifdef LIBXML_DOCB_ENABLED
|
1569
|
-
case XML_DOCB_DOCUMENT_NODE:
|
1570
|
-
#endif
|
1571
|
-
node = NULL;
|
1572
|
-
break;
|
1573
|
-
case XML_ATTRIBUTE_NODE:
|
1574
|
-
{
|
1575
|
-
xmlAttrPtr attr = (xmlAttrPtr) xnode;
|
1576
|
-
node = attr->parent;
|
1577
|
-
}
|
1578
|
-
case XML_ENTITY_DECL:
|
1579
|
-
case XML_NAMESPACE_DECL:
|
1580
|
-
case XML_XINCLUDE_START:
|
1581
|
-
case XML_XINCLUDE_END:
|
1582
|
-
node = NULL;
|
1583
|
-
break;
|
1584
|
-
default:
|
1585
|
-
node = xnode->parent;
|
1586
|
-
break;
|
1587
|
-
}
|
1588
|
-
|
1589
|
-
if (node == NULL)
|
1590
|
-
return(Qnil);
|
1361
|
+
if (xnode->parent)
|
1362
|
+
return(ruby_xml_node2_wrap(cXMLNode, xnode->parent));
|
1591
1363
|
else
|
1592
|
-
return(
|
1593
|
-
}
|
1594
|
-
|
1595
|
-
|
1596
|
-
/*
|
1597
|
-
* call-seq:
|
1598
|
-
* node.parent? -> (true|false)
|
1599
|
-
*
|
1600
|
-
* Determine whether this node has a parent node.
|
1601
|
-
*/
|
1602
|
-
VALUE
|
1603
|
-
ruby_xml_node_parent_q(VALUE self) {
|
1604
|
-
xmlNodePtr xnode;
|
1605
|
-
xmlNodePtr node;
|
1606
|
-
|
1607
|
-
Data_Get_Struct(self, xmlNode, xnode);
|
1608
|
-
|
1609
|
-
switch (xnode->type) {
|
1610
|
-
case XML_DOCUMENT_NODE:
|
1611
|
-
case XML_HTML_DOCUMENT_NODE:
|
1612
|
-
#ifdef LIBXML_DOCB_ENABLED
|
1613
|
-
case XML_DOCB_DOCUMENT_NODE:
|
1614
|
-
#endif
|
1615
|
-
node = NULL;
|
1616
|
-
break;
|
1617
|
-
case XML_ATTRIBUTE_NODE:
|
1618
|
-
{
|
1619
|
-
xmlAttrPtr attr = (xmlAttrPtr) xnode;
|
1620
|
-
node = attr->parent;
|
1621
|
-
}
|
1622
|
-
case XML_ENTITY_DECL:
|
1623
|
-
case XML_NAMESPACE_DECL:
|
1624
|
-
case XML_XINCLUDE_START:
|
1625
|
-
case XML_XINCLUDE_END:
|
1626
|
-
node = NULL;
|
1627
|
-
break;
|
1628
|
-
default:
|
1629
|
-
node = xnode->parent;
|
1630
|
-
break;
|
1631
|
-
}
|
1632
|
-
|
1633
|
-
if (node == NULL)
|
1634
|
-
return(Qfalse);
|
1635
|
-
else
|
1636
|
-
return(Qtrue);
|
1364
|
+
return(Qnil);
|
1637
1365
|
}
|
1638
1366
|
|
1639
1367
|
|
@@ -1677,7 +1405,7 @@ ruby_xml_node_pi_q(VALUE self) {
|
|
1677
1405
|
|
1678
1406
|
/*
|
1679
1407
|
* call-seq:
|
1680
|
-
* node.pointer ->
|
1408
|
+
* node.pointer -> XML::Node_set
|
1681
1409
|
*
|
1682
1410
|
* Evaluates an XPointer expression relative to this node.
|
1683
1411
|
*/
|
@@ -1689,7 +1417,7 @@ ruby_xml_node_pointer(VALUE self, VALUE xptr_str) {
|
|
1689
1417
|
|
1690
1418
|
/*
|
1691
1419
|
* call-seq:
|
1692
|
-
* node.prev ->
|
1420
|
+
* node.prev -> XML::Node
|
1693
1421
|
*
|
1694
1422
|
* Obtain the previous sibling, if any.
|
1695
1423
|
*/
|
@@ -1726,46 +1454,6 @@ ruby_xml_node_prev_get(VALUE self) {
|
|
1726
1454
|
}
|
1727
1455
|
|
1728
1456
|
|
1729
|
-
/*
|
1730
|
-
* call-seq:
|
1731
|
-
* node.prev? -> (true|false)
|
1732
|
-
*
|
1733
|
-
* Determines whether this node has a previous sibling node.
|
1734
|
-
*/
|
1735
|
-
VALUE
|
1736
|
-
ruby_xml_node_prev_q(VALUE self) {
|
1737
|
-
xmlNodePtr xnode;
|
1738
|
-
xmlNodePtr node;
|
1739
|
-
|
1740
|
-
Data_Get_Struct(self, xmlNode, xnode);
|
1741
|
-
|
1742
|
-
switch (xnode->type) {
|
1743
|
-
case XML_DOCUMENT_NODE:
|
1744
|
-
#ifdef LIBXML_DOCB_ENABLED
|
1745
|
-
case XML_DOCB_DOCUMENT_NODE:
|
1746
|
-
#endif
|
1747
|
-
case XML_HTML_DOCUMENT_NODE:
|
1748
|
-
case XML_NAMESPACE_DECL:
|
1749
|
-
node = NULL;
|
1750
|
-
break;
|
1751
|
-
case XML_ATTRIBUTE_NODE:
|
1752
|
-
{
|
1753
|
-
xmlAttrPtr attr = (xmlAttrPtr) xnode;
|
1754
|
-
node = (xmlNodePtr) attr->prev;
|
1755
|
-
}
|
1756
|
-
break;
|
1757
|
-
default:
|
1758
|
-
node = xnode->prev;
|
1759
|
-
break;
|
1760
|
-
}
|
1761
|
-
|
1762
|
-
if (node == NULL)
|
1763
|
-
return(Qfalse);
|
1764
|
-
else
|
1765
|
-
return(Qtrue);
|
1766
|
-
}
|
1767
|
-
|
1768
|
-
|
1769
1457
|
/*
|
1770
1458
|
* call-seq:
|
1771
1459
|
* node.prev = node
|
@@ -1904,7 +1592,7 @@ ruby_xml_node_search_ns(VALUE self, VALUE ns) {
|
|
1904
1592
|
|
1905
1593
|
/*
|
1906
1594
|
* call-seq:
|
1907
|
-
* node.sibling(node) ->
|
1595
|
+
* node.sibling(node) -> XML::Node
|
1908
1596
|
*
|
1909
1597
|
* Add the specified node as a sibling of this node.
|
1910
1598
|
*/
|
@@ -2020,69 +1708,6 @@ ruby_xml_node_type(VALUE self) {
|
|
2020
1708
|
}
|
2021
1709
|
|
2022
1710
|
|
2023
|
-
/*
|
2024
|
-
* call-seq:
|
2025
|
-
* node.type_name -> num
|
2026
|
-
*
|
2027
|
-
* Obtain this node's type name.
|
2028
|
-
*/
|
2029
|
-
VALUE
|
2030
|
-
ruby_xml_node_type_name(VALUE self) {
|
2031
|
-
xmlNodePtr xnode;
|
2032
|
-
Data_Get_Struct(self, xmlNode, xnode);
|
2033
|
-
|
2034
|
-
switch(xnode->type) {
|
2035
|
-
case XML_ELEMENT_NODE:
|
2036
|
-
return(rb_str_new2("element"));
|
2037
|
-
case XML_ATTRIBUTE_NODE:
|
2038
|
-
return(rb_str_new2("attribute"));
|
2039
|
-
case XML_TEXT_NODE:
|
2040
|
-
return(rb_str_new2("text"));
|
2041
|
-
case XML_CDATA_SECTION_NODE:
|
2042
|
-
return(rb_str_new2("cdata"));
|
2043
|
-
case XML_ENTITY_REF_NODE:
|
2044
|
-
return(rb_str_new2("entity_ref"));
|
2045
|
-
case XML_ENTITY_NODE:
|
2046
|
-
return(rb_str_new2("entity"));
|
2047
|
-
case XML_PI_NODE:
|
2048
|
-
return(rb_str_new2("pi"));
|
2049
|
-
case XML_COMMENT_NODE:
|
2050
|
-
return(rb_str_new2("comment"));
|
2051
|
-
case XML_DOCUMENT_NODE:
|
2052
|
-
return(rb_str_new2("document_xml"));
|
2053
|
-
case XML_DOCUMENT_TYPE_NODE:
|
2054
|
-
return(rb_str_new2("doctype"));
|
2055
|
-
case XML_DOCUMENT_FRAG_NODE:
|
2056
|
-
return(rb_str_new2("fragment"));
|
2057
|
-
case XML_NOTATION_NODE:
|
2058
|
-
return(rb_str_new2("notation"));
|
2059
|
-
case XML_HTML_DOCUMENT_NODE:
|
2060
|
-
return(rb_str_new2("document_html"));
|
2061
|
-
case XML_DTD_NODE:
|
2062
|
-
return(rb_str_new2("dtd"));
|
2063
|
-
case XML_ELEMENT_DECL:
|
2064
|
-
return(rb_str_new2("elem_decl"));
|
2065
|
-
case XML_ATTRIBUTE_DECL:
|
2066
|
-
return(rb_str_new2("attribute_decl"));
|
2067
|
-
case XML_ENTITY_DECL:
|
2068
|
-
return(rb_str_new2("entity_decl"));
|
2069
|
-
case XML_NAMESPACE_DECL:
|
2070
|
-
return(rb_str_new2("namespace"));
|
2071
|
-
case XML_XINCLUDE_START:
|
2072
|
-
return(rb_str_new2("xinclude_start"));
|
2073
|
-
case XML_XINCLUDE_END:
|
2074
|
-
return(rb_str_new2("xinclude_end"));
|
2075
|
-
#ifdef LIBXML_DOCB_ENABLED
|
2076
|
-
case XML_DOCB_DOCUMENT_NODE:
|
2077
|
-
return(rb_str_new2("document_docbook"));
|
2078
|
-
#endif
|
2079
|
-
default:
|
2080
|
-
rb_raise(eXMLNodeUnknownType, "Unknown node type: %n", xnode->type);
|
2081
|
-
return(Qfalse);
|
2082
|
-
}
|
2083
|
-
}
|
2084
|
-
|
2085
|
-
|
2086
1711
|
/*
|
2087
1712
|
* call-seq:
|
2088
1713
|
* node.xinclude_end? -> num
|
@@ -2119,9 +1744,13 @@ ruby_xml_node_xinclude_start_q(VALUE self) {
|
|
2119
1744
|
|
2120
1745
|
/*
|
2121
1746
|
* call-seq:
|
2122
|
-
* node.copy ->
|
1747
|
+
* node.copy -> XML::Node
|
2123
1748
|
*
|
2124
|
-
*
|
1749
|
+
* Creates a copy of this node. To create a
|
1750
|
+
* shallow copy set the deep parameter to false.
|
1751
|
+
* To create a deep copy set the deep parameter
|
1752
|
+
* to true.
|
1753
|
+
*
|
2125
1754
|
*/
|
2126
1755
|
VALUE
|
2127
1756
|
ruby_xml_node_copy(VALUE self, VALUE deep) {
|
@@ -2140,7 +1769,7 @@ ruby_xml_node_copy(VALUE self, VALUE deep) {
|
|
2140
1769
|
|
2141
1770
|
/*
|
2142
1771
|
* call-seq:
|
2143
|
-
* XML::Node.new_text(content = nil) ->
|
1772
|
+
* XML::Node.new_text(content = nil) -> XML::Node
|
2144
1773
|
*
|
2145
1774
|
* Create a new text node, optionally setting
|
2146
1775
|
* the node's content.
|
@@ -2185,13 +1814,12 @@ ruby_xml_node_deregisterNode(xmlNodePtr xnode)
|
|
2185
1814
|
|
2186
1815
|
// Rdoc needs to know
|
2187
1816
|
#ifdef RDOC_NEVER_DEFINED
|
2188
|
-
|
1817
|
+
mLibXML = rb_define_module("LibXML");
|
1818
|
+
mXML = rb_define_module_under(mLibXML, "XML");
|
2189
1819
|
#endif
|
2190
1820
|
|
2191
1821
|
void
|
2192
1822
|
ruby_init_xml_node(void) {
|
2193
|
-
VALUE singleton;
|
2194
|
-
|
2195
1823
|
xmlRegisterNodeDefault(ruby_xml_node_registerNode);
|
2196
1824
|
xmlDeregisterNodeDefault(ruby_xml_node_deregisterNode);
|
2197
1825
|
|
@@ -2200,8 +1828,6 @@ ruby_init_xml_node(void) {
|
|
2200
1828
|
eXMLNodeFailedModify = rb_define_class_under(cXMLNode, "FailedModify", eXMLError);
|
2201
1829
|
eXMLNodeUnknownType = rb_define_class_under(cXMLNode, "UnknownType", eXMLError);
|
2202
1830
|
|
2203
|
-
singleton = rb_singleton_class(cXMLNode);
|
2204
|
-
|
2205
1831
|
rb_define_const(cXMLNode, "SPACE_DEFAULT", INT2NUM(0));
|
2206
1832
|
rb_define_const(cXMLNode, "SPACE_PRESERVE", INT2NUM(1));
|
2207
1833
|
rb_define_const(cXMLNode, "SPACE_NOT_INHERIT", INT2NUM(-1));
|
@@ -2216,6 +1842,34 @@ ruby_init_xml_node(void) {
|
|
2216
1842
|
rb_define_const(cXMLNode, "XLINK_TYPE_EXTENDED_SET", INT2NUM(3));
|
2217
1843
|
rb_define_const(cXMLNode, "XLINK_TYPE_NONE", INT2NUM(0));
|
2218
1844
|
rb_define_const(cXMLNode, "XLINK_TYPE_SIMPLE", INT2NUM(1));
|
1845
|
+
|
1846
|
+
rb_define_const(cXMLNode, "ELEMENT_NODE", INT2FIX(XML_ELEMENT_NODE));
|
1847
|
+
rb_define_const(cXMLNode, "ATTRIBUTE_NODE", INT2FIX(XML_ATTRIBUTE_NODE));
|
1848
|
+
rb_define_const(cXMLNode, "TEXT_NODE", INT2FIX(XML_TEXT_NODE));
|
1849
|
+
rb_define_const(cXMLNode, "CDATA_SECTION_NODE", INT2FIX(XML_CDATA_SECTION_NODE));
|
1850
|
+
rb_define_const(cXMLNode, "ENTITY_REF_NODE", INT2FIX(XML_ENTITY_REF_NODE));
|
1851
|
+
rb_define_const(cXMLNode, "ENTITY_NODE", INT2FIX(XML_ENTITY_NODE));
|
1852
|
+
rb_define_const(cXMLNode, "PI_NODE", INT2FIX(XML_PI_NODE));
|
1853
|
+
rb_define_const(cXMLNode, "COMMENT_NODE", INT2FIX(XML_COMMENT_NODE));
|
1854
|
+
rb_define_const(cXMLNode, "DOCUMENT_NODE", INT2FIX(XML_DOCUMENT_NODE));
|
1855
|
+
rb_define_const(cXMLNode, "DOCUMENT_TYPE_NODE", INT2FIX(XML_DOCUMENT_TYPE_NODE));
|
1856
|
+
rb_define_const(cXMLNode, "DOCUMENT_FRAG_NODE", INT2FIX(XML_DOCUMENT_FRAG_NODE));
|
1857
|
+
rb_define_const(cXMLNode, "NOTATION_NODE", INT2FIX(XML_NOTATION_NODE));
|
1858
|
+
rb_define_const(cXMLNode, "HTML_DOCUMENT_NODE", INT2FIX(XML_HTML_DOCUMENT_NODE));
|
1859
|
+
rb_define_const(cXMLNode, "DTD_NODE", INT2FIX(XML_DTD_NODE));
|
1860
|
+
rb_define_const(cXMLNode, "ELEMENT_DECL", INT2FIX(XML_ELEMENT_DECL));
|
1861
|
+
rb_define_const(cXMLNode, "ATTRIBUTE_DECL", INT2FIX(XML_ATTRIBUTE_DECL));
|
1862
|
+
rb_define_const(cXMLNode, "ENTITY_DECL", INT2FIX(XML_ENTITY_DECL));
|
1863
|
+
rb_define_const(cXMLNode, "NAMESPACE_DECL", INT2FIX(XML_NAMESPACE_DECL));
|
1864
|
+
rb_define_const(cXMLNode, "XINCLUDE_START", INT2FIX(XML_XINCLUDE_START));
|
1865
|
+
rb_define_const(cXMLNode, "XINCLUDE_END", INT2FIX(XML_XINCLUDE_END));
|
1866
|
+
|
1867
|
+
#ifdef LIBXML_DOCB_ENABLED
|
1868
|
+
rb_define_const(cXMLNode, "DOCB_DOCUMENT_NODE", INT2FIX(XML_DOCB_DOCUMENT_NODE));
|
1869
|
+
#else
|
1870
|
+
rb_define_const(cXMLNode, "DOCB_DOCUMENT_NODE", Qnil);
|
1871
|
+
#endif
|
1872
|
+
|
2219
1873
|
|
2220
1874
|
rb_define_singleton_method(cXMLNode, "new2", ruby_xml_node2_new_native, 2);
|
2221
1875
|
rb_define_singleton_method(cXMLNode, "new", ruby_xml_node2_new_string_bc, -1);
|
@@ -2223,11 +1877,27 @@ ruby_init_xml_node(void) {
|
|
2223
1877
|
rb_define_singleton_method(cXMLNode, "new_comment", ruby_xml_node_new_comment, -1);
|
2224
1878
|
rb_define_singleton_method(cXMLNode, "new_text", ruby_xml_node_new_text, 1);
|
2225
1879
|
|
2226
|
-
|
2227
|
-
|
2228
|
-
rb_define_method(cXMLNode, "<<", ruby_xml_node_content_add, 1);
|
1880
|
+
/* Traversal */
|
1881
|
+
rb_include_module(cXMLNode, rb_mEnumerable);
|
2229
1882
|
rb_define_method(cXMLNode, "[]", ruby_xml_node_property_get, 1);
|
1883
|
+
rb_define_method(cXMLNode, "each", ruby_xml_node_each, 0);
|
1884
|
+
rb_define_method(cXMLNode, "first", ruby_xml_node_first_get, 0);
|
1885
|
+
rb_define_method(cXMLNode, "last", ruby_xml_node_last_get, 0);
|
1886
|
+
rb_define_method(cXMLNode, "next", ruby_xml_node_next_get, 0);
|
1887
|
+
rb_define_method(cXMLNode, "parent", ruby_xml_node_parent_get, 0);
|
1888
|
+
rb_define_method(cXMLNode, "prev", ruby_xml_node_prev_get, 0);
|
1889
|
+
|
1890
|
+
/* Modification */
|
1891
|
+
rb_define_method(cXMLNode, "<<", ruby_xml_node_content_add, 1);
|
2230
1892
|
rb_define_method(cXMLNode, "[]=", ruby_xml_node_property_set, 2);
|
1893
|
+
rb_define_method(cXMLNode, "child_add", ruby_xml_node_child_add, 1);
|
1894
|
+
rb_define_method(cXMLNode, "child=", ruby_xml_node_child_set, 1);
|
1895
|
+
rb_define_method(cXMLNode, "sibling=", ruby_xml_node_sibling_set, 1);
|
1896
|
+
rb_define_method(cXMLNode, "next=", ruby_xml_node_next_set, 1);
|
1897
|
+
rb_define_method(cXMLNode, "prev=", ruby_xml_node_prev_set, 1);
|
1898
|
+
|
1899
|
+
|
1900
|
+
/* Rest of the node api */
|
2231
1901
|
rb_define_method(cXMLNode, "attribute?", ruby_xml_node_attribute_q, 0);
|
2232
1902
|
rb_define_method(cXMLNode, "attribute_decl?", ruby_xml_node_attribute_decl_q, 0);
|
2233
1903
|
rb_define_method(cXMLNode, "attributes", ruby_xml_node_attributes_get, 0);
|
@@ -2238,12 +1908,6 @@ ruby_init_xml_node(void) {
|
|
2238
1908
|
rb_define_method(cXMLNode, "cdata?", ruby_xml_node_cdata_q, 0);
|
2239
1909
|
rb_define_method(cXMLNode, "comment?", ruby_xml_node_comment_q, 0);
|
2240
1910
|
rb_define_method(cXMLNode, "copy", ruby_xml_node_copy, 1);
|
2241
|
-
rb_define_method(cXMLNode, "child", ruby_xml_node_child_get, 0);
|
2242
|
-
rb_define_method(cXMLNode, "child?", ruby_xml_node_child_q, 0);
|
2243
|
-
rb_define_method(cXMLNode, "child=", ruby_xml_node_child_set, 1);
|
2244
|
-
rb_define_method(cXMLNode, "child_add", ruby_xml_node_child_add, 1);
|
2245
|
-
rb_define_method(cXMLNode, "children", ruby_xml_node_child_get, 0);
|
2246
|
-
rb_define_method(cXMLNode, "children?", ruby_xml_node_child_q, 0);
|
2247
1911
|
rb_define_method(cXMLNode, "content", ruby_xml_node_content_get, 0);
|
2248
1912
|
rb_define_method(cXMLNode, "content=", ruby_xml_node_content_set, 1);
|
2249
1913
|
rb_define_method(cXMLNode, "content_stripped", ruby_xml_node_content_stripped_get, 0);
|
@@ -2260,14 +1924,10 @@ ruby_init_xml_node(void) {
|
|
2260
1924
|
rb_define_method(cXMLNode, "entity?", ruby_xml_node_entity_q, 0);
|
2261
1925
|
rb_define_method(cXMLNode, "entity_ref?", ruby_xml_node_entity_ref_q, 0);
|
2262
1926
|
rb_define_method(cXMLNode, "eql?", ruby_xml_node_eql_q, 1);
|
2263
|
-
rb_define_method(cXMLNode, "find", ruby_xml_node_find, -1);
|
2264
|
-
rb_define_method(cXMLNode, "find_first", ruby_xml_node_find_first, -1);
|
2265
1927
|
rb_define_method(cXMLNode, "fragment?", ruby_xml_node_fragment_q, 0);
|
2266
1928
|
rb_define_method(cXMLNode, "html_doc?", ruby_xml_node_html_doc_q, 0);
|
2267
1929
|
rb_define_method(cXMLNode, "lang", ruby_xml_node_lang_get, 0);
|
2268
1930
|
rb_define_method(cXMLNode, "lang=", ruby_xml_node_lang_set, 1);
|
2269
|
-
rb_define_method(cXMLNode, "last", ruby_xml_node_last_get, 0);
|
2270
|
-
rb_define_method(cXMLNode, "last?", ruby_xml_node_last_q, 0);
|
2271
1931
|
rb_define_method(cXMLNode, "line_num", ruby_xml_node_line_num, 0);
|
2272
1932
|
rb_define_method(cXMLNode, "name", ruby_xml_node_name_get, 0);
|
2273
1933
|
rb_define_method(cXMLNode, "name=", ruby_xml_node_name_set, 1);
|
@@ -2275,28 +1935,18 @@ ruby_init_xml_node(void) {
|
|
2275
1935
|
rb_define_method(cXMLNode, "namespace_node", ruby_xml_node_namespace_get_node, 0);
|
2276
1936
|
rb_define_method(cXMLNode, "namespace?", ruby_xml_node_namespace_q, 0);
|
2277
1937
|
rb_define_method(cXMLNode, "namespace=", ruby_xml_node_namespace_set, -1);
|
2278
|
-
rb_define_method(cXMLNode, "next", ruby_xml_node_next_get, 0);
|
2279
|
-
rb_define_method(cXMLNode, "next?", ruby_xml_node_next_q, 0);
|
2280
|
-
rb_define_method(cXMLNode, "next=", ruby_xml_node_next_set, 1);
|
2281
1938
|
rb_define_method(cXMLNode, "node_type", ruby_xml_node_type, 0);
|
2282
|
-
rb_define_method(cXMLNode, "node_type_name", ruby_xml_node_type_name, 0);
|
2283
1939
|
rb_define_method(cXMLNode, "notation?", ruby_xml_node_notation_q, 0);
|
2284
1940
|
rb_define_method(cXMLNode, "ns", ruby_xml_node_namespace_get, 0);
|
2285
1941
|
rb_define_method(cXMLNode, "ns?", ruby_xml_node_ns_q, 0);
|
2286
1942
|
rb_define_method(cXMLNode, "ns_def", ruby_xml_node_ns_def_get, 0);
|
2287
1943
|
rb_define_method(cXMLNode, "ns_def?", ruby_xml_node_ns_def_q, 0);
|
2288
|
-
rb_define_method(cXMLNode, "parent", ruby_xml_node_parent_get, 0);
|
2289
|
-
rb_define_method(cXMLNode, "parent?", ruby_xml_node_parent_q, 0);
|
2290
1944
|
rb_define_method(cXMLNode, "path", ruby_xml_node_path, 0);
|
2291
1945
|
rb_define_method(cXMLNode, "pi?", ruby_xml_node_pi_q, 0);
|
2292
1946
|
rb_define_method(cXMLNode, "pointer", ruby_xml_node_pointer, 1);
|
2293
|
-
rb_define_method(cXMLNode, "prev", ruby_xml_node_prev_get, 0);
|
2294
|
-
rb_define_method(cXMLNode, "prev?", ruby_xml_node_prev_q, 0);
|
2295
|
-
rb_define_method(cXMLNode, "prev=", ruby_xml_node_prev_set, 1);
|
2296
1947
|
rb_define_method(cXMLNode, "remove!", ruby_xml_node_remove_ex, 0);
|
2297
1948
|
rb_define_method(cXMLNode, "search_ns", ruby_xml_node_search_ns, 1);
|
2298
1949
|
rb_define_method(cXMLNode, "search_href", ruby_xml_node_search_href, 1);
|
2299
|
-
rb_define_method(cXMLNode, "sibling=", ruby_xml_node_sibling_set, 1);
|
2300
1950
|
rb_define_method(cXMLNode, "space_preserve", ruby_xml_node_space_preserve_get, 0);
|
2301
1951
|
rb_define_method(cXMLNode, "space_preserve=", ruby_xml_node_space_preserve_set, 1);
|
2302
1952
|
rb_define_method(cXMLNode, "text?", ruby_xml_node_text_q, 0);
|
@@ -2309,4 +1959,11 @@ ruby_init_xml_node(void) {
|
|
2309
1959
|
|
2310
1960
|
rb_define_alias(cXMLNode, "==", "eql?");
|
2311
1961
|
rb_define_alias(cXMLNode, "properties?", "attributes?");
|
1962
|
+
|
1963
|
+
/* :nodoc: */
|
1964
|
+
{
|
1965
|
+
VALUE singleton;
|
1966
|
+
singleton = rb_singleton_class(cXMLNode);
|
1967
|
+
rb_define_alias(singleton, "new_element", "new");
|
1968
|
+
}
|
2312
1969
|
}
|