本文整理汇总了C++中NOKOGIRI_STR_NEW2函数的典型用法代码示例。如果您正苦于以下问题:C++ NOKOGIRI_STR_NEW2函数的具体用法?C++ NOKOGIRI_STR_NEW2怎么用?C++ NOKOGIRI_STR_NEW2使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NOKOGIRI_STR_NEW2函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: Nokogiri_xml_node_namespaces
static void Nokogiri_xml_node_namespaces(xmlNodePtr node, VALUE attr_hash)
{
xmlNsPtr ns;
static char buffer[XMLNS_BUFFER_LEN] ;
char *key ;
size_t keylen ;
if (node->type != XML_ELEMENT_NODE) return ;
ns = node->nsDef;
while (ns != NULL) {
keylen = XMLNS_PREFIX_LEN + (ns->prefix ? (strlen((const char*)ns->prefix) + 1) : 0) ;
if (keylen > XMLNS_BUFFER_LEN) {
key = (char*)malloc(keylen) ;
} else {
key = buffer ;
}
if (ns->prefix) {
sprintf(key, "%s:%s", XMLNS_PREFIX, ns->prefix);
} else {
sprintf(key, "%s", XMLNS_PREFIX);
}
rb_hash_aset(attr_hash,
NOKOGIRI_STR_NEW2(key),
(ns->href ? NOKOGIRI_STR_NEW2(ns->href) : Qnil)
);
if (key != buffer) {
free(key);
}
ns = ns->next ;
}
}
开发者ID:127lh,项目名称:metasploit-framework,代码行数:35,代码来源:xml_reader.c
示例2: start_document
static void start_document(void * ctx)
{
VALUE self = NOKOGIRI_SAX_SELF(ctx);
VALUE doc = rb_iv_get(self, "@document");
xmlParserCtxtPtr ctxt = NOKOGIRI_SAX_CTXT(ctx);
if(NULL != ctxt && ctxt->html != 1) {
if(ctxt->standalone != -1) { /* -1 means there was no declaration */
VALUE encoding = ctxt->encoding ?
NOKOGIRI_STR_NEW2(ctxt->encoding) :
Qnil;
VALUE version = ctxt->version ?
NOKOGIRI_STR_NEW2(ctxt->version) :
Qnil;
VALUE standalone = Qnil;
switch(ctxt->standalone)
{
case 0:
standalone = NOKOGIRI_STR_NEW2("no");
break;
case 1:
standalone = NOKOGIRI_STR_NEW2("yes");
break;
}
rb_funcall(doc, id_xmldecl, 3, version, encoding, standalone);
}
}
rb_funcall(doc, id_start_document, 0);
}
开发者ID:Flagship8787,项目名称:Suwaru-Rails,代码行数:35,代码来源:xml_sax_parser.c
示例3: processing_instruction
static void processing_instruction(void * ctx, const xmlChar * name, const xmlChar * content)
{
VALUE self = NOKOGIRI_SAX_SELF(ctx);
VALUE doc = rb_iv_get(self, "@document");
rb_funcall( doc,
id_processing_instruction,
2,
NOKOGIRI_STR_NEW2(name),
NOKOGIRI_STR_NEW2(content)
);
}
开发者ID:Flagship8787,项目名称:Suwaru-Rails,代码行数:12,代码来源:xml_sax_parser.c
示例4: Init_nokogiri
void Init_nokogiri()
{
xmlMemSetup(
(xmlFreeFunc)ruby_xfree,
(xmlMallocFunc)ruby_xmalloc,
(xmlReallocFunc)ruby_xrealloc,
strdup
);
mNokogiri = rb_define_module("Nokogiri");
mNokogiriXml = rb_define_module_under(mNokogiri, "XML");
mNokogiriHtml = rb_define_module_under(mNokogiri, "HTML");
mNokogiriXslt = rb_define_module_under(mNokogiri, "XSLT");
mNokogiriXmlSax = rb_define_module_under(mNokogiriXml, "SAX");
mNokogiriHtmlSax = rb_define_module_under(mNokogiriHtml, "SAX");
rb_const_set( mNokogiri,
rb_intern("LIBXML_VERSION"),
NOKOGIRI_STR_NEW2(LIBXML_DOTTED_VERSION, "UTF-8")
);
rb_const_set( mNokogiri,
rb_intern("LIBXML_PARSER_VERSION"),
NOKOGIRI_STR_NEW2(xmlParserVersion, "UTF-8")
);
init_xml_document();
init_html_document();
init_xml_node();
init_xml_document_fragment();
init_xml_text();
init_xml_cdata();
init_xml_processing_instruction();
init_xml_attr();
init_xml_entity_reference();
init_xml_comment();
init_xml_node_set();
init_xml_xpath_context();
init_xml_xpath();
init_xml_sax_parser();
init_xml_sax_push_parser();
init_xml_reader();
init_xml_dtd();
init_xml_namespace();
init_html_sax_parser();
init_xslt_stylesheet();
init_xml_syntax_error();
init_html_entity_lookup();
init_html_element_description();
init_xml_schema();
init_xml_relax_ng();
}
开发者ID:BMorearty,项目名称:Webiva,代码行数:51,代码来源:nokogiri.c
示例5: description
/*
* call-seq:
* description
*
* The description for this element
*/
static VALUE description(VALUE self)
{
htmlElemDesc * description;
Data_Get_Struct(self, htmlElemDesc, description);
return NOKOGIRI_STR_NEW2(description->desc);
}
开发者ID:Clarityapp,项目名称:Clarityapp-Code,代码行数:13,代码来源:html_element_description.c
示例6: Nokogiri_wrap_xml_syntax_error
VALUE Nokogiri_wrap_xml_syntax_error(xmlErrorPtr error)
{
VALUE msg, e, klass;
klass = cNokogiriXmlSyntaxError;
if (error->domain == XML_FROM_XPATH) {
VALUE xpath = rb_const_get(mNokogiriXml, rb_intern("XPath"));
klass = rb_const_get(xpath, rb_intern("SyntaxError"));
}
msg = (error && error->message) ? NOKOGIRI_STR_NEW2(error->message) : Qnil;
e = rb_class_new_instance(
1,
&msg,
klass
);
if (error)
{
rb_iv_set(e, "@domain", INT2NUM(error->domain));
rb_iv_set(e, "@code", INT2NUM(error->code));
rb_iv_set(e, "@level", INT2NUM((short)error->level));
rb_iv_set(e, "@file", RBSTR_OR_QNIL(error->file));
rb_iv_set(e, "@line", INT2NUM(error->line));
rb_iv_set(e, "@str1", RBSTR_OR_QNIL(error->str1));
rb_iv_set(e, "@str2", RBSTR_OR_QNIL(error->str2));
rb_iv_set(e, "@str3", RBSTR_OR_QNIL(error->str3));
rb_iv_set(e, "@int1", INT2NUM(error->int1));
rb_iv_set(e, "@column", INT2NUM(error->int2));
}
return e;
}
开发者ID:2potatocakes,项目名称:nokogiri,代码行数:35,代码来源:xml_syntax_error.c
示例7: default_sub_element
/*
* call-seq:
* default_sub_element
*
* The default sub element for this element
*/
static VALUE default_sub_element(VALUE self)
{
htmlElemDesc * description;
Data_Get_Struct(self, htmlElemDesc, description);
return NOKOGIRI_STR_NEW2(description->defaultsubelt);
}
开发者ID:boof,项目名称:farmfacts,代码行数:13,代码来源:html_element_description.c
示例8: notation_copier
static void notation_copier(void *payload, void *data, xmlChar *name)
{
VALUE hash = (VALUE)data;
VALUE klass = rb_const_get(mNokogiriXml, rb_intern("Notation"));
xmlNotationPtr c_notation = (xmlNotationPtr)payload;
VALUE notation;
VALUE argv[3];
argv[0] = (c_notation->name ? NOKOGIRI_STR_NEW2(c_notation->name) : Qnil);
argv[1] = (c_notation->PublicID ? NOKOGIRI_STR_NEW2(c_notation->PublicID) : Qnil);
argv[2] = (c_notation->SystemID ? NOKOGIRI_STR_NEW2(c_notation->SystemID) : Qnil);
notation = rb_class_new_instance(3, argv, klass);
rb_hash_aset(hash, NOKOGIRI_STR_NEW2(name),notation);
}
开发者ID:00zl00,项目名称:AlfredWorkflow.com,代码行数:16,代码来源:xml_dtd.c
示例9: reader_attribute
/*
* call-seq:
* attribute(name)
*
* Get the value of attribute named +name+
*/
static VALUE reader_attribute(VALUE self, VALUE name)
{
xmlTextReaderPtr reader;
xmlChar *value ;
Data_Get_Struct(self, xmlTextReader, reader);
if(name == Qnil) return Qnil;
name = StringValue(name) ;
value = xmlTextReaderGetAttribute(reader, (xmlChar*)StringValuePtr(name));
if(value == NULL) {
/* this section is an attempt to workaround older versions of libxml that
don't handle namespaces properly in all attribute-and-friends functions */
xmlChar *prefix = NULL ;
xmlChar *localname = xmlSplitQName2((xmlChar*)StringValuePtr(name), &prefix);
if (localname != NULL) {
value = xmlTextReaderLookupNamespace(reader, localname);
xmlFree(localname) ;
} else {
value = xmlTextReaderLookupNamespace(reader, prefix);
}
xmlFree(prefix);
}
if(value == NULL) return Qnil;
VALUE MAYBE_UNUSED(enc) = rb_iv_get(self, "@encoding");
VALUE rb_value = NOKOGIRI_STR_NEW2(value,
RTEST(enc) ? StringValuePtr(enc) : NULL);
xmlFree(value);
return rb_value;
}
开发者ID:halorgium,项目名称:nokogiri,代码行数:37,代码来源:xml_reader.c
示例10: comment_func
static void comment_func(void * ctx, const xmlChar * value)
{
VALUE self = NOKOGIRI_SAX_SELF(ctx);
VALUE doc = rb_iv_get(self, "@document");
VALUE str = NOKOGIRI_STR_NEW2(value);
rb_funcall(doc, id_comment, 1, str);
}
开发者ID:Flagship8787,项目名称:Suwaru-Rails,代码行数:7,代码来源:xml_sax_parser.c
示例11: name
/*
* call-seq:
* name
*
* Get the tag name for this ElemementDescription
*/
static VALUE name(VALUE self)
{
htmlElemDesc * description;
Data_Get_Struct(self, htmlElemDesc, description);
if(NULL == description->name) return Qnil;
return NOKOGIRI_STR_NEW2(description->name);
}
开发者ID:Clarityapp,项目名称:Clarityapp-Code,代码行数:14,代码来源:html_element_description.c
示例12: str1
/*
* call-seq:
* str1
*
* Extra string information
*/
static VALUE str1(VALUE self)
{
xmlErrorPtr error;
Data_Get_Struct(self, xmlError, error);
if(error->str1)
return NOKOGIRI_STR_NEW2(error->str1, "UTF-8");
return Qnil;
}
开发者ID:Serabe,项目名称:nokogiri,代码行数:14,代码来源:xml_syntax_error.c
示例13: encoding
/*
* call-seq:
* encoding
*
* Get the encoding for this Document
*/
static VALUE encoding(VALUE self)
{
xmlDocPtr doc;
Data_Get_Struct(self, xmlDoc, doc);
if(!doc->encoding) return Qnil;
return NOKOGIRI_STR_NEW2(doc->encoding);
}
开发者ID:tomhughes,项目名称:nokogiri,代码行数:14,代码来源:xml_document.c
示例14: version
/*
* call-seq:
* version
*
* Get the XML version for this Document
*/
static VALUE version(VALUE self)
{
xmlDocPtr doc;
Data_Get_Struct(self, xmlDoc, doc);
if(!doc->version) return Qnil;
return NOKOGIRI_STR_NEW2(doc->version);
}
开发者ID:tomhughes,项目名称:nokogiri,代码行数:14,代码来源:xml_document.c
示例15: element_copier
static void element_copier(void *_payload, void *data, xmlChar *name)
{
VALUE hash = (VALUE)data;
xmlNodePtr payload = (xmlNodePtr)_payload;
VALUE element = Nokogiri_wrap_xml_node(Qnil, payload);
rb_hash_aset(hash, NOKOGIRI_STR_NEW2(name), element);
}
开发者ID:00zl00,项目名称:AlfredWorkflow.com,代码行数:9,代码来源:xml_dtd.c
示例16: external_id
/*
* call-seq:
* external_id
*
* Get the External ID for this DTD
*/
static VALUE external_id(VALUE self)
{
xmlDtdPtr dtd;
Data_Get_Struct(self, xmlDtd, dtd);
if(!dtd->ExternalID) return Qnil;
return NOKOGIRI_STR_NEW2(dtd->ExternalID);
}
开发者ID:00zl00,项目名称:AlfredWorkflow.com,代码行数:15,代码来源:xml_dtd.c
示例17: url
/*
* call-seq:
* url
*
* Get the url name for this document.
*/
static VALUE url(VALUE self)
{
xmlDocPtr doc;
Data_Get_Struct(self, xmlDoc, doc);
if(doc->URL) return NOKOGIRI_STR_NEW2(doc->URL);
return Qnil;
}
开发者ID:tomhughes,项目名称:nokogiri,代码行数:15,代码来源:xml_document.c
示例18: xml_version
/*
* call-seq:
* xml_version
*
* Get the XML version of the document being read
*/
static VALUE xml_version(VALUE self)
{
xmlTextReaderPtr reader;
Data_Get_Struct(self, xmlTextReader, reader);
const char * version = (const char *)xmlTextReaderConstXmlVersion(reader);
if(version == NULL) return Qnil;
return NOKOGIRI_STR_NEW2(version, "UTF-8");
}
开发者ID:halorgium,项目名称:nokogiri,代码行数:15,代码来源:xml_reader.c
示例19: system_id
/*
* call-seq:
* system_id
*
* Get the System ID for this DTD
*/
static VALUE system_id(VALUE self)
{
xmlDtdPtr dtd;
Data_Get_Struct(self, xmlDtd, dtd);
if(!dtd->SystemID) return Qnil;
return NOKOGIRI_STR_NEW2(dtd->SystemID);
}
开发者ID:00zl00,项目名称:AlfredWorkflow.com,代码行数:15,代码来源:xml_dtd.c
示例20: namespace_uri
/*
* call-seq:
* namespace_uri
*
* Get the URI defining the namespace associated with the node
*/
static VALUE namespace_uri(VALUE self)
{
xmlTextReaderPtr reader;
const char *uri;
Data_Get_Struct(self, xmlTextReader, reader);
uri = (const char *)xmlTextReaderConstNamespaceUri(reader);
if(uri == NULL) return Qnil;
return NOKOGIRI_STR_NEW2(uri);
}
开发者ID:127lh,项目名称:metasploit-framework,代码行数:17,代码来源:xml_reader.c
注:本文中的NOKOGIRI_STR_NEW2函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论