--- parser3/src/classes/xdoc.C 2020/12/15 16:37:40 1.199 +++ parser3/src/classes/xdoc.C 2024/11/11 05:50:09 1.205 @@ -1,8 +1,8 @@ /** @file Parser: @b xdoc parser class. - Copyright (c) 2001-2017 Art. Lebedev Studio (http://www.artlebedev.com) - Author: Alexandr Petrosian (http://paf.design.ru) + Copyright (c) 2001-2024 Art. Lebedev Studio (http://www.artlebedev.com) + Authors: Konstantin Morshnev , Alexandr Petrosian */ #include "pa_config_includes.h" @@ -28,7 +28,7 @@ #include "xnode.h" #include "pa_charsets.h" -volatile const char * IDENT_XDOC_C="$Id: xdoc.C,v 1.199 2020/12/15 16:37:40 moko Exp $"; +volatile const char * IDENT_XDOC_C="$Id: xdoc.C,v 1.205 2024/11/11 05:50:09 moko Exp $"; // defines @@ -368,7 +368,7 @@ static void _create(Request& r, MethodPa set_encoding=true; // must be last action in if, see after if} } else { - VFile* vfile=param.as_vfile(String::L_AS_IS); + VFile* vfile=param.as_vfile(); xmldoc=xmlReadMemory(vfile->value_ptr(), vfile->value_size(), NULL, NULL, XML_PARSE_OPTIONS); if(!xmldoc || xmlHaveGenericErrors()) throw XmlException(0, r); @@ -631,9 +631,8 @@ static void _transform(Request& r, Metho } VXdoc* result; - if(Value *vxdoc=params[0].as(VXDOC_TYPE)) { // stylesheet (xdoc) - VXdoc& vstylesheet=static_cast(*vxdoc); - xmlDoc& stylesheetdoc=vstylesheet.get_xmldoc(); + if(VXdoc *vxdoc=dynamic_cast(¶ms[0])) { // stylesheet (xdoc) + xmlDoc& stylesheetdoc=vxdoc->get_xmldoc(); // compile xdoc stylesheet xsltStylesheet *stylesheet=xsltParseStylesheetDoc(&stylesheetdoc); @@ -727,13 +726,4 @@ MXdoc::MXdoc(): MXnode(XDOC_CLASS_NAME) } -# else - -#include "classes.h" - -// global variable - -DECLARE_CLASS_VAR(xnode, 0); // fictive -DECLARE_CLASS_VAR(xdoc, 0); // fictive - #endif