00001 // $Header: /nfs/slac/g/glast/ground/cvs/xmlUtil/src/id/DictValidVisitor.cxx,v 1.1 2001/06/12 18:35:42 jrb Exp $ 00002 00003 #include "xmlUtil/id/DictValidVisitor.h" 00004 // #include "xmlUtil/IdDict.h" 00005 #include "xmlUtil/id/DictNode.h" 00006 00007 namespace xmlUtil { 00008 00009 bool DictValidVisitor::visitDict() { 00010 if (!m_dict) { 00011 m_state = eInvalid; 00012 return false; 00013 } 00014 return visitDict(m_dict); 00015 } 00016 00017 bool DictValidVisitor::visitDict(IdDict* dict) { 00018 m_dict = dict; 00019 00020 m_state = eValid; // so far 00021 00022 return true; 00023 } 00024 00025 bool DictValidVisitor::visitNode(DictNode* node) { 00026 if (m_state != eValid) { 00027 m_state = eInvalid; 00028 return false; 00029 } 00030 if ((node->consistentChildren()) && 00031 (node->consistentParent()) && 00032 (node->consistentValues()) ) return true; 00033 00034 m_state = eInvalid; 00035 return false; 00036 } 00037 00038 } // end namespace
1.2.13.1 written by Dimitri van Heesch,
© 1997-2001