00001 /* libIXAml - IXA Taldea */ 00002 00003 #ifndef _POSLNKXMLDOC_H 00004 #define _POSLNKXMLDOC_H 00005 00006 #include "lnkxmldoc.h" 00007 #include "fsid.h" 00008 #include "spanid.h" 00009 #include <string> 00010 #include <vector> 00011 00014 class PosLnkXMLDoc: public LnkXMLDoc { 00015 00016 static const std::string POS_LIB; 00017 static const LnkGrpType PosLnkGrpT; 00018 static const RefType PosRef; 00019 static const RefType PosLibRef; 00020 00021 //IdRefErlr-een birtualen inplementazioa 00022 std::string lortuRef(const RefDataErl & ird) const; 00023 00024 public: 00025 00027 PosLnkXMLDoc(); 00028 00032 PosLnkXMLDoc(const DomId & d); 00033 00037 std::string getPosFitx() const; 00038 00042 DomId getPosDom() const; 00043 00047 void putPosFitx (const std::string & f); 00048 00053 void putPosFitx (const std::string & f, const DomId & d); 00054 00058 std::string getPosLibFitx () const; 00059 00063 DomId getPosLibDom() const; 00064 00068 void putPosLibFitx(const std::string & f); 00069 00074 void putPosLibFitx(const std::string & f, const DomId & d); 00075 00078 void putPosPublicLibrary(); 00079 00083 LinkGrp getPosLinkGrp() const; 00084 00088 void removePosLink(const Link & l); 00089 00093 void addPosLink(const Link & l); 00094 00099 void addPosLink(const SpanId & spanId, const FSId & fsId); 00100 00105 std::vector<SpanId> findPosSpans(const FSId & fsId); 00106 00111 std::vector<FSId> findPosDescs(const SpanId & spanId); 00112 00113 }; 00114 #endif //_POSLNKXMLDOC_H