### Eclipse Workspace Patch 1.0
#P libxml
Index: ext/xml/ruby_xml_node.c
===================================================================
RCS file: /var/cvs/libxml/libxml/ext/xml/ruby_xml_node.c,v
retrieving revision 1.12
diff -u -r1.12 ruby_xml_node.c
--- ext/xml/ruby_xml_node.c	5 Dec 2006 12:03:11 -0000	1.12
+++ ext/xml/ruby_xml_node.c	1 May 2007 21:50:52 -0000
@@ -851,6 +851,48 @@
 
 
 /*
+ * call-seq: 
+ *    XML::Node.new_text(content = nil) => node
+ * 
+ * Create a new text node, optionally setting
+ * the node's content.
+ * 
+ */
+VALUE
+ruby_xml_node_text_initialize(int argc, VALUE *argv, VALUE class) {
+  xmlNode *xnode;
+  VALUE node, str;
+
+  str = Qnil;
+
+  switch(argc) {
+  case 1:
+    str = argv[0];
+    Check_Type(str, T_STRING);
+// TODO  xmlNewComment wrongly? adds \n before and after the comment
+    if (!NIL_P(str)) {
+      xnode = xmlNewText((xmlChar*)StringValuePtr(str));
+    } else {
+      xnode = xmlNewText(NULL);
+    }
+
+    if (xnode == NULL)
+      return(Qnil);
+
+    node = ruby_xml_node_new(class, xnode);
+
+    break;
+
+  default:
+    rb_raise(rb_eArgError, "wrong number of arguments (1)");
+  }
+
+  return(node);
+}
+
+
+
+/*
  * call-seq:
  *    XML::Node.new_comment(content = nil) => node
  * 
@@ -2285,6 +2327,7 @@
   rb_define_singleton_method(cXMLNode, "new", ruby_xml_node_initialize, -1);
   rb_define_singleton_method(cXMLNode, "new_cdata", ruby_xml_node_cdata_initialize, -1);
   rb_define_singleton_method(cXMLNode, "new_comment", ruby_xml_node_comment_initialize, -1); 
+   rb_define_singleton_method(cXMLNode, "new_text", ruby_xml_node_text_initialize, -1); 
   
   rb_define_alias(singleton, "new_element", "new");
   
