00001 00012 // for truncation warning 00013 #ifdef _MSC_VER 00014 #include "msdevstudio/MSconfig.h" 00015 #endif 00016 00017 #include "BaseXML.h" 00018 00019 #include "XmlController.h" 00020 #include "XmlDocument.h" 00021 #include "XmlElement.h" 00022 00023 #include <cassert> 00024 00025 using std::string; 00026 using std::swap; 00027 00028 BaseXML:: 00029 BaseXML ( const std::string & tagname, XmlController * controller ) 00030 : m_tagname ( tagname ), 00031 m_type ( "type" ), 00032 m_id ( "id" ), 00033 m_controller ( controller ) 00034 { 00035 } 00036 00037 BaseXML::~BaseXML ( ) 00038 { 00039 } 00040 00041 XmlElement * BaseXML::createElement ( ) 00042 { 00043 return XmlController::m_xml_doc->createElement ( m_tagname ); 00044 } 00045 00046 const string & BaseXML::tagName () const 00047 { 00048 return m_tagname; 00049 } 00050 00051 const XmlElement * BaseXML::getNode ( const XmlElement * parent ) const 00052 { 00053 return parent->getNode ( m_tagname ); 00054 } 00055 00056 void BaseXML::fillNodeList ( const XmlElement * element, 00057 std::list < XmlElement * > & nodelist ) 00058 { 00059 element->fillNodeList ( m_tagname, nodelist ); 00060 } 00061 00062 void BaseXML::setId ( XmlElement & tag, int id ) 00063 { 00064 tag.setAttribute ( m_id, id ); 00065 }