--- parser3/src/classes/xnode.C 2003/02/04 14:04:47 1.54.2.2 +++ parser3/src/classes/xnode.C 2003/02/17 07:18:57 1.54.2.5 @@ -7,7 +7,9 @@ #include "classes.h" #ifdef XML -static const char* IDENT_XNODE_C="$Date: 2003/02/04 14:04:47 $"; +static const char* IDENT_XNODE_C="$Date: 2003/02/17 07:18:57 $"; + +#include "pa_vmethod_frame.h" #include "pa_charset.h" #include "pa_request.h" @@ -24,6 +26,10 @@ extern "C" { #include "gdome.h" #include "libxml/xpath.h" +// global variable + +MethodedPtr xnode_class(new MXnode); + // classes class xmlXPathObject_auto_ptr { @@ -101,7 +107,7 @@ GdomeNode *as_node(StringPtr method_name return static_cast(vxnode)->get_node(&method_name); else throw Exception("parser.runtime", - &method_name, + method_name, msg); } @@ -113,7 +119,7 @@ GdomeAttr * as_attr(Pool& pool, StringPt GdomeException exc; if(gdome_n_nodeType(node, &exc)!=GDOME_ATTRIBUTE_NODE) throw Exception("parser.runtime", - &method_name, + method_name, msg); return GDOME_A(node); @@ -138,7 +144,7 @@ static void _insertBefore(Request& r, St r.write_no_lang(result); } else throw Exception( - &method_name, + method_name, exc); } @@ -156,7 +162,7 @@ static void _replaceChild(Request& r, St r.write_no_lang(*new(pool) VXnode(pool, retNode)); } else throw Exception( - &method_name, + method_name, exc); } @@ -173,7 +179,7 @@ static void _removeChild(Request& r, Str r.write_no_lang(*new(pool) VXnode(pool, retNode)); } else throw Exception( - &method_name, + method_name, exc); } @@ -190,7 +196,7 @@ static void _appendChild(Request& r, Str r.write_no_lang(*new(pool) VXnode(pool, retNode)); } else throw Exception( - &method_name, + method_name, exc); } @@ -229,7 +235,7 @@ GdomeElement *get_self_element(Request& GdomeException exc; if(gdome_n_nodeType(node, &exc)!=GDOME_ELEMENT_NODE) throw Exception("parser.runtime", - &method_name, + method_name, "method can only be called on nodes of ELEMENT type"); return GDOME_EL(node); @@ -262,7 +268,7 @@ static void _setAttribute(Request& r, St &exc); if(exc) throw Exception( - &method_name, + method_name, exc); } @@ -276,7 +282,7 @@ static void _removeAttribute(Request& r, gdome_el_removeAttribute(element, pool.transcode(name).get(), &exc); if(exc) throw Exception( - &method_name, + method_name, exc); } @@ -293,7 +299,7 @@ static void _getAttributeNode(Request& r r.write_no_lang(result); } else if(exc) throw Exception( - &method_name, + method_name, exc); } @@ -310,7 +316,7 @@ static void _setAttributeNode(Request& r r.write_no_lang(result); } else throw Exception( - &method_name, + method_name, exc); } @@ -324,7 +330,7 @@ static void _removeAttributeNode(Request gdome_el_removeAttributeNode(element, oldAttr, &exc); if(exc) throw Exception( - &method_name, + method_name, exc); } @@ -352,7 +358,7 @@ static void _getElementsByTagName(Reques } } else if(exc) throw Exception( - &method_name, + method_name, exc); // write out result @@ -402,7 +408,7 @@ static void _normalize(Request& r, Strin gdome_n_normalize(selfNode, &exc); if(exc) throw Exception( - &method_name, + method_name, exc); } @@ -678,19 +684,10 @@ MXnode::MXnode(Pool& apool, const char* } -// global variable +#else -Methoded *Xnode_class; +// global variable -#endif +MethodedPtr xnode_class(0); // fictive -// creator -Methoded *MXnode_create(Pool& pool) { - return -#ifdef XML - Xnode_class=new(pool) MXnode(pool) -#else - 0 #endif - ; -}