diff options
Diffstat (limited to 'src/function/read_xml_file.h')
-rw-r--r-- | src/function/read_xml_file.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/function/read_xml_file.h b/src/function/read_xml_file.h new file mode 100644 index 0000000..1556764 --- /dev/null +++ b/src/function/read_xml_file.h @@ -0,0 +1,42 @@ +#ifndef INPUTXSLT_SRC_FUNCTION_READ_XML_FILE_H_ +#define INPUTXSLT_SRC_FUNCTION_READ_XML_FILE_H_ + +#include <xalanc/Include/PlatformDefinitions.hpp> +#include <xercesc/util/PlatformUtils.hpp> +#include <xalanc/XalanTransformer/XalanTransformer.hpp> +#include <xalanc/XPath/XObjectFactory.hpp> +#include <xalanc/XPath/Function.hpp> +#include <xalanc/XPath/XObject.hpp> +#include <xalanc/XercesParserLiaison/XercesParserLiaison.hpp> + +#include "utility.h" + +namespace InputXSLT { + +class FunctionReadXmlFile : public xalan::Function { + public: + FunctionReadXmlFile(); + FunctionReadXmlFile(const FunctionReadXmlFile&); + + virtual xalan::XObjectPtr execute( + xalan::XPathExecutionContext& executionContext, + xalan::XalanNode* context, + const xalan::Function::XObjectArgVectorType& arguments, + const xalan::Locator* locator + ) const; + + virtual FunctionReadXmlFile* clone(xalan::MemoryManager&) const; + + FunctionReadXmlFile& operator=(const FunctionReadXmlFile&) = delete; + bool operator==(const FunctionReadXmlFile&) const = delete; + + private: + mutable xalan::XercesParserLiaison parser_; + + const xalan::XalanDOMString& getError(xalan::XalanDOMString& result) const; + +}; + +} + +#endif // INPUTXSLT_SRC_FUNCTION_READ_XML_FILE_H_ |