All Classes Namespaces Functions Typedefs Enumerations
preprocess.h
1 #ifndef _MBXMLUTILS_PREPROCESS_H_
2 #define _MBXMLUTILS_PREPROCESS_H_
3 
4 #include <fmatvec/atom.h>
5 #include <boost/locale.hpp>
6 #include <boost/bind.hpp>
7 #include <mbxmlutilshelper/dom.h>
8 #include <mbxmlutils/eval.h>
9 
10 namespace MBXMLUtils {
11 
12 
13 class Preprocess : virtual public fmatvec::Atom {
14  protected:
15  typedef std::map<FQN, int> PositionMap;
16  public:
17  typedef std::vector<std::pair<std::string, boost::shared_ptr<void> > > ParamSet;
18  typedef std::unordered_map<std::string, ParamSet> XPathParamSet;
19  static void preprocess(boost::shared_ptr<MBXMLUtils::DOMParser> parser, // in: parser used to parse XML documents
20  const boost::shared_ptr<Eval> &eval, // in: evaluator used for evaluation
21  std::vector<boost::filesystem::path> &dependencies, // out: list of dependent files
22  xercesc::DOMElement *&e, // in: element to process; out: e changes only if e is itself a Embed element
23  // out: XPath map of top level parameter sets. Note: the XPath position is always interpreted
24  // with a Embed count of 1!
25  boost::shared_ptr<XPathParamSet> param=boost::shared_ptr<XPathParamSet>(),
26 
27  // internal: XPath expression of parent element
28  const std::string &parentXPath="",
29  // internal: XPath position count of the element e
30  boost::shared_ptr<PositionMap> position=boost::make_shared<PositionMap>()
31  );
32 };
33 
34 }
35 
36 #endif
Definition: preprocess.h:13

Impressum / Disclaimer / Datenschutz Generated by doxygen 1.8.5 Valid HTML