const xml_attr* xml_node::next_attr(void) const { ACL_ARRAY* a = node_->attr_list; if (a == NULL) return NULL; acl_assert(attr_iter_); acl_assert(attr_); ACL_XML_ATTR* attr = (ACL_XML_ATTR*) a->iter_next(attr_iter_, a); if (attr == NULL) return NULL; const_cast<xml_node*>(this)->attr_->node_ = const_cast<xml_node*>(this); const_cast<xml_node*>(this)->attr_->attr_ = attr; return attr_; }
const xml_attr* xml2_node::next_attr(void) const { ACL_ARRAY* a = node_->attr_list; if (a == NULL) return NULL; acl_assert(attr_iter_); ACL_XML2_ATTR* attr = (ACL_XML2_ATTR*) a->iter_next(attr_iter_, a); if (attr == NULL) return NULL; xml2_attr* xa = NEW xml2_attr(const_cast<xml2_node*>(this), attr); const_cast<xml2_node*>(this)->attrs_tmp_.push_back(xa); return xa; }