diff -r 0e7c57d48d1e -r 06aaad12c207 src/XMLDocumentConstructor.h --- a/src/XMLDocumentConstructor.h Sat Nov 28 18:14:15 2020 +0100 +++ b/src/XMLDocumentConstructor.h Sat Nov 28 21:09:18 2020 +0100 @@ -19,10 +19,12 @@ #include #include +#include "lib/uri.h" #include "lib/INIReader.h" #include "lib/BasicUnescapingProcessor.h" #include "lib/BackspaceUnescapingProcessor.h" #include "lib/JavaPropertiesUnescapingProcessor.h" +#include "lib/JavaPropertiesDialect.h" #include "lib/XMLNameCodec.h" using namespace relpipe::in::ini::lib; @@ -112,10 +114,10 @@ void process() { HierarchicalINIContentHandler handler(parser); std::shared_ptr reader(INIReader::create(*input)); - reader->addUnescapingProcessor(std::make_shared(), "unescape-basic", true); - reader->addUnescapingProcessor(std::make_shared(), "unescape-java-properties", false); - reader->addUnescapingProcessor(std::make_shared(false), "unescape-backspace-disorder", false); - reader->addUnescapingProcessor(std::make_shared(), "unescape-backspace", true); + reader->addUnescapingProcessor(std::make_shared(), unescaping::Basic, true); + reader->addUnescapingProcessor(std::make_shared(), unescaping::JavaProperties, false); + reader->addUnescapingProcessor(std::make_shared(), unescaping::Backspace, true); + reader->addDialect(std::make_shared(), dialect::JavaProperties, false); reader->addHandler(&handler); // TODO: smart pointers vs. references: are we going to call addUnescapingProcessor() dynamically/conditionally or share instances? Then pointers will be better. // TODO: call setOption() according to the configuration