00001 /* libIXAml - IXA Taldea */ 00002 00003 #ifndef _XMLPROLOG_H 00004 #define _XMLPROLOG_H 00005 00006 #include "reftype.h" 00007 #include "domid.h" 00008 #include "xmlsimpleprolog.h" 00009 00012 struct Ref { 00013 RefType type; 00014 std::string fitx; 00015 std::string fType; 00016 DomId dom; 00017 }; 00018 00021 class XmlProlog { 00022 00023 protected: 00024 00028 virtual std::list<XMLSimplePrologEntity> getNotations() const =0; 00029 00033 virtual std::list<XMLSimplePrologEntity> getSubDtds() const =0; 00034 00038 virtual std::list<XMLSimplePrologEntity> getSubDocs() const =0; 00039 00043 virtual void analyzeProlog(const XMLSimpleProlog & xsp)=0; 00044 00045 public: 00046 00050 void xml2prolog(const XMLSimpleProlog & xsp); 00051 00055 XMLSimpleProlog prolog2xml() const; 00056 00058 virtual ~XmlProlog(); 00059 00060 }; 00061 00062 #endif 00063