class Nokogiri::XML::DTD
Nokogiri::XML::DTD
wraps DTD
nodes in an XML
document
Public Instance Methods
Source
static VALUE attributes(VALUE self) { xmlDtdPtr dtd; VALUE hash; Noko_Node_Get_Struct(self, xmlDtd, dtd); hash = rb_hash_new(); if (!dtd->attributes) { return hash; } xmlHashScan((xmlHashTablePtr)dtd->attributes, element_copier, (void *)hash); return hash; }
Get a hash of the attributes for this DTD
.
Source
# File lib/nokogiri/xml/dtd.rb, line 17 def each attributes.each do |key, value| yield([key, value]) end end
Source
static VALUE elements(VALUE self) { xmlDtdPtr dtd; VALUE hash; Noko_Node_Get_Struct(self, xmlDtd, dtd); if (!dtd->elements) { return Qnil; } hash = rb_hash_new(); xmlHashScan((xmlHashTablePtr)dtd->elements, element_copier, (void *)hash); return hash; }
Get a hash of the elements for this DTD
.
Source
static VALUE entities(VALUE self) { xmlDtdPtr dtd; VALUE hash; Noko_Node_Get_Struct(self, xmlDtd, dtd); if (!dtd->entities) { return Qnil; } hash = rb_hash_new(); xmlHashScan((xmlHashTablePtr)dtd->entities, element_copier, (void *)hash); return hash; }
Get a hash of the elements for this DTD
.
Source
static VALUE external_id(VALUE self) { xmlDtdPtr dtd; Noko_Node_Get_Struct(self, xmlDtd, dtd); if (!dtd->ExternalID) { return Qnil; } return NOKOGIRI_STR_NEW2(dtd->ExternalID); }
Get the External ID for this DTD
Source
# File lib/nokogiri/xml/dtd.rb, line 27 def html5_dtd? html_dtd? && external_id.nil? && (system_id.nil? || system_id == "about:legacy-compat") end
Source
# File lib/nokogiri/xml/dtd.rb, line 23 def html_dtd? name.casecmp("html").zero? end
Source
static VALUE notations(VALUE self) { xmlDtdPtr dtd; VALUE hash; Noko_Node_Get_Struct(self, xmlDtd, dtd); if (!dtd->notations) { return Qnil; } hash = rb_hash_new(); xmlHashScan((xmlHashTablePtr)dtd->notations, notation_copier, (void *)hash); return hash; }
Source
static VALUE system_id(VALUE self) { xmlDtdPtr dtd; Noko_Node_Get_Struct(self, xmlDtd, dtd); if (!dtd->SystemID) { return Qnil; } return NOKOGIRI_STR_NEW2(dtd->SystemID); }
Get the System ID for this DTD
Source
static VALUE validate(VALUE self, VALUE document) { xmlDocPtr doc; xmlDtdPtr dtd; xmlValidCtxtPtr ctxt; VALUE error_list; Noko_Node_Get_Struct(self, xmlDtd, dtd); doc = noko_xml_document_unwrap(document); error_list = rb_ary_new(); ctxt = xmlNewValidCtxt(); xmlSetStructuredErrorFunc((void *)error_list, noko__error_array_pusher); xmlValidateDtd(ctxt, doc, dtd); xmlSetStructuredErrorFunc(NULL, NULL); xmlFreeValidCtxt(ctxt); return error_list; }
Validate document
returning a list of errors