libxml-ruby 0.9.5-x86-mswin32-60 → 0.9.6-x86-mswin32-60

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. data/CHANGES +28 -0
  2. data/README +8 -12
  3. data/ext/libxml/cbg.c +86 -86
  4. data/ext/libxml/libxml.c +875 -899
  5. data/ext/libxml/ruby_libxml.h +91 -65
  6. data/ext/libxml/ruby_xml_attr.c +485 -485
  7. data/ext/libxml/ruby_xml_attr.h +3 -3
  8. data/ext/libxml/ruby_xml_attributes.h +2 -2
  9. data/ext/libxml/ruby_xml_document.c +124 -307
  10. data/ext/libxml/ruby_xml_document.h +3 -3
  11. data/ext/libxml/ruby_xml_dtd.c +119 -119
  12. data/ext/libxml/ruby_xml_dtd.h +2 -2
  13. data/ext/libxml/ruby_xml_error.c +1 -1
  14. data/ext/libxml/ruby_xml_error.h +2 -2
  15. data/ext/libxml/ruby_xml_html_parser.c +119 -119
  16. data/ext/libxml/ruby_xml_html_parser.h +3 -3
  17. data/ext/libxml/ruby_xml_input.c +13 -11
  18. data/ext/libxml/ruby_xml_input.h +3 -3
  19. data/ext/libxml/ruby_xml_input_cbg.c +197 -197
  20. data/ext/libxml/ruby_xml_namespace.c +158 -0
  21. data/ext/libxml/ruby_xml_namespace.h +12 -0
  22. data/ext/libxml/ruby_xml_namespaces.c +303 -0
  23. data/ext/libxml/{ruby_xml_ns.h → ruby_xml_namespaces.h} +4 -5
  24. data/ext/libxml/ruby_xml_node.c +88 -293
  25. data/ext/libxml/ruby_xml_node.h +4 -4
  26. data/ext/libxml/ruby_xml_parser.c +152 -152
  27. data/ext/libxml/ruby_xml_parser.h +3 -3
  28. data/ext/libxml/ruby_xml_parser_context.c +630 -657
  29. data/ext/libxml/ruby_xml_parser_context.h +3 -3
  30. data/ext/libxml/ruby_xml_reader.c +899 -904
  31. data/ext/libxml/ruby_xml_reader.h +2 -2
  32. data/ext/libxml/ruby_xml_relaxng.h +2 -2
  33. data/ext/libxml/ruby_xml_sax_parser.c +175 -175
  34. data/ext/libxml/ruby_xml_sax_parser.h +3 -3
  35. data/ext/libxml/ruby_xml_schema.c +165 -165
  36. data/ext/libxml/ruby_xml_schema.h +2 -2
  37. data/ext/libxml/ruby_xml_state.h +2 -2
  38. data/ext/libxml/ruby_xml_xinclude.c +24 -24
  39. data/ext/libxml/ruby_xml_xinclude.h +3 -3
  40. data/ext/libxml/ruby_xml_xpath.c +108 -108
  41. data/ext/libxml/ruby_xml_xpath.h +3 -3
  42. data/ext/libxml/ruby_xml_xpath_context.c +84 -35
  43. data/ext/libxml/ruby_xml_xpath_context.h +3 -3
  44. data/ext/libxml/ruby_xml_xpath_expression.c +5 -7
  45. data/ext/libxml/ruby_xml_xpath_expression.h +2 -2
  46. data/ext/libxml/ruby_xml_xpath_object.c +7 -7
  47. data/ext/libxml/ruby_xml_xpath_object.h +2 -2
  48. data/ext/libxml/ruby_xml_xpointer.c +107 -107
  49. data/ext/libxml/ruby_xml_xpointer.h +3 -3
  50. data/ext/libxml/version.h +2 -2
  51. data/ext/mingw/libxml_ruby.dll.a +0 -0
  52. data/ext/mingw/libxml_ruby.so +0 -0
  53. data/ext/vc/libxml_ruby.vcproj +13 -5
  54. data/lib/libxml.rb +4 -1
  55. data/lib/libxml/document.rb +40 -6
  56. data/lib/libxml/hpricot.rb +76 -76
  57. data/lib/libxml/namespace.rb +60 -0
  58. data/lib/libxml/namespaces.rb +36 -0
  59. data/lib/libxml/node.rb +90 -26
  60. data/lib/libxml/ns.rb +20 -0
  61. data/test/model/bands.xml +5 -0
  62. data/test/tc_attributes.rb +1 -1
  63. data/test/tc_document.rb +24 -41
  64. data/test/tc_document_write.rb +87 -115
  65. data/test/tc_namespace.rb +59 -0
  66. data/test/tc_namespaces.rb +174 -0
  67. data/test/tc_node.rb +41 -33
  68. data/test/tc_node_copy.rb +1 -1
  69. data/test/tc_node_edit.rb +6 -0
  70. data/test/tc_node_write.rb +76 -0
  71. data/test/tc_xinclude.rb +2 -9
  72. data/test/tc_xpath.rb +38 -11
  73. data/test/test_suite.rb +3 -1
  74. metadata +16 -9
  75. data/ext/libxml/ruby_xml_ns.c +0 -150
  76. data/test/ets_copy_bug.rb +0 -21
  77. data/test/ets_copy_bug3.rb +0 -38
  78. data/test/model/default_validation_bug.rb +0 -0
  79. data/test/tc_ns.rb +0 -18
@@ -2,11 +2,10 @@
2
2
 
3
3
  /* Please see the LICENSE file for copyright and distribution information */
4
4
 
5
- #ifndef __rxml_NS__
6
- #define __rxml_NS__
5
+ #ifndef __RXML_NAMESPACES__
6
+ #define __RXML_NAMESPACES__
7
7
 
8
- extern VALUE cXMLNS;
8
+ extern VALUE cXMLNamespaces;
9
9
 
10
- void ruby_init_xml_ns(void);
11
- VALUE rxml_ns_wrap(xmlNsPtr ns);
10
+ void ruby_init_xml_namespaces(void);
12
11
  #endif
@@ -1,7 +1,3 @@
1
- /* $Id: ruby_xml_node.c 650 2008-11-30 03:40:22Z cfis $ */
2
-
3
- /* Please see the LICENSE file for copyright and distribution information */
4
-
5
1
  #include "ruby_libxml.h"
6
2
  #include "ruby_xml_node.h"
7
3
 
@@ -88,7 +84,7 @@ void rxml_node_mark(xmlNodePtr xnode)
88
84
  rxml_node_mark_common(xnode);
89
85
  }
90
86
 
91
- VALUE rxml_node_wrap(VALUE class, xmlNodePtr xnode)
87
+ VALUE rxml_node_wrap(VALUE klass, xmlNodePtr xnode)
92
88
  {
93
89
  VALUE obj;
94
90
 
@@ -98,7 +94,7 @@ VALUE rxml_node_wrap(VALUE class, xmlNodePtr xnode)
98
94
  return (VALUE) xnode->_private;
99
95
  }
100
96
 
101
- obj = Data_Wrap_Struct(class, rxml_node_mark, rxml_node2_free, xnode);
97
+ obj = Data_Wrap_Struct(klass, rxml_node_mark, rxml_node2_free, xnode);
102
98
 
103
99
  xnode->_private = (void*) obj;
104
100
  return obj;
@@ -341,6 +337,26 @@ static VALUE rxml_node_content_stripped_get(VALUE self)
341
337
  return (result);
342
338
  }
343
339
 
340
+ /*
341
+ * call-seq:
342
+ * node.debug -> true|false
343
+ *
344
+ * Print libxml debugging information to stdout.
345
+ * Requires that libxml was compiled with debugging enabled.
346
+ */
347
+ static VALUE rxml_node_debug(VALUE self)
348
+ {
349
+ #ifdef LIBXML_DEBUG_ENABLED
350
+ xmlNodePtr xnode;
351
+ Data_Get_Struct(self, xmlNode, xnode);
352
+ xmlDebugDumpNode(NULL, xnode, 2);
353
+ return Qtrue;
354
+ #else
355
+ rb_warn("libxml was compiled without debugging support.")
356
+ return Qfalse;
357
+ #endif
358
+ }
359
+
344
360
  /*
345
361
  * call-seq:
346
362
  * node.first -> XML::Node
@@ -496,46 +512,72 @@ static VALUE rxml_node_doc(VALUE self)
496
512
 
497
513
  /*
498
514
  * call-seq:
499
- * node.dump -> (true|nil)
515
+ * node.to_s -> "string"
516
+ * node.to_s(:indent => true, :encoding => 'UTF-8', :level => 0) -> "string"
500
517
  *
501
- * Dump this node to stdout.
502
- */
503
- static VALUE rxml_node_dump(VALUE self)
518
+ * Converts a node, and all of its children, to a string representation.
519
+ * You may provide an optional hash table to control how the string is
520
+ * generated. Valid options are:
521
+ *
522
+ * :indent - Specifies if the string should be indented. The default value
523
+ * is true. Note that indentation is only added if both :indent is
524
+ * true and XML.indent_tree_output is true. If :indent is set to false,
525
+ * then both indentation and line feeds are removed from the result.
526
+ *
527
+ * :level - Specifies the indentation level. The amount of indentation
528
+ * is equal to the (level * number_spaces) + number_spaces, where libxml
529
+ * defaults the number of spaces to 2. Thus a level of 0 results in
530
+ * 2 spaces, level 1 results in 4 spaces, level 2 results in 6 spaces, etc.
531
+ *
532
+ * :encoding - Specifies the output encoding of the string. It
533
+ * defaults to XML::Input::UTF8. To change it, use one of the
534
+ * XML::Input encoding constants. */
535
+
536
+ static VALUE rxml_node_to_s(int argc, VALUE *argv, VALUE self)
504
537
  {
538
+ VALUE options = Qnil;
505
539
  xmlNodePtr xnode;
506
- xmlBufferPtr buf;
540
+ xmlCharEncodingHandlerPtr encodingHandler;
541
+ xmlOutputBufferPtr output;
507
542
 
508
- Data_Get_Struct(self, xmlNode, xnode);
543
+ int level = 0;
544
+ int indent = 1;
545
+ const char *encoding = "UTF-8";
509
546
 
510
- if (xnode->doc == NULL)
511
- return (Qnil);
547
+ rb_scan_args(argc, argv, "01", &options);
512
548
 
513
- buf = xmlBufferCreate();
514
- xmlNodeDump(buf, xnode->doc, xnode, 0, 1);
515
- xmlBufferDump(stdout, buf);
516
- xmlBufferFree(buf);
517
- return (Qtrue);
518
- }
549
+ if (!NIL_P(options))
550
+ {
551
+ VALUE rencoding, rindent, rlevel;
552
+ Check_Type(options, T_HASH);
553
+ rencoding = rb_hash_aref(options, ID2SYM(rb_intern("encoding")));
554
+ rindent = rb_hash_aref(options, ID2SYM(rb_intern("indent")));
555
+ rlevel = rb_hash_aref(options, ID2SYM(rb_intern("level")));
519
556
 
520
- /*
521
- * call-seq:
522
- * node.debug_dump -> (true|nil)
523
- *
524
- * Dump this node to stdout, including any debugging
525
- * information.
526
- */
527
- static VALUE rxml_node_debug_dump(VALUE self)
528
- {
529
- xmlNodePtr xnode;
530
- Data_Get_Struct(self, xmlNode, xnode);
557
+ if (rindent == Qfalse)
558
+ indent = 0;
531
559
 
532
- if (xnode->doc == NULL)
533
- return (Qnil);
560
+ if (rlevel != Qnil)
561
+ level = NUM2INT(rlevel);
534
562
 
535
- xmlElemDump(stdout, xnode->doc, xnode);
536
- return (Qtrue);
563
+ if (rencoding != Qnil)
564
+ encoding = RSTRING_PTR(rxml_input_encoding_to_s(cXMLInput, rencoding));
565
+ }
566
+
567
+ encodingHandler = xmlFindCharEncodingHandler(encoding);
568
+ output = xmlAllocOutputBuffer(encodingHandler);
569
+
570
+ Data_Get_Struct(self, xmlNode, xnode);
571
+ xmlNodeDumpOutput(output, xnode->doc, xnode, level, indent, encoding);
572
+ xmlOutputBufferFlush(output);
573
+
574
+ if (output->conv)
575
+ return rb_str_new2((const char*) output->conv->content);
576
+ else
577
+ return rb_str_new2((const char*) output->buffer->content);
537
578
  }
538
579
 
580
+
539
581
  /*
540
582
  * call-seq:
541
583
  * node.each -> XML::Node
@@ -579,7 +621,6 @@ static VALUE rxml_node_empty_q(VALUE self)
579
621
  return ((xmlIsBlankNode(xnode) == 1) ? Qtrue : Qfalse);
580
622
  }
581
623
 
582
- static VALUE rxml_node_to_s(VALUE self);
583
624
 
584
625
  /*
585
626
  * call-seq:
@@ -593,7 +634,7 @@ if(self == other)
593
634
  {
594
635
  return Qtrue;
595
636
  }
596
- else if NIL_P(other)
637
+ else if (NIL_P(other))
597
638
  {
598
639
  return Qfalse;
599
640
  }
@@ -605,8 +646,8 @@ else
605
646
  if (rb_obj_is_kind_of(other, cXMLNode) == Qfalse)
606
647
  rb_raise(rb_eTypeError, "Nodes can only be compared against other nodes");
607
648
 
608
- self_xml = rxml_node_to_s(self);
609
- other_xml = rxml_node_to_s(other);
649
+ self_xml = rxml_node_to_s(0, NULL, self);
650
+ other_xml = rxml_node_to_s(0, NULL, other);
610
651
  return(rb_funcall(self_xml, rb_intern("=="), 1, other_xml));
611
652
  }
612
653
  }
@@ -836,134 +877,6 @@ static VALUE rxml_node_name_set(VALUE self, VALUE name)
836
877
  return (Qtrue);
837
878
  }
838
879
 
839
- /*
840
- * call-seq:
841
- * node.namespace -> [namespace, ..., namespace]
842
- *
843
- * Obtain an array of +XML::NS+ objects representing
844
- * this node's xmlns attributes
845
- */
846
- static VALUE rxml_node_namespace_get(VALUE self)
847
- {
848
- xmlNodePtr xnode;
849
- xmlNsPtr *nsList, *cur;
850
- VALUE arr, ns;
851
-
852
- Data_Get_Struct(self, xmlNode, xnode);
853
- if (xnode == NULL)
854
- return (Qnil);
855
-
856
- nsList = xmlGetNsList(xnode->doc, xnode);
857
-
858
- if (nsList == NULL)
859
- return (Qnil);
860
-
861
- arr = rb_ary_new();
862
- for (cur = nsList; *cur != NULL; cur++)
863
- {
864
- ns = rxml_ns_wrap(*cur);
865
- if (ns == Qnil)
866
- continue;
867
- else
868
- rb_ary_push(arr, ns);
869
- }
870
- xmlFree(nsList);
871
-
872
- return (arr);
873
- }
874
-
875
- /*
876
- * call-seq:
877
- * node.namespace_node -> namespace.
878
- *
879
- * Obtain this node's namespace node.
880
- */
881
- static VALUE rxml_node_namespace_get_node(VALUE self)
882
- {
883
- xmlNodePtr xnode;
884
-
885
- Data_Get_Struct(self, xmlNode, xnode);
886
- if (xnode->ns == NULL)
887
- return (Qnil);
888
- else
889
- return rxml_ns_wrap(xnode->ns);
890
- }
891
-
892
- // TODO namespace_set can take varargs (in fact, must if used
893
- // with strings), but I cannot see how you can call
894
- // that version, apart from with 'send'
895
- //
896
- // Would sure be nice to support foo.namespace['foo'] = 'bar'
897
- // but maybe that's not practical...
898
-
899
- /*
900
- * call-seq:
901
- * node.namespace = namespace
902
- *
903
- * Add the specified XML::NS object to this node's xmlns attributes.
904
- */
905
- static VALUE rxml_node_namespace_set(int argc, VALUE *argv, VALUE self)
906
- {
907
- VALUE rns, rprefix;
908
- xmlNodePtr xnode;
909
- xmlNsPtr xns;
910
- char *cp, *href;
911
-
912
- Data_Get_Struct(self, xmlNode, xnode);
913
- switch (argc)
914
- {
915
- case 1:
916
- rns = argv[0];
917
- if (TYPE(rns) == T_STRING)
918
- {
919
- cp = strchr(StringValuePtr(rns), (int) ':');
920
- if (cp == NULL)
921
- {
922
- rprefix = rns;
923
- href = NULL;
924
- }
925
- else
926
- {
927
- rprefix = rb_str_new(StringValuePtr(rns), (int) ((long) cp
928
- - (long) StringValuePtr(rns)));
929
- href = &cp[1]; /* skip the : */
930
- }
931
- }
932
- else if (rb_obj_is_kind_of(rns, cXMLNS) == Qtrue)
933
- {
934
- Data_Get_Struct(self, xmlNs, xns);
935
- xmlSetNs(xnode, xns);
936
- return (rns);
937
- }
938
- else
939
- rb_raise(rb_eTypeError, "must pass a string or an XML::Ns object");
940
-
941
- /* Fall through to next case because when argc == 1, we need to
942
- * manually setup the additional args unless the arg passed is of
943
- * cXMLNS type */
944
- case 2:
945
- /* Don't want this code run in the fall through case */
946
- if (argc == 2)
947
- {
948
- rprefix = argv[0];
949
- href = StringValuePtr(argv[1]);
950
- }
951
-
952
- xns = xmlNewNs(xnode, (xmlChar*) href, (xmlChar*) StringValuePtr(rprefix));
953
- if (xns == NULL)
954
- rxml_raise(&xmlLastError);
955
- else
956
- return rxml_ns_wrap(xns);
957
- break;
958
-
959
- default:
960
- rb_raise(rb_eArgError, "wrong number of arguments (1 or 2)");
961
- }
962
-
963
- /* can't get here */
964
- return (Qnil);
965
- }
966
-
967
880
  /*
968
881
  * call-seq:
969
882
  * node.next -> XML::Node
@@ -1005,55 +918,6 @@ static VALUE rxml_node_next_set(VALUE self, VALUE rnode)
1005
918
  return (rxml_node_wrap(cXMLNode, ret));
1006
919
  }
1007
920
 
1008
- /*
1009
- * call-seq:
1010
- * node.ns? -> (true|false)
1011
- *
1012
- * Determine whether this node has a namespace.
1013
- */
1014
- static VALUE rxml_node_ns_q(VALUE self)
1015
- {
1016
- xmlNodePtr xnode;
1017
- Data_Get_Struct(self, xmlNode, xnode);
1018
- if (xnode->ns == NULL)
1019
- return (Qfalse);
1020
- else
1021
- return (Qtrue);
1022
- }
1023
-
1024
- /*
1025
- * call-seq:
1026
- * node.ns_def? -> (true|false)
1027
- *
1028
- * Obtain an array of +XML::NS+ objects representing
1029
- * this node's xmlns attributes
1030
- */
1031
- static VALUE rxml_node_ns_def_q(VALUE self)
1032
- {
1033
- xmlNodePtr xnode;
1034
- Data_Get_Struct(self, xmlNode, xnode);
1035
- if (xnode->nsDef == NULL)
1036
- return (Qfalse);
1037
- else
1038
- return (Qtrue);
1039
- }
1040
-
1041
- /*
1042
- * call-seq:
1043
- * node.ns_def -> namespace
1044
- *
1045
- * Obtain this node's default namespace.
1046
- */
1047
- static VALUE rxml_node_ns_def_get(VALUE self)
1048
- {
1049
- xmlNodePtr xnode;
1050
- Data_Get_Struct(self, xmlNode, xnode);
1051
- if (xnode->nsDef == NULL)
1052
- return (Qnil);
1053
- else
1054
- return (rxml_ns_wrap(xnode->nsDef));
1055
- }
1056
-
1057
921
  /*
1058
922
  * call-seq:
1059
923
  * node.parent -> XML::Node
@@ -1230,38 +1094,6 @@ static VALUE rxml_node_remove_ex(VALUE self)
1230
1094
  return self;
1231
1095
  }
1232
1096
 
1233
- /*
1234
- * call-seq:
1235
- * node.search_href -> namespace
1236
- *
1237
- * Search for a namespace by href.
1238
- */
1239
- static VALUE rxml_node_search_href(VALUE self, VALUE href)
1240
- {
1241
- xmlNodePtr xnode;
1242
-
1243
- Check_Type(href, T_STRING);
1244
- Data_Get_Struct(self, xmlNode, xnode);
1245
- return (rxml_ns_wrap(xmlSearchNsByHref(xnode->doc, xnode,
1246
- (xmlChar*) StringValuePtr(href))));
1247
- }
1248
-
1249
- /*
1250
- * call-seq:
1251
- * node.search_ns -> namespace
1252
- *
1253
- * Search for a namespace by namespace.
1254
- */
1255
- static VALUE rxml_node_search_ns(VALUE self, VALUE ns)
1256
- {
1257
- xmlNodePtr xnode;
1258
-
1259
- Check_Type(ns, T_STRING);
1260
- Data_Get_Struct(self, xmlNode, xnode);
1261
- return (rxml_ns_wrap(xmlSearchNs(xnode->doc, xnode,
1262
- (xmlChar*) StringValuePtr(ns))));
1263
- }
1264
-
1265
1097
  /*
1266
1098
  * call-seq:
1267
1099
  * node.sibling(node) -> XML::Node
@@ -1324,28 +1156,6 @@ static VALUE rxml_node_space_preserve_set(VALUE self, VALUE bool)
1324
1156
  return (Qnil);
1325
1157
  }
1326
1158
 
1327
- /*
1328
- * call-seq:
1329
- * node.to_s -> "string"
1330
- *
1331
- * Coerce this node to a string representation of
1332
- * it's XML.
1333
- */
1334
- static VALUE rxml_node_to_s(VALUE self)
1335
- {
1336
- xmlNodePtr xnode;
1337
- xmlBufferPtr buf;
1338
- VALUE result;
1339
-
1340
- Data_Get_Struct(self, xmlNode, xnode);
1341
- buf = xmlBufferCreate();
1342
- xmlNodeDump(buf, xnode->doc, xnode, 0, 1);
1343
- result = rb_str_new2((const char*) buf->content);
1344
-
1345
- xmlBufferFree(buf);
1346
- return result;
1347
- }
1348
-
1349
1159
  /*
1350
1160
  * call-seq:
1351
1161
  * node.type -> num
@@ -1430,20 +1240,16 @@ void ruby_init_xml_node(void)
1430
1240
  rb_define_const(cXMLNode, "ELEMENT_NODE", INT2FIX(XML_ELEMENT_NODE));
1431
1241
  rb_define_const(cXMLNode, "ATTRIBUTE_NODE", INT2FIX(XML_ATTRIBUTE_NODE));
1432
1242
  rb_define_const(cXMLNode, "TEXT_NODE", INT2FIX(XML_TEXT_NODE));
1433
- rb_define_const(cXMLNode, "CDATA_SECTION_NODE", INT2FIX(
1434
- XML_CDATA_SECTION_NODE));
1243
+ rb_define_const(cXMLNode, "CDATA_SECTION_NODE", INT2FIX(XML_CDATA_SECTION_NODE));
1435
1244
  rb_define_const(cXMLNode, "ENTITY_REF_NODE", INT2FIX(XML_ENTITY_REF_NODE));
1436
1245
  rb_define_const(cXMLNode, "ENTITY_NODE", INT2FIX(XML_ENTITY_NODE));
1437
1246
  rb_define_const(cXMLNode, "PI_NODE", INT2FIX(XML_PI_NODE));
1438
1247
  rb_define_const(cXMLNode, "COMMENT_NODE", INT2FIX(XML_COMMENT_NODE));
1439
1248
  rb_define_const(cXMLNode, "DOCUMENT_NODE", INT2FIX(XML_DOCUMENT_NODE));
1440
- rb_define_const(cXMLNode, "DOCUMENT_TYPE_NODE", INT2FIX(
1441
- XML_DOCUMENT_TYPE_NODE));
1442
- rb_define_const(cXMLNode, "DOCUMENT_FRAG_NODE", INT2FIX(
1443
- XML_DOCUMENT_FRAG_NODE));
1249
+ rb_define_const(cXMLNode, "DOCUMENT_TYPE_NODE", INT2FIX(XML_DOCUMENT_TYPE_NODE));
1250
+ rb_define_const(cXMLNode, "DOCUMENT_FRAG_NODE", INT2FIX(XML_DOCUMENT_FRAG_NODE));
1444
1251
  rb_define_const(cXMLNode, "NOTATION_NODE", INT2FIX(XML_NOTATION_NODE));
1445
- rb_define_const(cXMLNode, "HTML_DOCUMENT_NODE", INT2FIX(
1446
- XML_HTML_DOCUMENT_NODE));
1252
+ rb_define_const(cXMLNode, "HTML_DOCUMENT_NODE", INT2FIX(XML_HTML_DOCUMENT_NODE));
1447
1253
  rb_define_const(cXMLNode, "DTD_NODE", INT2FIX(XML_DTD_NODE));
1448
1254
  rb_define_const(cXMLNode, "ELEMENT_DECL", INT2FIX(XML_ELEMENT_DECL));
1449
1255
  rb_define_const(cXMLNode, "ATTRIBUTE_DECL", INT2FIX(XML_ATTRIBUTE_DECL));
@@ -1493,11 +1299,9 @@ void ruby_init_xml_node(void)
1493
1299
  rb_define_method(cXMLNode, "copy", rxml_node_copy, 1);
1494
1300
  rb_define_method(cXMLNode, "content", rxml_node_content_get, 0);
1495
1301
  rb_define_method(cXMLNode, "content=", rxml_node_content_set, 1);
1496
- rb_define_method(cXMLNode, "content_stripped",
1497
- rxml_node_content_stripped_get, 0);
1302
+ rb_define_method(cXMLNode, "content_stripped", rxml_node_content_stripped_get, 0);
1303
+ rb_define_method(cXMLNode, "debug", rxml_node_debug, 0);
1498
1304
  rb_define_method(cXMLNode, "doc", rxml_node_doc, 0);
1499
- rb_define_method(cXMLNode, "dump", rxml_node_dump, 0);
1500
- rb_define_method(cXMLNode, "debug_dump", rxml_node_debug_dump, 0);
1501
1305
  rb_define_method(cXMLNode, "empty?", rxml_node_empty_q, 0);
1502
1306
  rb_define_method(cXMLNode, "eql?", rxml_node_eql_q, 1);
1503
1307
  rb_define_method(cXMLNode, "lang", rxml_node_lang_get, 0);
@@ -1505,25 +1309,16 @@ void ruby_init_xml_node(void)
1505
1309
  rb_define_method(cXMLNode, "line_num", rxml_node_line_num, 0);
1506
1310
  rb_define_method(cXMLNode, "name", rxml_node_name_get, 0);
1507
1311
  rb_define_method(cXMLNode, "name=", rxml_node_name_set, 1);
1508
- rb_define_method(cXMLNode, "namespace", rxml_node_namespace_get, 0);
1509
- rb_define_method(cXMLNode, "namespace_node", rxml_node_namespace_get_node, 0);
1510
- rb_define_method(cXMLNode, "namespace=", rxml_node_namespace_set, -1);
1511
1312
  rb_define_method(cXMLNode, "node_type", rxml_node_type, 0);
1512
- rb_define_method(cXMLNode, "ns", rxml_node_namespace_get, 0);
1513
- rb_define_method(cXMLNode, "ns?", rxml_node_ns_q, 0);
1514
- rb_define_method(cXMLNode, "ns_def?", rxml_node_ns_def_q, 0);
1515
- rb_define_method(cXMLNode, "ns_def", rxml_node_ns_def_get, 0);
1516
1313
  rb_define_method(cXMLNode, "path", rxml_node_path, 0);
1517
1314
  rb_define_method(cXMLNode, "pointer", rxml_node_pointer, 1);
1518
1315
  rb_define_method(cXMLNode, "remove!", rxml_node_remove_ex, 0);
1519
- rb_define_method(cXMLNode, "search_ns", rxml_node_search_ns, 1);
1520
- rb_define_method(cXMLNode, "search_href", rxml_node_search_href, 1);
1521
1316
  rb_define_method(cXMLNode, "space_preserve", rxml_node_space_preserve_get, 0);
1522
1317
  rb_define_method(cXMLNode, "space_preserve=", rxml_node_space_preserve_set, 1);
1523
- rb_define_method(cXMLNode, "to_s", rxml_node_to_s, 0);
1318
+ rb_define_method(cXMLNode, "to_s", rxml_node_to_s, -1);
1524
1319
  rb_define_method(cXMLNode, "xlink?", rxml_node_xlink_q, 0);
1525
1320
  rb_define_method(cXMLNode, "xlink_type", rxml_node_xlink_type, 0);
1526
1321
  rb_define_method(cXMLNode, "xlink_type_name", rxml_node_xlink_type_name, 0);
1527
1322
 
1528
1323
  rb_define_alias(cXMLNode, "==", "eql?");
1529
- }
1324
+ }