00001 #ifndef _LINGUISTICDEFINITION_XMLWORDPATTERNFORMATTER_H_ 00002 #define _LINGUISTICDEFINITION_XMLWORDPATTERNFORMATTER_H_ 00003 00004 #include <string> 00005 #include <iostream> 00006 00007 #include <libxml/tree.h> 00008 #include <libxml/xpath.h> 00009 00010 #include "LinguisticDefinition/LingDef.h" 00011 #include "LinguisticDefinition/WordPattern.h" 00012 #include "LinguisticDefinition/WordPatternFormatter.h" 00013 00014 namespace LinguisticDefinition { 00015 00019 class XmlWordPatternFormatter : public WordPatternFormatter { 00020 public: 00021 00025 XmlWordPatternFormatter(const LingDef &); 00026 00030 WordPattern createWordPattern(xmlNodePtr); 00031 00035 bool populateWordPattern(xmlNodePtr, WordPattern &); 00036 00037 private: 00038 00042 bool go(xmlNodePtr, WordPattern::GroupElement &, const LingDef::Pos *&); 00043 00044 }; 00045 00046 } 00047 00048 #endif //_LINGUISTICDEFINITION_XMLWORDPATTERNFORMATTER_H_