Class: Nokogiri::XML::Text
- Inherits:
-
CharacterData
- Object
- NokogiriXmlNode
- CharacterData
- Nokogiri::XML::Text
- Defined in:
- lib/nokogiri/xml/text.rb,
ext/nokogiri/xml_text.c
Direct Known Subclasses
Class Method Summary collapse
-
.new(content, document) ⇒ Object
Create a new Text element on the
document
withcontent
.
Instance Method Summary collapse
Methods included from PP::CharacterData
Class Method Details
.new(content, document) ⇒ Object
Create a new Text element on the document
with content
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'ext/nokogiri/xml_text.c', line 11
static VALUE
rb_xml_text_s_new(int argc, VALUE *argv, VALUE klass)
{
xmlDocPtr c_document;
xmlNodePtr c_node;
VALUE rb_string;
VALUE rb_document;
VALUE rb_rest;
VALUE rb_node;
rb_scan_args(argc, argv, "2*", &rb_string, &rb_document, &rb_rest);
if (!rb_obj_is_kind_of(rb_document, cNokogiriXmlNode)) {
rb_raise(rb_eTypeError,
"expected second parameter to be a Nokogiri::XML::Document, received %"PRIsVALUE,
rb_obj_class(rb_document));
}
if (!rb_obj_is_kind_of(rb_document, cNokogiriXmlDocument)) {
xmlNodePtr deprecated_node_type_arg;
NOKO_WARN_DEPRECATION("Passing a Node as the second parameter to Text.new is deprecated. Please pass a Document instead. This will become an error in Nokogiri v1.17.0."); // TODO: deprecated in v1.15.3, remove in v1.17.0
Noko_Node_Get_Struct(rb_document, xmlNode, deprecated_node_type_arg);
c_document = deprecated_node_type_arg->doc;
} else {
c_document = noko_xml_document_unwrap(rb_document);
}
c_node = xmlNewText((xmlChar *)StringValueCStr(rb_string));
c_node->doc = c_document;
noko_xml_document_pin_node(c_node);
rb_node = noko_xml_node_wrap(klass, c_node) ;
rb_obj_call_init(rb_node, argc, argv);
if (rb_block_given_p()) { rb_yield(rb_node); }
return rb_node;
}
|
Instance Method Details
#content=(string) ⇒ Object
6 7 8 |
# File 'lib/nokogiri/xml/text.rb', line 6 def content=(string) self.native_content = string.to_s end |