Main Page | Class Hierarchy | Class List | File List | Class Members

teiheader.h

00001 /* libIXAml - IXA Taldea */
00002 
00003 #ifndef _TEIHEADER_H
00004 #define _TEIHEADER_H
00005 
00006 #include "xmlsimplenode.h"
00007 #include "xmlsimplestruct.h"
00008 #include "hizkuntza.h"
00009 #include "fsddecl.h"
00010 #include <string>
00011 #include <vector>
00012 
00017 struct Aldaketa {
00018   std::string nor;                  
00019   std::string ardura;               
00020   std::string data;                 
00021   std::string deskribapena;         
00022   XMLSimpleNode* encodingDesc;      
00023 };
00024 
00029 class TEIHeader {
00030   std::string tituloa;               // Dokumentuaren egilea
00031   std::string egilea;                // Dokumentuaren tituloa
00032   std::string argitaratzaile;        // Dokumentuaren argitaratzailea
00033   std::string idno;                  // Dokumentuaren id-zbk
00034   std::string iturria;               // Dokumentu hau sortzeko erabili den iturria
00035   Hizkuntza hizkuntza;               // Dokumentuaren hizkuntza
00036   std::vector<Aldaketa> aldaketak;   // Dokumentuak izan dituen aldaketak
00037   std::vector <FSDDecl> fsdDeclL;    // Dokumentuak izan ditzakeen FS moten definizioak
00038 
00039  protected:
00040   
00045   XMLSimpleNode* toTitleStmtXML(XMLSimpleStruct* xmlstruct) const;
00046 
00051   XMLSimpleNode* toPublicationStmtXML(XMLSimpleStruct* xmlstruct) const;
00052 
00057   XMLSimpleNode* toSourceDescXML(XMLSimpleStruct* xmlstruct) const;
00058 
00063   XMLSimpleNode* toEncodingDescXML(XMLSimpleStruct* xmlstruct) const;
00064 
00069   XMLSimpleNode* toProfileDescXML(XMLSimpleStruct* xmlstruct) const;
00070 
00075   XMLSimpleNode* toRevisionDescXML(XMLSimpleStruct* xmlstruct) const;
00076 
00082   XMLSimpleNode* toChangeXML(XMLSimpleStruct* xmlstruct,const Aldaketa & ald) const;
00083 
00087   void initTitleStmt(XMLSimpleNode* item) throw (char*);
00088   
00092   void initPublicationStmt(XMLSimpleNode* item) throw (char*);
00093   
00097   void initSourceDesc(XMLSimpleNode* item) throw (char*);
00098 
00102   void initEncodingDesc(XMLSimpleNode* item) throw (char*);
00103   
00107   void initProfileDesc(XMLSimpleNode* item) throw (char*);
00108 
00112   void initRevisionDesc(XMLSimpleNode* item) throw (char*);
00113   
00118   Aldaketa initChange(XMLSimpleNode* item) throw (char*);
00119 
00120  public:
00121 
00124   TEIHeader();
00125   
00129   TEIHeader(const TEIHeader & th);
00130 
00134   std::string getTituloa() const;
00135   
00139   std::string getEgilea() const;
00140 
00144   std::string getArgitaratzailea() const;
00145 
00149   std::string getIdno() const;
00150  
00154   std::string getIturria() const;
00155 
00159   Hizkuntza getHizkuntza() const;
00160 
00164   std::vector<Aldaketa> getAldaketak() const;
00165 
00169   std::vector<FSDDecl>  getFSDDecl() const;
00170 
00174   void putTituloa(const std::string & tituloa);
00175 
00179   void putEgilea(const std::string & egilea);
00180 
00184   void putArgitaratzailea(const std::string & argi);
00185   
00189   void putIdno(const std::string & idno);
00190 
00194   void putIturria(const std::string & iturria);
00195 
00199   void putHizkuntza(const Hizkuntza & hizkuntza);
00200   
00204   void addAldaketa(const Aldaketa & alda);
00205   
00209   void putFSDDecl(const std::vector<FSDDecl> & fsdDeclL);
00210 
00214   void init(XMLSimpleNode* item) throw (char *);
00215 
00220   XMLSimpleNode* toXML(XMLSimpleStruct* xmlstruct) const;
00221 
00222 };
00223 
00224 #endif //_TEIHEADER_H

Generated on Tue Sep 11 12:07:45 2007 for libIXAml by doxygen 1.3.5