-#if defined (_MSC_VER)
- #pragma warning( push )
- #pragma warning( disable : 4250 4251 )
-#endif
-
-namespace xmltooling {
-
- /**
- * Implements a smart wrapper around unknown DOM content.
- */
- class XMLTOOL_DLLLOCAL AnyElementImpl : public AbstractDOMCachingXMLObject,
- public AbstractElementProxy, public AbstractAttributeExtensibleXMLObject,
- public AbstractXMLObjectMarshaller, public AbstractXMLObjectUnmarshaller
- {
- public:
- virtual ~AnyElementImpl() {}
-
- AnyElementImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix=NULL, const QName* schemaType=NULL)
- : AbstractXMLObject(nsURI, localName, prefix, schemaType) {}
-
- AnyElementImpl* clone() const {
- auto_ptr<XMLObject> domClone(AbstractDOMCachingXMLObject::clone());
- AnyElementImpl* ret=dynamic_cast<AnyElementImpl*>(domClone.get());
- if (ret) {
- domClone.release();
- return ret;
- }
-
- return new AnyElementImpl(*this);
- }