00001
00002
00003 #ifndef _FSPROLOG_H
00004 #define _FSPROLOG_H
00005
00006 #include "xmlprolog.h"
00007 #include "xmlsimpleprologentity.h"
00008 #include <list>
00009
00010 #define EDBL_FSD_PUBLIC_ID "-//IXA taldea
00011 #define SEGMENTA_FSD_PUBLIC_ID "-//IXA taldea
00012 #define MORPHEUS_FSD_PUBLIC_ID "-//IXA taldea
00013 #define EUSLEM_FSD_PUBLIC_ID "-//IXA taldea
00014 #define EDBL_FSD_SYSTEM_ID "irteera.edbl.fsd"
00015 #define SEGMENTA_FSD_SYSTEM_ID "irteera.seg.fsd"
00016 #define MORPHEUS_FSD_SYSTEM_ID "irteera.morf.fsd"
00017 #define EUSLEM_FSD_SYSTEM_ID "irteera.lem.fsd"
00018
00021 typedef enum AnalisiType {
00022 SEG_ANA = 0,
00023 MORF_ANA = 1,
00024 LEM_ANA = 2,
00025 EDBL_ANA = 3,
00026 SF_ANA = 4,
00027 SHSYNT_ANA= 5,
00028 ERR_ANA = 6,
00029 DEFEK_ANA = 7
00030 };
00031
00034 class FSProlog:public XmlProlog {
00035 AnalisiType type;
00036
00037 protected:
00038
00042 std::list<XMLSimplePrologEntity> getNotations() const;
00043
00047 std::list<XMLSimplePrologEntity> getSubDtds() const;
00048
00052 std::list<XMLSimplePrologEntity> getSubDocs() const;
00053
00057 void analyzeProlog(const XMLSimpleProlog & prolog);
00058
00059 public:
00060
00062 FSProlog();
00063
00067 FSProlog(const AnalisiType & type);
00068
00072 FSProlog(const FSProlog & fsProlog);
00073
00077 void putType(const AnalisiType & type);
00078
00082 AnalisiType getType() const;
00083
00084 };
00085
00086
00087 #endif //_FSPROLOG_H