--- parser3/src/classes/xdoc.C 2003/02/04 14:12:43 1.108.2.4 +++ parser3/src/classes/xdoc.C 2003/02/17 07:18:57 1.108.2.7 @@ -8,7 +8,7 @@ #include "classes.h" #ifdef XML -static const char* IDENT_XDOC_C="$Date: 2003/02/04 14:12:43 $"; +static const char* IDENT_XDOC_C="$Date: 2003/02/17 07:18:57 $"; #include "pa_vmethod_frame.h" @@ -52,6 +52,10 @@ public: // Methoded void configure_admin(Request& r); }; +// global variable + +MethodedPtr xdoc_class(new MXdoc); + // helper classes class xmlOutputBuffer_auto_ptr { @@ -159,7 +163,7 @@ static void writeNode(Request& r, const GdomeException exc) { if(!node || exc) throw Exception( - &method_name, + method_name, exc); Pool& pool=r.pool(); @@ -315,7 +319,7 @@ static void _getElementsByTagName(Reques } } else if(exc) throw Exception( - &method_name, + method_name, exc); // write out result @@ -372,7 +376,7 @@ static void _getElementById(Request& r, r.write_no_lang(result); } else if(exc || xmlHaveGenericErrors()) throw Exception( - &method_name, + method_name, exc); } @@ -391,7 +395,7 @@ static void _importNode(Request& r, Stri deep, &exc); if(exc) throw Exception( - &method_name, + method_name, exc); // write out result @@ -420,7 +424,7 @@ static void _create(Request& r, StringPt if(!document || xmlHaveGenericErrors()) { GdomeException exc=0; throw Exception( - &method_name, + method_name, exc); } } else { // [name] @@ -436,7 +440,7 @@ static void _create(Request& r, StringPt &exc); if(!documentType || exc || xmlHaveGenericErrors()) throw Exception( - &method_name, + method_name, exc); */ document=gdome_di_createDocument (domimpl, @@ -446,7 +450,7 @@ static void _create(Request& r, StringPt &exc); if(!document || exc || xmlHaveGenericErrors()) throw Exception( - &method_name, + method_name, exc); xmlDoc *doc=gdome_xml_doc_get_xmlDoc(document); @@ -476,7 +480,7 @@ static void _load(Request& r, StringPtr VXdoc& vdoc=*static_cast(r.get_self()); // filespec - const String& file_name=params.as_string(0, "uri must be string"); + StringPtr file_name=params.as_string(0, "uri must be string"); const String& uri=r.absolute(file_name); void *data; size_t size; @@ -602,7 +606,7 @@ static void xdoc2buf(Pool& pool, VXdoc& xmlCharEncodingHandler *encoder=xmlFindCharEncodingHandler(encoding_cstr); if(!encoder) throw Exception("parser.runtime", - &method_name, + method_name, "encoding '%s' not supported", encoding_cstr); // UTF-8 encoder contains empty input/output converters, // which is wrong for xmlOutputBufferCreateIO @@ -615,7 +619,7 @@ static void xdoc2buf(Pool& pool, VXdoc& xsltStylesheet_auto_ptr stylesheet(xsltNewStylesheet()); if(!stylesheet.get()) throw Exception(0, - &method_name, + method_name, "xsltNewStylesheet failed"); #define OOS2STYLE(name) \ @@ -637,7 +641,7 @@ static void xdoc2buf(Pool& pool, VXdoc& if(xsltSaveResultTo(outputBuffer.get(), document, stylesheet.get())<0) { GdomeException exc=0; throw Exception( - &method_name, + method_name, exc); } @@ -805,7 +809,7 @@ static void _transform(Request& r, Strin transform_params[params.count()*2]=0; } else throw Exception("parser.runtime", - &method_name, + method_name, "transform parameters parameter must be hash"); } @@ -821,15 +825,15 @@ static void _transform(Request& r, Strin stylesheet_ptr->doc=0; if(xmlHaveGenericErrors()) { GdomeException exc=0; - throw Exception(&method_name, exc); + throw Exception(method_name, exc); } if(!stylesheet_ptr.get()) throw Exception("xml", - &method_name, + method_name, "stylesheet failed to compile"); // transform! - result=&_transform(pool, &method_name, &method_name, + result=&_transform(pool, method_name, method_name, vdoc, stylesheet_ptr.get(), transform_params); } else { // stylesheet (file name) @@ -840,7 +844,7 @@ static void _transform(Request& r, Strin // load and compile file to stylesheet [or get cached if any] // transform! - result=&_transform(pool, &method_name, &stylesheet_filespec, + result=&_transform(pool, method_name, &stylesheet_filespec, vdoc, connection->stylesheet(false/*nocache*/), transform_params); } @@ -918,20 +922,11 @@ MXdoc::MXdoc(Pool& apool) : MXnode(apool void MXdoc::configure_admin(Request& r) { } -// global variable +# else -Methoded *Xdoc_class; +// global variable -// creator +MethodedPtr xdoc_class(0); // fictive #endif -Methoded *MXdoc_create(Pool& pool) { - return -#ifdef XML - Xdoc_class=new(pool) MXdoc(pool) -#else - 0 -#endif - ; -}