--- parser3/src/classes/xnode.C 2002/09/18 08:52:50 1.52 +++ parser3/src/classes/xnode.C 2003/04/11 09:58:10 1.55 @@ -1,13 +1,13 @@ /** @file Parser: @b dom parser class. - Copyright (c) 2001, 2002 ArtLebedev Group (http://www.artlebedev.com) + Copyright (c) 2001, 2003 ArtLebedev Group (http://www.artlebedev.com) Author: Alexandr Petrosian (http://paf.design.ru) */ #include "classes.h" #ifdef XML -static const char* IDENT_XNODE_C="$Date: 2002/09/18 08:52:50 $"; +static const char* IDENT_XNODE_C="$Date: 2003/04/11 09:58:10 $"; #include "pa_charset.h" #include "pa_request.h" @@ -243,9 +243,9 @@ static void _getAttribute(Request& r, co GdomeException exc; GdomeDOMString *attribute_value= - gdome_el_getAttribute(element, pool.transcode(name).get(), &exc); + gdome_el_getAttribute(element, pool.transcode(name).use(), &exc); // write out result - r.write_no_lang(pool.transcode(attribute_value)); + r.write_no_lang(pool.transcode(attribute_value, &name)); } // void setAttribute(in DOMString name, in DOMString value) raises(DOMException); @@ -257,8 +257,8 @@ static void _setAttribute(Request& r, co GdomeException exc; gdome_el_setAttribute(element, - pool.transcode(name).get(), - pool.transcode(attribute_value).get(), + pool.transcode(name).use(), + pool.transcode(attribute_value).use(), &exc); if(exc) throw Exception( @@ -273,7 +273,7 @@ static void _removeAttribute(Request& r, const String& name=params->as_string(0, "name must be string"); GdomeException exc; - gdome_el_removeAttribute(element, pool.transcode(name).get(), &exc); + gdome_el_removeAttribute(element, pool.transcode(name).use(), &exc); if(exc) throw Exception( &method_name, @@ -287,7 +287,7 @@ static void _getAttributeNode(Request& r const String& name=params->as_string(0, "name must be string"); GdomeException exc; - if(GdomeAttr *attr=gdome_el_getAttributeNode(element, pool.transcode(name).get(), &exc)) { + if(GdomeAttr *attr=gdome_el_getAttributeNode(element, pool.transcode(name).use(), &exc)) { // write out result VXnode& result=*new(pool) VXnode(pool, (GdomeNode *)attr); r.write_no_lang(result); @@ -338,7 +338,7 @@ static void _getElementsByTagName(Reques VHash& result=*new(pool) VHash(pool); GdomeException exc; if(GdomeNodeList *nodes= - gdome_el_getElementsByTagName(element, pool.transcode(name).get(), &exc)) { + gdome_el_getElementsByTagName(element, pool.transcode(name).use(), &exc)) { gulong length=gdome_nl_length(nodes, &exc); for(gulong i=0; istringval)).get())); + gdome_str_mkref_dup((const gchar *)res->stringval)).use(), &expression)); break; default: throw Exception("parser.runtime", @@ -563,7 +563,7 @@ static void selectStringHandler(Pool& po result=new(pool) VString( pool.transcode( GdomeDOMString_auto_ptr( - gdome_str_mkref_dup((const gchar *)res->stringval)).get())); + gdome_str_mkref_dup((const gchar *)res->stringval)).use(), &expression)); break; case XPATH_NODESET: if(!(res->nodesetval && res->nodesetval->nodeNr))