/**\r
* @file AbstractElementProxy.h\r
* \r
- * An abstract implementation of a DOM-caching ElementProxy \r
+ * An abstract implementation of an ElementProxy \r
*/\r
\r
-#if !defined(__xmltooling_abseleproxy_h__)\r
+#ifndef __xmltooling_abseleproxy_h__\r
#define __xmltooling_abseleproxy_h__\r
\r
-#include <xmltooling/AbstractDOMCachingXMLObject.h>\r
+#include <xmltooling/AbstractXMLObject.h>\r
#include <xmltooling/ElementProxy.h>\r
\r
-using namespace xercesc;\r
-\r
#if defined (_MSC_VER)\r
#pragma warning( push )\r
#pragma warning( disable : 4250 4251 )\r
namespace xmltooling {\r
\r
/**\r
- * An abstract implementation of a DOM-caching ExtensibleXMLObject.\r
+ * An abstract implementation of an ExtensibleXMLObject.\r
*/\r
- class XMLTOOL_API AbstractElementProxy : public virtual ElementProxy, public virtual AbstractDOMCachingXMLObject\r
+ class XMLTOOL_API AbstractElementProxy : public virtual ElementProxy, public virtual AbstractXMLObject\r
{\r
public:\r
virtual ~AbstractElementProxy() {}\r
\r
- /**\r
- * @see ElementProxy::getTextContent()\r
- */\r
virtual const XMLCh* getTextContent() const {\r
return m_value;\r
}\r
\r
- /**\r
- * @see ElementProxy::setTextContent()\r
- */\r
virtual void setTextContent(const XMLCh* value);\r
\r
-\r
- /**\r
- * @see ElementProxy::getXMLObjects()\r
- */\r
virtual ListOf(XMLObject) getXMLObjects();\r
\r
- protected:\r
- /**\r
- * Constructor\r
- * \r
- * @param namespaceURI the namespace the element is in\r
- * @param elementLocalName the local name of the XML element this Object represents\r
- * @param namespacePrefix the namespace prefix to use\r
- */\r
- AbstractElementProxy(\r
- const XMLCh* namespaceURI=NULL, const XMLCh* elementLocalName=NULL, const XMLCh* namespacePrefix=NULL\r
- ) : AbstractDOMCachingXMLObject(namespaceURI,elementLocalName, namespacePrefix), m_value(NULL) {}\r
+ virtual const std::list<XMLObject*>& getXMLObjects() const {\r
+ return m_children;\r
+ }\r
+\r
+ protected:\r
+ AbstractElementProxy() : m_value(NULL) {}\r
+ \r
+ /** Copy constructor. */\r
+ AbstractElementProxy(const AbstractElementProxy& src)\r
+ : AbstractXMLObject(src), m_value(XMLString::replicate(src.m_value)) {}\r
\r
private:\r
XMLCh* m_value;\r