这篇教程C++ xmlTextReaderConstLocalName函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中xmlTextReaderConstLocalName函数的典型用法代码示例。如果您正苦于以下问题:C++ xmlTextReaderConstLocalName函数的具体用法?C++ xmlTextReaderConstLocalName怎么用?C++ xmlTextReaderConstLocalName使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了xmlTextReaderConstLocalName函数的27个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: __attribute__nonnull__static struct cpe_ext_deprecatedby *cpe_ext_deprecatedby_parse(xmlTextReaderPtr reader){ __attribute__nonnull__(reader); if (xmlStrcmp(xmlTextReaderConstLocalName(reader), BAD_CAST TAG_CPE_EXT_DEPRECATEDBY_STR) != 0 || xmlTextReaderNodeType(reader) != 1) { oscap_seterr(OSCAP_EFAMILY_OSCAP, "Found '%s' node when expecting: '%s'!", xmlTextReaderConstLocalName(reader), TAG_CPE_EXT_DEPRECATEDBY_STR); } const xmlChar* nsuri = xmlTextReaderConstNamespaceUri(reader); if (nsuri && xmlStrcmp(nsuri, BAD_CAST XMLNS_CPE2D3_EXTENSION) != 0) { oscap_seterr(OSCAP_EFAMILY_OSCAP, "Found '%s' namespace when expecting: '%s'!", nsuri, XMLNS_CPE2D3_EXTENSION); return NULL; } struct cpe_ext_deprecatedby *deprecatedby = cpe_ext_deprecatedby_new(); deprecatedby->name = (char *) xmlTextReaderGetAttribute(reader, BAD_CAST ATTR_NAME_STR); const char *type = (const char *) xmlTextReaderGetAttribute(reader, BAD_CAST ATTR_TYPE_STR); if (type == NULL) { oscap_seterr(OSCAP_EFAMILY_OSCAP, "Compulsory attribute '%s' missing at '%s' element.", ATTR_TYPE_STR, TAG_CPE_EXT_DEPRECATEDBY_STR); cpe_ext_deprecatedby_free(deprecatedby); return NULL; } deprecatedby->type = oscap_string_to_enum(CPE_EXT_DEPRECATION_MAP, type); return deprecatedby;}
开发者ID:GovReady,项目名称:openscap,代码行数:28,
示例2: assertstruct cvss_metrics *cvss_metrics_new_from_xml(xmlTextReaderPtr reader){ assert(reader != NULL); int depth = oscap_element_depth(reader); enum cvss_category cat = CVSS_NONE; const char *elname = (const char *) xmlTextReaderConstLocalName(reader); if (oscap_streq(elname, "base_metrics")) cat = CVSS_BASE; if (oscap_streq(elname, "temporal_metrics")) cat = CVSS_TEMPORAL; if (oscap_streq(elname, "environmental_metrics")) cat = CVSS_ENVIRONMENTAL; if (cat == CVSS_NONE) return NULL; struct cvss_metrics *ret = cvss_metrics_new(cat); ret->upgraded_from_version = (char*) xmlTextReaderGetAttribute(reader, BAD_CAST "upgraded-from-version"); xmlTextReaderRead(reader); while (oscap_to_start_element(reader, depth + 1)) { elname = (const char *) xmlTextReaderConstLocalName(reader); if (oscap_streq(elname, "score")) ret->score = atof(oscap_element_string_get(reader)); else if (oscap_streq(elname, "source")) cvss_metrics_set_source(ret, oscap_element_string_get(reader)); else if (oscap_streq(elname, "generated-on-datetime")) cvss_metrics_set_generated_on_datetime(ret, oscap_element_string_get(reader)); else { const struct cvss_valtab_entry *val = cvss_valtab(cvss_keytab(0, elname)->key, 0, NULL, oscap_element_string_get(reader)); if (CVSS_CATEGORY(val->key) == cat) ret->metrics.ANY[CVSS_KEY_IDX(val->key)] = val->value; } xmlTextReaderRead(reader); } return ret;}
开发者ID:jan-cerny,项目名称:openscap,代码行数:32,
示例3: __attribute__nonnull__struct cpe_lang_model *cpe_lang_model_parse(xmlTextReaderPtr reader){ struct cpe_lang_model *ret = NULL; struct cpe_platform *platform = NULL; __attribute__nonnull__(reader); if (!xmlStrcmp(xmlTextReaderConstLocalName(reader), TAG_PLATFORM_SPEC_STR) && xmlTextReaderNodeType(reader) == XML_READER_TYPE_ELEMENT) { ret = cpe_lang_model_new(); if (ret == NULL) return NULL; // skip nodes until new element xmlTextReaderNextElementWE(reader, TAG_PLATFORM_SPEC_STR); while (xmlStrcmp(xmlTextReaderConstLocalName(reader), TAG_PLATFORM_STR) == 0) { platform = cpe_platform_parse(reader); if (platform) cpe_lang_model_add_platform(ret, platform); xmlTextReaderNextElementWE(reader, TAG_PLATFORM_SPEC_STR); } } return ret;}
开发者ID:GautamSatish,项目名称:openscap,代码行数:29,
示例4: calloc/** * Reads a Nodes from XML. The reader is assumed to be at the start element. * * @return the Nodes, or NULL in case of error. */static struct full_ns0_nodes *xmlTextReaderReadNs0NodesType(xmlTextReaderPtr reader) { int status, depth; void *_child_accessor; struct full_ns0_nodes *_nodes = calloc(1, sizeof(struct full_ns0_nodes)); if (xmlTextReaderIsEmptyElement(reader) == 0) { depth = xmlTextReaderDepth(reader);//track the depth. status = xmlTextReaderAdvanceToNextStartOrEndElement(reader); while (xmlTextReaderDepth(reader) > depth) { if (status < 1) { //panic: XML read error.#if DEBUG_ENUNCIATE printf("Failure to advance to next child element./n");#endif freeNs0NodesType(_nodes); free(_nodes); return NULL; } else if (xmlTextReaderNodeType(reader) == XML_READER_TYPE_ELEMENT && xmlStrcmp(BAD_CAST "node", xmlTextReaderConstLocalName(reader)) == 0 && xmlTextReaderConstNamespaceUri(reader) == NULL) {#if DEBUG_ENUNCIATE > 1 printf("Attempting to read choice {}node of type {}node./n");#endif _child_accessor = xmlTextReaderReadNs0NodeType(reader); if (_child_accessor == NULL) {#if DEBUG_ENUNCIATE printf("Failed to read choice {}node of type {}node./n");#endif //panic: unable to read the child element for some reason. freeNs0NodesType(_nodes); free(_nodes); return NULL; } _nodes->node = realloc(_nodes->node, (_nodes->_sizeof_node + 1) * sizeof(struct full_ns0_node)); memcpy(&(_nodes->node[_nodes->_sizeof_node++]), _child_accessor, sizeof(struct full_ns0_node)); free(_child_accessor); status = xmlTextReaderAdvanceToNextStartOrEndElement(reader); } else {#if DEBUG_ENUNCIATE > 1 if (xmlTextReaderConstNamespaceUri(reader) == NULL) { printf("unknown child element {}%s for type {}nodes. Skipping.../n", xmlTextReaderConstLocalName(reader)); } else { printf("unknown child element {%s}%s for type {}nodes. Skipping.../n", xmlTextReaderConstNamespaceUri(reader), xmlTextReaderConstLocalName(reader)); }#endif status = xmlTextReaderSkipElement(reader); } } } return _nodes;}
开发者ID:rafatjahan,项目名称:SDNi-Opendaylight,代码行数:65,
示例5: parse_propfind_responsestatic response_element_t *parse_propfind_response (xmlTextReaderPtr reader){ parser_strings_t strings; response_element_t *elements; /* get internalized versions of some strings to avoid strcmp while * parsing */ strings.multistatus = xmlTextReaderConstString (reader, BAD_CAST "multistatus"); strings.dav = xmlTextReaderConstString (reader, BAD_CAST "DAV:"); strings.href = xmlTextReaderConstString (reader, BAD_CAST "href"); strings.response = xmlTextReaderConstString (reader, BAD_CAST "response"); strings.propstat = xmlTextReaderConstString (reader, BAD_CAST "propstat"); strings.prop = xmlTextReaderConstString (reader, BAD_CAST "prop"); strings.getetag = xmlTextReaderConstString (reader, BAD_CAST "getetag"); while (xmlTextReaderRead (reader) == 1 && xmlTextReaderNodeType (reader) != XML_READER_TYPE_ELEMENT) { } if (xmlTextReaderConstLocalName (reader) != strings.multistatus || xmlTextReaderConstNamespaceUri (reader) != strings.dav) { g_warning ("webdav PROPFIND result is not <DAV:multistatus>"); return NULL; } elements = NULL; /* parse all DAV:response tags */ while (xmlTextReaderRead (reader) == 1 && xmlTextReaderDepth (reader) > 0) { response_element_t *element; if (xmlTextReaderNodeType (reader) != XML_READER_TYPE_ELEMENT) continue; if (xmlTextReaderConstLocalName (reader) != strings.response || xmlTextReaderConstNamespaceUri (reader) != strings.dav) continue; element = parse_response_tag (&strings, reader); if (element == NULL) continue; element->next = elements; elements = element; } return elements;}
开发者ID:jdapena,项目名称:evolution-data-server,代码行数:49,
示例6: xml_reader_get_local_nameG_CONST_RETURN gchar *xml_reader_get_local_name (XmlReader *reader){ g_return_val_if_fail(XML_IS_READER (reader), NULL); return XML_TO_CHAR (xmlTextReaderConstLocalName (reader->xml));}
开发者ID:GNOME,项目名称:gnome-builder,代码行数:7,
示例7: HHVM_METHODbool HHVM_METHOD(XMLReader, next, const Variant& localname /*= null_variant*/) { auto* data = Native::data<XMLReader>(this_); const String& str_localname = localname.isNull() ? null_string : localname.toString(); SYNC_VM_REGS_SCOPED(); if (data->m_ptr) { int ret = xmlTextReaderNext(data->m_ptr); while (!str_localname.empty() && ret == 1) { if (xmlStrEqual(xmlTextReaderConstLocalName(data->m_ptr), (xmlChar *)str_localname.data())) { return true; } ret = xmlTextReaderNext(data->m_ptr); } if (ret == -1) { raise_warning("An Error Occurred while reading"); return false; } else { return ret; } } raise_warning("Load Data before trying to read"); return false;}
开发者ID:bjori,项目名称:hhvm,代码行数:26,
示例8: PHP_METHOD/* {{{ proto bool XMLReader::next([string localname])Moves the position of the current instance to the next node in the stream. */PHP_METHOD(xmlreader, next){ zval *id; int retval; size_t name_len=0; xmlreader_object *intern; char *name = NULL; if (zend_parse_parameters(ZEND_NUM_ARGS(), "|s", &name, &name_len) == FAILURE) { return; } id = ZEND_THIS; intern = Z_XMLREADER_P(id); if (intern != NULL && intern->ptr != NULL) { retval = xmlTextReaderNext(intern->ptr); while (name != NULL && retval == 1) { if (xmlStrEqual(xmlTextReaderConstLocalName(intern->ptr), (xmlChar *)name)) { RETURN_TRUE; } retval = xmlTextReaderNext(intern->ptr); } if (retval == -1) { RETURN_FALSE; } else { RETURN_BOOL(retval); } } php_error_docref(NULL, E_WARNING, "Load Data before trying to read"); RETURN_FALSE;}
开发者ID:IMSoP,项目名称:php-src,代码行数:34,
示例9: xmlTextReaderAttributeCount bool XMLReader::processNode() { if (m_reader == NULL) { std::cout << "error" << std::endl ; } if (xmlTextReaderRead(m_reader) != 1) { return false ; } m_attributes.clear() ; if (xmlTextReaderHasAttributes(m_reader) == 1) { int count = xmlTextReaderAttributeCount(m_reader) ; for (int i = 0 ; i < count ; i++) { xmlTextReaderMoveToAttributeNo(m_reader, i) ; m_attributes.insert( std::pair<std::string, std::string>( (char*) xmlTextReaderConstLocalName( m_reader), (char*) xmlTextReaderConstValue( m_reader))) ; } xmlTextReaderMoveToElement(m_reader) ; } // std::cout << print() << std::endl ; return true ; }
开发者ID:BackupTheBerlios,项目名称:projet-univers-svn,代码行数:35,
示例10: rxml_reader_local_name/* * call-seq: * reader.local_name -> name * * Return the local name of the node. */static VALUE rxml_reader_local_name(VALUE self){ xmlTextReaderPtr xReader = rxml_text_reader_get(self); const xmlChar *result = xmlTextReaderConstLocalName(xReader); const xmlChar *xencoding = xmlTextReaderConstEncoding(xReader); return (result == NULL ? Qnil : rxml_new_cstr(result, xencoding));}
开发者ID:GREENMASK,项目名称:mgr,代码行数:14,
示例11: strcmpstruct rds_asset_index *rds_asset_index_parse(xmlTextReaderPtr reader){ // sanity check if (xmlTextReaderNodeType(reader) != XML_READER_TYPE_ELEMENT || strcmp((const char*)xmlTextReaderConstLocalName(reader), "asset") != 0) { oscap_seterr(OSCAP_EFAMILY_XML, "Expected to have xmlTextReader at start of <arf:report>, " "the current event is '%i' at '%s' instead. I refuse to parse!", xmlTextReaderNodeType(reader), (const char*)xmlTextReaderConstLocalName(reader)); return NULL; } struct rds_asset_index *ret = rds_asset_index_new(); ret->id = (char*)xmlTextReaderGetAttribute(reader, BAD_CAST "id"); return ret;}
开发者ID:GautamSatish,项目名称:openscap,代码行数:17,
示例12: EPUB3ProcessXMLReaderNodeForManifestInOPFEPUB3Error EPUB3ProcessXMLReaderNodeForManifestInOPF(EPUB3Ref epub, xmlTextReaderPtr reader, EPUB3XMLParseContextPtr *context){ assert(epub != NULL); assert(reader != NULL); EPUB3Error error = kEPUB3Success; const xmlChar *name = xmlTextReaderConstLocalName(reader); xmlReaderTypes nodeType = xmlTextReaderNodeType(reader); switch(nodeType) { case XML_READER_TYPE_ELEMENT: { if(!xmlTextReaderIsEmptyElement(reader)) { (void)EPUB3SaveParseContext(context, kEPUB3OPFStateManifest, name, 0, NULL, kEPUB3_YES, NULL); } else { if(xmlStrcmp(name, BAD_CAST "item") == 0) { EPUB3ManifestItemRef newItem = EPUB3ManifestItemCreate(); newItem->itemId = (char *)xmlTextReaderGetAttribute(reader, BAD_CAST "id"); newItem->href = (char *)xmlTextReaderGetAttribute(reader, BAD_CAST "href"); newItem->mediaType = (char *)xmlTextReaderGetAttribute(reader, BAD_CAST "media-type"); newItem->properties = (char *)xmlTextReaderGetAttribute(reader, BAD_CAST "properties"); if(newItem->properties != NULL) { // Look for the cover-image property char *prop, *props, *tofree; tofree = props = strdup(newItem->properties); while((prop = strsep(&props, " ")) != NULL) { if(strcmp(prop, "cover-image") == 0) { EPUB3MetadataSetCoverImageId(epub->metadata, newItem->itemId); } } EPUB3_FREE_AND_NULL(tofree); } if(newItem->mediaType != NULL && strcmp(newItem->mediaType, "application/x-dtbncx+xml") == 0) { //This is the ref for the ncx document. Set it for v2 epubs //if(epub->metadata->version == kEPUB3Version_2) { EPUB3MetadataSetNCXItem(epub->metadata, newItem); //} } EPUB3ManifestInsertItem(epub->manifest, newItem); } } break; } case XML_READER_TYPE_TEXT: { break; } case XML_READER_TYPE_END_ELEMENT: { (void)EPUB3PopAndFreeParseContext(context); break; } default: break; } return error;}
开发者ID:UIKit0,项目名称:EPUB3Processor,代码行数:58,
示例13: xmlTextReaderReadxmlNodePtr ProtoXml::IterParser::GetNext(){ //TRACE("enter ProtoXml::IterParser::GetNext() prev_node:%s/n", prev_node ? (const char*)prev_node->name : "(null)"); int result; // If we didn't just return a "prev_node", then read the // very next sequential node w/ xmlTextReaderRead(), else // skip entire "prev_node" sub-tree w/ xmlTextReaderNext() if (NULL == prev_node) result = xmlTextReaderRead(reader_ptr); else result = xmlTextReaderNext(reader_ptr); prev_node = NULL; switch (result) { case 0: return NULL; case -1: PLOG(PL_ERROR, "ProtoXml::IterParser::GetNext() xmlTextReaderRead error!/n"); return NULL; default: break; } do { int nodeType = xmlTextReaderNodeType(reader_ptr); if (XML_READER_TYPE_ELEMENT != nodeType) continue; const char* nodeName = (const char*)xmlTextReaderConstLocalName(reader_ptr); if (NULL == nodeName) { PLOG(PL_ERROR, "ProtoXml::IterParser::GetNext() xmlTextReaderConstLocalName() error/n"); return NULL; } int nodeDepth = xmlTextReaderDepth(reader_ptr); if (nodeDepth < 0) { PLOG(PL_ERROR, "ProtoXml::IterParser::GetNext() xmlTextReaderDepth() error/n"); return NULL; } if (!IterFilterBase::UpdateCurrentPath(nodeDepth, nodeName)) { PLOG(PL_WARN, "ProtoXml::IterParser::GetNext() error: unable to update current path/n"); continue; } if (!IterFilterBase::IsMatch()) continue; // no match, so continue prev_node = xmlTextReaderExpand(reader_ptr); if (NULL == prev_node) PLOG(PL_ERROR, "ProtoXml::IterParser::GetNext() xmlTextReaderExpand() error!/n"); return prev_node; } while ((result = xmlTextReaderRead(reader_ptr)) > 0); if (result < 0) PLOG(PL_ERROR, "ProtoXml::IterParser::GetNext() xmlTextReaderRead() error!/n"); return NULL;} // end ProtoXml::IterParser::GetNext()
开发者ID:Nhuongld,项目名称:nsj,代码行数:57,
示例14: EPUB3CopyRootFilePathFromContainerEXPORT EPUB3Error EPUB3CopyRootFilePathFromContainer(EPUB3Ref epub, char ** rootPath){ assert(epub != NULL); if(epub->archive == NULL) return kEPUB3ArchiveUnavailableError; static const char *containerFilename = "META-INF/container.xml"; void *buffer = NULL; uint32_t bufferSize = 0; uint32_t bytesCopied; xmlTextReaderPtr reader = NULL; EPUB3Bool foundPath = kEPUB3_NO; EPUB3Error error = kEPUB3Success; error = EPUB3CopyFileIntoBuffer(epub, &buffer, &bufferSize, &bytesCopied, containerFilename); if(error == kEPUB3Success) { reader = xmlReaderForMemory(buffer, bufferSize, "", NULL, XML_PARSE_RECOVER); if(reader != NULL) { int retVal; while((retVal = xmlTextReaderRead(reader)) == 1) { const char *rootFileName = "rootfile"; const xmlChar *name = xmlTextReaderConstLocalName(reader); if(xmlTextReaderNodeType(reader) == XML_READER_TYPE_ELEMENT && xmlStrcmp(name, BAD_CAST rootFileName) == 0) { xmlChar *fullPath = xmlTextReaderGetAttribute(reader, BAD_CAST "full-path"); if(fullPath != NULL) { // TODD: validate that the full-path attribute is of the form path-rootless // see http://idpf.org/epub/30/spec/epub30-ocf.html#sec-container-metainf-container.xml foundPath = kEPUB3_YES; *rootPath = strdup((char *)fullPath); } else { // The spec requires the full-path attribute error = kEPUB3XMLXDocumentInvalidError; } break; } } if(retVal < 0) { error = kEPUB3XMLParseError; } if(!foundPath) { error = kEPUB3XMLXElementNotFoundError; } } else { error = kEPUB3XMLReadFromBufferError; } EPUB3_FREE_AND_NULL(buffer); } xmlFreeTextReader(reader); return error;}
开发者ID:UIKit0,项目名称:EPUB3Processor,代码行数:55,
示例15: local_name/* * call-seq: * local_name * * Get the local name of the node */static VALUE local_name(VALUE self){ xmlTextReaderPtr reader; Data_Get_Struct(self, xmlTextReader, reader); const char * name = (const char *)xmlTextReaderConstLocalName(reader); if(name == NULL) return Qnil; VALUE MAYBE_UNUSED(enc) = rb_iv_get(self, "@encoding"); return NOKOGIRI_STR_NEW2(name, RTEST(enc) ? StringValuePtr(enc) : NULL);}
开发者ID:halorgium,项目名称:nokogiri,代码行数:17,
示例16: local_name/* * call-seq: * local_name * * Get the local name of the node */static VALUE local_name(VALUE self){ xmlTextReaderPtr reader; const char *name; Data_Get_Struct(self, xmlTextReader, reader); name = (const char *)xmlTextReaderConstLocalName(reader); if(name == NULL) return Qnil; return NOKOGIRI_STR_NEW2(name);}
开发者ID:127lh,项目名称:metasploit-framework,代码行数:17,
示例17: scan/* xar_process_subdocument - check TOC for xml subdocument. If found, extract and scan in memory. Parameters: reader - xmlTextReaderPtr ctx - pointer to cli_ctx Returns: CL_SUCCESS - subdoc found and clean scan (or virus found and SCAN_ALL), or no subdocument other - error return code from cli_mem_scandesc()*/static int xar_scan_subdocuments(xmlTextReaderPtr reader, cli_ctx *ctx){ int rc = CL_SUCCESS, subdoc_len, fd; xmlChar * subdoc; const xmlChar *name; char * tmpname; while (xmlTextReaderRead(reader) == 1) { name = xmlTextReaderConstLocalName(reader); if (name == NULL) { cli_dbgmsg("cli_scanxar: xmlTextReaderConstLocalName() no name./n"); rc = CL_EFORMAT; break; } if (xmlStrEqual(name, (const xmlChar *)"toc") && xmlTextReaderNodeType(reader) == XML_READER_TYPE_ELEMENT) return CL_SUCCESS; if (xmlStrEqual(name, (const xmlChar *)"subdoc") && xmlTextReaderNodeType(reader) == XML_READER_TYPE_ELEMENT) { subdoc = xmlTextReaderReadInnerXml(reader); if (subdoc == NULL) { cli_dbgmsg("cli_scanxar: no content in subdoc element./n"); xmlTextReaderNext(reader); continue; } subdoc_len = xmlStrlen(subdoc); cli_dbgmsg("cli_scanxar: in-memory scan of xml subdocument, len %i./n", subdoc_len); rc = cli_mem_scandesc(subdoc, subdoc_len, ctx); if (rc == CL_VIRUS && SCAN_ALL) rc = CL_SUCCESS; /* make a file to leave if --leave-temps in effect */ if(ctx->engine->keeptmp) { if ((rc = cli_gentempfd(ctx->engine->tmpdir, &tmpname, &fd)) != CL_SUCCESS) { cli_dbgmsg("cli_scanxar: Can't create temporary file for subdocument./n"); } else { cli_dbgmsg("cli_scanxar: Writing subdoc to temp file %s./n", tmpname); if (cli_writen(fd, subdoc, subdoc_len) < 0) { cli_dbgmsg("cli_scanxar: cli_writen error writing subdoc temporary file./n"); rc = CL_EWRITE; } rc = xar_cleanup_temp_file(ctx, fd, tmpname); } } xmlFree(subdoc); if (rc != CL_SUCCESS) return rc; xmlTextReaderNext(reader); } } return rc;}
开发者ID:nayden,项目名称:clamav-devel,代码行数:63,
示例18: openioc_readstatic const xmlChar * openioc_read(xmlTextReaderPtr reader){ const xmlChar * name; if (xmlTextReaderRead(reader) != 1) return NULL; name = xmlTextReaderConstLocalName(reader); if (name != NULL) { cli_dbgmsg("openioc_parse: xmlTextReaderRead read %s%s/n", name, xmlTextReaderNodeType(reader) == XML_READER_TYPE_END_ELEMENT?" end tag":""); } return name; }
开发者ID:CyberIntelMafia,项目名称:clamav-devel,代码行数:12,
示例19: ows_parse_config_xml/* * Parse the configuration file and initialize ows struct */static void ows_parse_config_xml(ows * o, const char *filename){ xmlTextReaderPtr r; const xmlChar *name; int ret; assert(o); assert(filename); r = xmlReaderForFile(filename, "UTF-8", 0); if (!r) { ows_error(o, OWS_ERROR_CONFIG_FILE, "Unable to open config file !", "parse_config_file"); return; } if (!o->layers) o->layers = ows_layer_list_init(); while ((ret = xmlTextReaderRead(r)) == 1) { if (xmlTextReaderNodeType(r) == XML_READER_TYPE_ELEMENT) { name = xmlTextReaderConstLocalName(r); if (!strcmp((char *) name, "tinyows")) ows_parse_config_tinyows(o, r); if (!strcmp((char *) name, "metadata")) ows_parse_config_metadata(o, r); if (!strcmp((char *) name, "abstract")) ows_parse_config_abstract(o, r); if (!strcmp((char *) name, "contact")) ows_parse_config_contact(o, r); if (!strcmp((char *) name, "pg")) ows_parse_config_pg(o, r); if (!strcmp((char *) name, "limits")) ows_parse_config_limits(o, r); if (!strcmp((char *) name, "layer")) ows_parse_config_layer(o, r); } } if (ret != 0) { xmlFreeTextReader(r); ows_error(o, OWS_ERROR_CONFIG_FILE, "Unable to open config file !", "parse_config_file"); return; } xmlFreeTextReader(r);}
开发者ID:sdikiy,项目名称:tinyows,代码行数:55,
示例20: EPUB3ProcessXMLReaderNodeForSpineInOPFEPUB3Error EPUB3ProcessXMLReaderNodeForSpineInOPF(EPUB3Ref epub, xmlTextReaderPtr reader, EPUB3XMLParseContextPtr *context){ assert(epub != NULL); assert(reader != NULL); EPUB3Error error = kEPUB3Success; const xmlChar *name = xmlTextReaderConstLocalName(reader); xmlReaderTypes nodeType = xmlTextReaderNodeType(reader); switch(nodeType) { case XML_READER_TYPE_ELEMENT: { if(!xmlTextReaderIsEmptyElement(reader)) { (void)EPUB3SaveParseContext(context, kEPUB3OPFStateManifest, name, 0, NULL, kEPUB3_YES, NULL); } else { if(xmlStrcmp(name, BAD_CAST "itemref") == 0) { EPUB3SpineItemRef newItem = EPUB3SpineItemCreate(); xmlChar * linear = xmlTextReaderGetAttribute(reader, BAD_CAST "linear"); if(linear == NULL || xmlStrcmp(linear, BAD_CAST "yes") == 0) { newItem->isLinear = kEPUB3_YES; epub->spine->linearItemCount++; } EPUB3_XML_FREE_AND_NULL(linear); newItem->idref = (char *)xmlTextReaderGetAttribute(reader, BAD_CAST "idref"); if(newItem->idref != NULL) { EPUB3ManifestItemListItemPtr manifestPtr = EPUB3ManifestFindItemWithId(epub->manifest, newItem->idref); if(manifestPtr == NULL) { newItem->manifestItem = NULL; } else { newItem->manifestItem = manifestPtr->item; } } EPUB3SpineAppendItem(epub->spine, newItem); } } break; } case XML_READER_TYPE_TEXT: { break; } case XML_READER_TYPE_END_ELEMENT: { (void)EPUB3PopAndFreeParseContext(context); break; } default: break; } return error;}
开发者ID:UIKit0,项目名称:EPUB3Processor,代码行数:52,
示例21: xmlStrcmp/** * Reads a SubnetConfig element from XML. The element to be read is "subnetConfig", and * it is assumed that the reader is pointing to that element. * * @param reader The XML reader. * @return The SubnetConfig, or NULL in case of error. */struct full_ns0_subnetConfig *xmlTextReaderReadNs0SubnetConfigElement(xmlTextReaderPtr reader) { struct full_ns0_subnetConfig *_subnetConfig = NULL; if (xmlTextReaderNodeType(reader) == XML_READER_TYPE_ELEMENT && xmlStrcmp(BAD_CAST "subnetConfig", xmlTextReaderConstLocalName(reader)) == 0 && xmlTextReaderConstNamespaceUri(reader) == NULL) {#if DEBUG_ENUNCIATE > 1 printf("Attempting to read root element {}subnetConfig./n");#endif _subnetConfig = xmlTextReaderReadNs0SubnetConfigType(reader); }#if DEBUG_ENUNCIATE if (_subnetConfig == NULL) { if (xmlTextReaderConstNamespaceUri(reader) == NULL) { printf("attempt to read {}subnetConfig failed. current element: {}%s/n", xmlTextReaderConstLocalName(reader)); } else { printf("attempt to read {}subnetConfig failed. current element: {%s}%s/n", xmlTextReaderConstNamespaceUri(reader), xmlTextReaderConstLocalName(reader)); } }#endif return _subnetConfig;}
开发者ID:saurabh29july,项目名称:OpenDaylightNBIDocumentation,代码行数:31,
示例22: xmlStrcmp/** * Reads a Node element from XML. The element to be read is "node", and * it is assumed that the reader is pointing to that element. * * @param reader The XML reader. * @return The Node, or NULL in case of error. */struct full_ns0_node *xmlTextReaderReadNs0NodeElement(xmlTextReaderPtr reader) { struct full_ns0_node *_node = NULL; if (xmlTextReaderNodeType(reader) == XML_READER_TYPE_ELEMENT && xmlStrcmp(BAD_CAST "node", xmlTextReaderConstLocalName(reader)) == 0 && xmlTextReaderConstNamespaceUri(reader) == NULL) {#if DEBUG_ENUNCIATE > 1 printf("Attempting to read root element {}node./n");#endif _node = xmlTextReaderReadNs0NodeType(reader); }#if DEBUG_ENUNCIATE if (_node == NULL) { if (xmlTextReaderConstNamespaceUri(reader) == NULL) { printf("attempt to read {}node failed. current element: {}%s/n", xmlTextReaderConstLocalName(reader)); } else { printf("attempt to read {}node failed. current element: {%s}%s/n", xmlTextReaderConstNamespaceUri(reader), xmlTextReaderConstLocalName(reader)); } }#endif return _node;}
开发者ID:rafatjahan,项目名称:SDNi-Opendaylight,代码行数:31,
示例23: xmlTextReaderNextbool c_XMLReader::t_next(const String& localname /*= null_string*/) { if (m_ptr) { int ret = xmlTextReaderNext(m_ptr); while (!localname.empty() && ret == 1) { if (xmlStrEqual(xmlTextReaderConstLocalName(m_ptr), (xmlChar *)localname.data())) { return true; } ret = xmlTextReaderNext(m_ptr); } if (ret == -1) { raise_warning("An Error Occured while reading"); return false; } else { return ret; } } raise_warning("Load Data before trying to read"); return false;}
开发者ID:Alienfeel,项目名称:hhvm,代码行数:19,
示例24: tag ///////////////////////////////////////////////////////// ///Read and discard XML text up to the next occurrence of the tag e.g."/molecule>" ///This is left as the current node. Returns 1 on success, 0 if not found, -1 if failed. int XMLConversion::SkipXML(const char* ctag) { string tag(ctag); tag.erase(--tag.end()); //remove > int targettyp = XML_READER_TYPE_ELEMENT; if(tag[0]=='/') { tag.erase(0,1); targettyp = XML_READER_TYPE_END_ELEMENT; } int result; while((result = xmlTextReaderRead(_reader))==1) { if(xmlTextReaderNodeType(_reader)==targettyp && !xmlStrcmp(xmlTextReaderConstLocalName(_reader), BAD_CAST tag.c_str())) break; } return result; }
开发者ID:baoilleach,项目名称:openbabel-svn-mirror,代码行数:23,
示例25: xccdf_element_getxccdf_element_t xccdf_element_get(xmlTextReaderPtr reader){ if (xmlTextReaderNodeType(reader) != XML_READER_TYPE_ELEMENT) return XCCDFE_ERROR; const struct xccdf_element_spec *mapptr; const char *name = (const char *)xmlTextReaderConstLocalName(reader); const char *nsuri = (const char *)xmlTextReaderConstNamespaceUri(reader); for (mapptr = XCCDF_ELEMENT_MAP; mapptr->id != 0; ++mapptr) { if (name && strcmp(mapptr->name, name) == 0) { // element name exists and matches if (!nsuri && !mapptr->ns) // no namespace for the element and no namespace defined in the table return mapptr->id; if (nsuri && strcmp(mapptr->ns, nsuri) == 0) // namespace exists and matches the table return mapptr->id; if (nsuri && (strcmp(mapptr->ns, XCCDF_XMLNS_PREFIX) == 0 || strcmp(mapptr->ns, XCCDF_OR_TAILORING_EXTENSION_XMLNS) == 0) && strncmp(XCCDF_XMLNS_PREFIX, nsuri, strlen(XCCDF_XMLNS_PREFIX)) == 0) // Namespace exists and XCCDF version-less namespace prefix matches // it. This is done to support multiple XCCDF versions. // // XSD schema will make sure there is no XCCDF version mixing in // the document. The only thing we are solving here is making sure // the element is some kind of an XCCDF element. return mapptr->id; if (nsuri && strcmp(mapptr->ns, XCCDF_OR_TAILORING_EXTENSION_XMLNS) == 0 && strcmp(XCCDF_OR_TAILORING_EXTENSION_XMLNS, nsuri) == 0) // In case we are supposed to accept XCCDF tailoring extension return mapptr->id; } } return XCCDFE_UNMATCHED;}
开发者ID:GovReady,项目名称:openscap,代码行数:40,
示例26: EPUB3ParseXMLReaderNodeForNCXEPUB3Error EPUB3ParseXMLReaderNodeForNCX(EPUB3Ref epub, xmlTextReaderPtr reader, EPUB3XMLParseContextPtr *currentContext){ assert(epub != NULL); assert(reader != NULL); assert(*currentContext != NULL); EPUB3Error error = kEPUB3Success; const xmlChar *name = xmlTextReaderConstLocalName(reader); xmlReaderTypes currentNodeType = xmlTextReaderNodeType(reader); if(name != NULL && currentNodeType != XML_READER_TYPE_COMMENT) { switch((*currentContext)->state) { case kEPUB3NCXStateRoot: {// fprintf(stdout, "NCX ROOT: %s/n", name); if(currentNodeType == XML_READER_TYPE_ELEMENT) { if(xmlStrcmp(name, BAD_CAST "navMap") == 0) { (void)EPUB3SaveParseContext(currentContext, kEPUB3NCXStateNavMap, name, 0, NULL, kEPUB3_YES, NULL); } } break; } case kEPUB3NCXStateNavMap: {// fprintf(stdout, "NCX NAV MAP: %s/n", name); if(currentNodeType == XML_READER_TYPE_END_ELEMENT && xmlStrcmp(name, BAD_CAST "navMap") == 0) { (void)EPUB3PopAndFreeParseContext(currentContext); return kEPUB3NCXNavMapEnd; } else { error = EPUB3ProcessXMLReaderNodeForNavMapInNCX(epub, reader, currentContext); } break; } default: break; } } return error;}
开发者ID:UIKit0,项目名称:EPUB3Processor,代码行数:39,
示例27: PHP_METHOD/* {{{ proto boolean XMLReader::next([string localname])Moves the position of the current instance to the next node in the stream. */PHP_METHOD(xmlreader, next){ zval *id; int retval; size_t name_len=0; xmlreader_object *intern; char *name = NULL; if (zend_parse_parameters(ZEND_NUM_ARGS(), "|s", &name, &name_len) == FAILURE) { return; } id = getThis(); intern = Z_XMLREADER_P(id); if (intern != NULL && intern->ptr != NULL) {#if LIBXML_VERSION <= 20617 /* Bug in libxml prevents a next in certain cases when positioned on end of element */ if (xmlTextReaderNodeType(intern->ptr) == XML_READER_TYPE_END_ELEMENT) { retval = xmlTextReaderRead(intern->ptr); } else#endif retval = xmlTextReaderNext(intern->ptr); while (name != NULL && retval == 1) { if (xmlStrEqual(xmlTextReaderConstLocalName(intern->ptr), (xmlChar *)name)) { RETURN_TRUE; } retval = xmlTextReaderNext(intern->ptr); } if (retval == -1) { RETURN_FALSE; } else { RETURN_BOOL(retval); } } php_error_docref(NULL, E_WARNING, "Load Data before trying to read"); RETURN_FALSE;}
开发者ID:LTD-Beget,项目名称:php-src,代码行数:40,
注:本文中的xmlTextReaderConstLocalName函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ xmlTextReaderConstValue函数代码示例 C++ xmlSubstituteEntitiesDefault函数代码示例 |