Method: LibXML::XML::RelaxNG.document

Defined in:
ext/libxml/ruby_xml_relaxng.c

.XML::RelaxNG.document(document) ⇒ Object

Create a new relaxng from the specified document.



66
67
68
69
70
71
72
73
74
75
76
77
78
79
# File 'ext/libxml/ruby_xml_relaxng.c', line 66

static VALUE rxml_relaxng_init_from_document(VALUE class, VALUE document)
{
  xmlDocPtr xdoc;
  xmlRelaxNGPtr xrelaxng;
  xmlRelaxNGParserCtxtPtr xparser;

  Data_Get_Struct(document, xmlDoc, xdoc);

  xparser = xmlRelaxNGNewDocParserCtxt(xdoc);
  xrelaxng = xmlRelaxNGParse(xparser);
  xmlRelaxNGFreeParserCtxt(xparser);

  return Data_Wrap_Struct(cXMLRelaxNG, NULL, rxml_relaxng_free, xrelaxng);
}