--- parser3/src/classes/xdoc.C 2001/11/01 15:45:27 1.41 +++ parser3/src/classes/xdoc.C 2001/11/12 10:00:31 1.45 @@ -2,9 +2,9 @@ Parser: @b xdoc parser class. Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com) - Author: Alexander Petrosyan (http://design.ru/paf) + Author: Alexander Petrosyan (http://paf.design.ru) - $Id: xdoc.C,v 1.41 2001/11/01 15:45:27 paf Exp $ + $Id: xdoc.C,v 1.45 2001/11/12 10:00:31 paf Exp $ */ #include "pa_types.h" #include "classes.h" @@ -533,7 +533,8 @@ static void _set(Request& r, const Strin Temp_lang temp_lang(r, String::UL_XML); const String& xml=r.process(vxml).as_string(); - std::istrstream stream(xml.cstr()); + std::istrstream stream( + xml.cstr(String::UL_UNSPECIFIED, r.connection)); const XalanParsedSource* parsedSource; try { @@ -622,7 +623,6 @@ static void add_xslt_param(const Hash::K XalanDOMString(attribute_cstr), XalanDOMString(meaning_cstr)); } - static void _transform(Request& r, const String& method_name, MethodParams *params) { Pool& pool=r.pool(); VXdoc& vdoc=*static_cast(r.self); @@ -689,6 +689,9 @@ static void _transform(Request& r, const Exception::provide_source(pool, &stylesheet_file_name, e); } + // close + connection.close(); + // write out result VXdoc& result=*new(pool) VXdoc(pool, target, false/*owns not*/); r.write_no_lang(result);