34 #ifndef SOMAIO_UTILITIES_MINFXML2_H 
   35 #define SOMAIO_UTILITIES_MINFXML2_H 
   53 extern const std::string 
minfTag;
 
   54 extern const std::string 
noneTag;
 
   55 extern const std::string 
trueTag;
 
   59 extern const std::string 
listTag;
 
  112                                const std::string &nodeType,
 
  113                                const std::string &identifier,
 
  115                                const std::string &parentSyntax=std::string(), 
 
  116                                const std::string &name=std::string() ) = 0;
 
  137                                const std::string &identifier,
 
  139                                const std::string &parentSyntax=std::string(), 
 
  140                                const std::string &name=std::string() );
 
  143   virtual void reference( 
const std::string &identifier );
 
  146   std::list< carto::rc_ptr< MinfNodeExpander > > _stack;
 
  147   std::map< std::string, carto::Object > _references;
 
  163                                const std::string &nodeType,
 
  164                                const std::string &identifier,
 
  166                                const std::string &parentSyntax=std::string(), 
 
  167                                const std::string &name=std::string() );
 
  191                                const std::string &nodeType,
 
  192                                const std::string &identifier,
 
  194                                const std::string &parentSyntax=std::string(), 
 
  195                                const std::string &name=std::string() );
 
  251   void read( 
const std::string & );
 
Abstraction layer for various data sources (file, buffer, socket...).
virtual void reference(MinfTreeExpander &, const std::string &identifier)
DefaultMinfNodeExpander(carto::rc_ptr< ObjectListener > ol=carto::rc_ptr< ObjectListener >(), carto::rc_ptr< carto::SyntaxSet > syntax=carto::rc_ptr< carto::SyntaxSet >())
virtual void endStructure(MinfTreeExpander &, const std::string &nodeType)
virtual std::string startStructure(MinfTreeExpander &, const std::string &nodeType, const std::string &identifier, carto::Object attributes, const std::string &parentSyntax=std::string(), const std::string &name=std::string())
DefaultMinfNodeExpander(carto::rc_ptr< carto::SyntaxSet > syntax)
carto::rc_ptr< carto::SyntaxSet > _syntax
virtual void atom(MinfTreeExpander &, carto::Object, const std::string &identifier)
virtual ~DefaultMinfNodeExpander()
virtual void noMoreObject()
DictionaryBuilder(carto::rc_ptr< ObjectListener >)
DictionaryBuilder(carto::Object, carto::rc_ptr< ObjectListener >)
virtual void nextObject(const carto::Object &)
DictionaryBuilder(carto::Object)
virtual ~DictionaryBuilder()
virtual void noMoreObject()
ListBuilder(carto::rc_ptr< ObjectListener >)
ListBuilder(carto::Object, carto::rc_ptr< ObjectListener >)
virtual void nextObject(const carto::Object &)
ListBuilder(carto::Object)
virtual ~MinfNodeExpander()
virtual void reference(MinfTreeExpander &, const std::string &identifier)=0
virtual std::string startStructure(MinfTreeExpander &, const std::string &nodeType, const std::string &identifier, carto::Object attributes, const std::string &parentSyntax=std::string(), const std::string &name=std::string())=0
virtual void atom(MinfTreeExpander &, carto::Object, const std::string &identifier)=0
virtual void endStructure(MinfTreeExpander &, const std::string &nodeType)=0
virtual ~MinfTreeExpander()
carto::Object getReferencedObject(const std::string &identifier)
virtual void reference(const std::string &identifier)
void push(carto::rc_ptr< MinfNodeExpander >)
carto::rc_ptr< MinfNodeExpander > pop()
virtual void atom(carto::Object, const std::string &identifier)
virtual void endStructure(const std::string &nodeType)
virtual std::string startStructure(const std::string &nodeType, const std::string &identifier, carto::Object attributes, const std::string &parentSyntax=std::string(), const std::string &name=std::string())
void addReference(const std::string &identifier, carto::Object value)
MinfXMLReader(MinfTreeExpander &, carto::rc_ptr< carto::SyntaxSet > syntax)
void read(const std::string &)
virtual void nextObject(const carto::Object &)=0
virtual void noMoreObject()=0
virtual ~ObjectListener()
virtual std::string startStructure(MinfTreeExpander &, const std::string &nodeType, const std::string &identifier, carto::Object attributes, const std::string &parentSyntax=std::string(), const std::string &name=std::string())
SingleDictionaryExpander(carto::Object dictionary, carto::rc_ptr< carto::SyntaxSet > syntax)
virtual ~SingleDictionaryExpander()
const std::string factoryTag
const std::string minfTag
const std::string expanderAttribute
const std::string falseTag
const std::string referenceTag
const std::string stringTag
const std::string numberTag
const std::string trueTag
const std::string listTag
const std::string xhtmlTag
const std::string noneTag
const std::string objectTypeAttribute
const std::string lengthAttribute
const std::string identifierAttribute
const std::string nameAttribute
const std::string dictionaryTag
carto::Object readDictionaryMinfXML(const std::string &fileName, carto::rc_ptr< carto::SyntaxSet > syntax=carto::rc_ptr< carto::SyntaxSet >())
void init_libXML()
just to force initializing libxml2, needs to be called once from the main thread in a multi-threaded ...