--- parser3/src/classes/xnode.h 2003/03/06 16:15:25 1.18.2.5 +++ parser3/src/classes/xnode.h 2007/04/23 10:30:10 1.26 @@ -1,34 +1,38 @@ /** @file Parser: @b dnode methods class - MDnode class decl. - Copyright (c) 2001-2003 ArtLebedev Group (http://www.artlebedev.com) + Copyright (c) 2001-2005 ArtLebedev Group (http://www.artlebedev.com) Author: Alexandr Petrosian (http://paf.design.ru) */ #ifndef XNODE_H #define XNODE_H -static const char* IDENT_XNODE_H="$Date: 2003/03/06 16:15:25 $"; +static const char * const IDENT_XNODE_H="$Date: 2007/04/23 10:30:10 $"; class MXnode: public Methoded { public: // Value /// MXnode: +$const - ValuePtr get_element(StringPtr aname, Value& aself, bool looking_up) { + Value* get_element(const String& aname, Value& aself, bool looking_up) { // $method - if(ValuePtr result=Methoded::get_element(aname, aself, looking_up)) + if(Value* result=Methoded::get_element(aname, aself, looking_up)) return result; // $const - if(ValuePtr result=consts.get(aname)) + if(Value* result=consts.get(aname)) return result; - return ValuePtr(0); + return 0; } public: // VStateless_class - ValuePtr create_new_value() { return ValuePtr(new VXnode(0, 0)); } + Value* create_new_value(Pool&, HashStringValue&) { + throw Exception(PARSER_RUNTIME, + 0, + "no constructors available, use CreateXXX DOM methods to create nodes instead"); + } public: MXnode(const char* aname=0, VStateless_class* abase=0); @@ -41,9 +45,8 @@ private: HashStringValue consts; }; -#define gdome_xml_doc_get_xmlDoc(dome_doc) ((_Gdome_xml_Document *)dome_doc)->n; - -GdomeNode *as_node(StringPtr method_name, MethodParams* params, - int index, const char* msg); +xmlNode& as_node(MethodParams& params, int index, const char* msg); +xmlChar* as_xmlchar(Request& r, MethodParams& params, int index, const char* msg); +xmlNs& pa_xmlMapNs(xmlDoc& doc, const xmlChar* href, const xmlChar* prefix); #endif