00001 /* libIXAml - IXA Taldea */ 00002 00003 #ifndef _MORFLNKXMLDOC_H 00004 #define _MORFLNKXMLDOC_H 00005 00006 #include "lnkxmldoc.h" 00007 #include "fsid.h" 00008 #include "mwid.h" 00009 #include "wid.h" 00010 #include <vector> 00011 #include <string> 00012 00015 class MorfLnkXMLDoc: public LnkXMLDoc { 00016 static const LnkGrpType wLnkGrpT; 00017 static const LnkGrpType mwLnkGrpT; 00018 static const RefType wRef; 00019 static const RefType mwRef; 00020 static const RefType fsRef; 00021 00022 //IdRefErlr-een birtualen inplementazioa 00023 std::string lortuRef(const RefDataErl & ird) const; 00024 00025 public: 00026 00028 MorfLnkXMLDoc(); 00029 00033 MorfLnkXMLDoc(const DomId & d); 00034 00038 std::string getWFitx() const; 00039 00043 DomId getWDom() const; 00044 00048 void putWFitx (const std::string & f); 00049 00054 void putWFitx (const std::string & f, const DomId & d); 00055 00059 std::string getMwFitx() const; 00060 00064 DomId getMwDom() const; 00065 00069 void putMwFitx(const std::string & f); 00070 00075 void putMwFitx(const std::string & f, const DomId & d); 00076 00080 std::string getFSFitx () const; 00081 00085 DomId getFSDom() const; 00086 00090 void putFSFitx (const std::string & f); 00091 00096 void putFSFitx(const std::string & f, const DomId & d); 00097 00101 LinkGrp getWLinkGrp() const; 00102 00106 void removeWLink(const Link & l); 00107 00111 void addWLink(const Link & l); 00112 00117 void addWLink(const WId & wId, const FSId & fsId); 00118 00122 LinkGrp getMwLinkGrp() const; 00123 00127 void removeMwLink(const Link & l); 00128 00132 void addMwLink(const Link & l); 00133 00138 void addMwLink(const MwId & mwId, const FSId & fsId); 00139 00144 std::vector<WId> findAnaTok(const FSId & fsId); 00145 00150 std::vector<FSId> findTokAna(const WId & wId); 00151 00152 }; 00153 #endif //_MORFLNKXMLDOC_H 00154