00001
00002
00003 #ifndef _LNKPROLOG_H
00004 #define _LNKPROLOG_H
00005
00006 #include "xmlprolog.h"
00007 #include "reftype.h"
00008 #include "xmlsimpleprologentity.h"
00009 #include <string>
00010 #include <map>
00011 #include <vector>
00012
00015 class LnkProlog:public XmlProlog {
00016
00017 std::map<DomId, Ref> dom2Ref;
00018 std::list<XMLSimplePrologEntity> getNotations() const;
00019 std::list<XMLSimplePrologEntity> getSubDtds()const;
00020 std::list<XMLSimplePrologEntity> getSubDocs() const;
00021 void analyzeProlog(const XMLSimpleProlog &);
00022
00023 public:
00024
00026 LnkProlog();
00027
00034 void addRefFitx(const RefType & type, const DomId & dom, const std::string & fitx, const bool system);
00035
00039 void removeRefFitx(const DomId & dom);
00040
00044 void removeRefFitx(const std::string & fitx);
00045
00050 std::string getRefFitx (const DomId & dom) const;
00051
00056 std::vector<std::string> getRefFitx (const RefType & type) const;
00057
00062 std::vector<DomId> getRefDom(const RefType & type) const;
00063
00064 };
00065 #endif //_LNKPROLOG_H