i may be stupid and I may be  asking a dumb question 

but how  the code suggested by you is better than  followimng code qhich was
i have in first place : 


Xml_DOM_Node Xml_DOM_Node::getParentNode() const 
 {
  DOM_Node node =  pdomnodeimpl->domnode.getParentNode();
  pdomnodeimpl->domnode = node; 
  return Xml_DOM_Node(pdomnodeimpl);
 }




-----Original Message-----
From: Adams, David [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, June 12, 2001 10:18 AM
To: '[EMAIL PROTECTED]'
Subject: RE: wrapping Xerces API in my code !!


        Sorry, this would match your existing code.
                /*
                // could this be what you really wanted?
                Xml_DOM_Node Xml_DOM_Node::getParentNode() const 
                {
                 DOM_Node node =
pdomnodeimpl->domnode.getParentNode();
                Xml_DOM_Node_Impl* p = new Xml_DOM_Node_Impl; // need to
allocate new struct here.
                p->domnode = node;
                return Xml_DOM_Node(p); // your destructor deletes the
allocated struct
                }
                */



> -----Original Message-----
> From: Adams, David [SMTP:[EMAIL PROTECTED]]
> Sent: Tuesday, June 12, 2001 10:09 AM
> To:   '[EMAIL PROTECTED]'
> Subject:      RE: wrapping Xerces API in my code !!
> 
> It compiles and it does run, but I don't understand what you are trying to
> do in a couple of spots. 
> 
> 1) unless you are deliberately trying to hide DOM_Node in that struct, or
> unless you deliberately left some additional stuff out of that struct for
> the sake of simplifying your email, I don't see why you don't just put the
> 'DOM_Node' directly in your class. You have a class that wraps a struct
> that
> wraps a DOM_Node. Why not just have a class that wraps DOM_Node ?
> 
>       class Xml_DOM_Node 
>       {
>       public: 
>               Xml_DOM_Node(DOM_Node); // Xerces Referencing counting makes
> this essentially the same as 'DOM_Node&'
>               ~Xml_DOM_Node();        
>               DOMString getNodeName() const;  
>               Xml_DOM_Node getParentNode() const;
>       private:
>           DOM_Node domnode; 
>       };
> 
> 2) I don't understand why you are reassiging your DOM_Node value in this
> routine, but I don't know what you attend to do with your application. You
> will be pointing your wrapper class to some other node on the tree; maybe
> that's what you intended.
>       Xml_DOM_Node Xml_DOM_Node::getParentNode() const 
>       {
>        DOM_Node node =
>       pdomnodeimpl->domnode.getParentNode();
>        pdomnodeimpl->domnode = node; 
>        return Xml_DOM_Node(pdomnodeimpl);
>       }
> 
>       /*
>       // could this be what you really wanted?
>       Xml_DOM_Node Xml_DOM_Node::getParentNode() const 
>       {
>        DOM_Node node =
>       pdomnodeimpl->domnode.getParentNode();
>        return Xml_DOM_Node(node);
>       }
>       */
> 
> 
> > -----Original Message-----
> > From:       anand awasthi [SMTP:[EMAIL PROTECTED]]
> > Sent:       Tuesday, June 12, 2001 9:28 AM
> > To: [EMAIL PROTECTED]
> > Subject:    wrapping Xerces API in my code !!
> > 
> > Hi,
> > 
> > I am trying to wrap Xerces API in my code in following
> > manner :
> > 
> > 
> > oni.h 
> > ----------
> > 
> > struct Xml_DOM_Node_Impl;
> > struct Xml_DOM_Node_Impl
> > {
> >     DOM_Node domnode;
> > };
> > 
> > class Xml_DOM_Node 
> > {
> > public:     
> >     Xml_DOM_Node(Xml_DOM_Node_Impl*);       
> >     ~Xml_DOM_Node();        
> >     DOMString getNodeName() const;  
> >     Xml_DOM_Node getParentNode() const;
> > private:
> >     Xml_DOM_Node_Impl* pdomnodeimpl; 
> > };
> > 
> > 
> > -------------------------------------------
> > 
> > oni.cpp
> > ---------
> > 
> > #include "oni.h"
> > #include <xercesheaders>
> > 
> > 
> > Xml_DOM_Node::Xml_DOM_Node(Xml_DOM_Node_Impl* impl) :
> > pdomnodeimpl(impl)
> > {
> > }
> > 
> > DOMString Xml_DOM_Node::getNodeName() const 
> > {
> >  return (pdomnodeimpl->domnode.getNodeName());
> > }
> > 
> > Xml_DOM_Node Xml_DOM_Node::getParentNode() const 
> > {
> >  DOM_Node node =
> > pdomnodeimpl->domnode.getParentNode();
> >  pdomnodeimpl->domnode = node; 
> >  return Xml_DOM_Node(pdomnodeimpl);
> > }
> > 
> > Xml_DOM_Node::~Xml_DOM_Node()
> > {
> > delete pdomnodeimpl;
> > }
> > 
> > could C++/Xerces gurus pls tell me that above code is
> > correct or not ?? if notr then pls suggest me better
> > ways.
> > 
> > i would really appreciate that.
> > 
> > thanks
> > 
> > __________________________________________________
> > Do You Yahoo!?
> > Get personalized email addresses from Yahoo! Mail - only $35 
> > a year!  http://personal.mail.yahoo.com/
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to