/* {{{ proto boolean XMLReader::moveToAttributeNs(string name, string namespaceURI) Positions reader at attribute spcified by name and namespaceURI. Returns TRUE on success and FALSE on failure */ PHP_METHOD(xmlreader, moveToAttributeNs) { zval *id; size_t name_len=0, ns_uri_len=0; int retval; xmlreader_object *intern; char *name, *ns_uri; if (zend_parse_parameters(ZEND_NUM_ARGS(), "ss", &name, &name_len, &ns_uri, &ns_uri_len) == FAILURE) { return; } if (name_len == 0 || ns_uri_len == 0) { php_error_docref(NULL, E_WARNING, "Attribute Name and Namespace URI cannot be empty"); RETURN_FALSE; } id = getThis(); intern = Z_XMLREADER_P(id); if (intern && intern->ptr) { retval = xmlTextReaderMoveToAttributeNs(intern->ptr, (xmlChar *)name, (xmlChar *)ns_uri); if (retval == 1) { RETURN_TRUE; } } RETURN_FALSE; }
/* reader:move_to_attribute_ns(localname, nsuri) */ static int xmlreader_move_to_attribute_ns(lua_State *L) { xmlreader xr = check_xmlreader(L, 1); const xmlChar *localname = (xmlChar*)luaL_checkstring(L, 2); const xmlChar *namespaceuri = (xmlChar*)luaL_checkstring(L, 3); int ret = xmlTextReaderMoveToAttributeNs(xr, localname, namespaceuri); BOOL_OR_ERROR(L, ret); }
bool c_XMLReader::t_movetoattributens(const String& name, const String& namespaceURI) { if (name.empty() || namespaceURI.empty()) { raise_warning("Attribute Name and Namespace URI cannot be empty"); return false; } if (m_ptr) { int ret = xmlTextReaderMoveToAttributeNs(m_ptr, (xmlChar *)name.data(), (xmlChar *)namespaceURI.data()); if (ret == 1) { return true; } } return false; }
bool c_XMLReader::t_movetoattributens(CStrRef name, CStrRef namespaceURI) { INSTANCE_METHOD_INJECTION_BUILTIN(XMLReader, XMLReader::movetoattributens); if (name.empty() || namespaceURI.empty()) { raise_warning("Attribute Name and Namespace URI cannot be empty"); return false; } if (m_ptr) { int ret = xmlTextReaderMoveToAttributeNs(m_ptr, (xmlChar *)name.data(), (xmlChar *)namespaceURI.data()); if (ret == 1) { return true; } } return false; }
bool HHVM_METHOD(XMLReader, moveToAttributeNs, const String& name, const String& namespaceURI) { auto* data = Native::data<XMLReader>(this_); SYNC_VM_REGS_SCOPED(); if (name.empty() || namespaceURI.empty()) { raise_warning("Attribute Name and Namespace URI cannot be empty"); return false; } if (data->m_ptr) { int ret = xmlTextReaderMoveToAttributeNs(data->m_ptr, (xmlChar *)name.data(), (xmlChar *)namespaceURI.data()); if (ret == 1) { return true; } } return false; }