summaryrefslogtreecommitdiff
path: root/examples/cxx/tree/secure/secure-dom-parser.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2015-09-10 12:18:02 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2015-09-10 12:18:02 +0200
commit8ffa44b96b668b0286aa73cc331b59d4cef38d48 (patch)
treef877fdad915719673606aff7b8b7e693c7baf376 /examples/cxx/tree/secure/secure-dom-parser.cxx
parentaabb88ef1fc3ada75b7210b73c05e73af5c653a8 (diff)
Add example of more secure XML parsing
Diffstat (limited to 'examples/cxx/tree/secure/secure-dom-parser.cxx')
-rw-r--r--examples/cxx/tree/secure/secure-dom-parser.cxx24
1 files changed, 24 insertions, 0 deletions
diff --git a/examples/cxx/tree/secure/secure-dom-parser.cxx b/examples/cxx/tree/secure/secure-dom-parser.cxx
new file mode 100644
index 0000000..9008e1e
--- /dev/null
+++ b/examples/cxx/tree/secure/secure-dom-parser.cxx
@@ -0,0 +1,24 @@
+// file : examples/cxx/tree/secure/secure-dom-parser.cxx
+// copyright : not copyrighted - public domain
+
+#include "secure-dom-parser.hxx"
+
+#include <xercesc/util/XMLException.hpp>
+#include <xercesc/util/XMLExceptMsgs.hpp>
+
+using namespace xercesc;
+
+void SecureDOMParser::
+doctypeDecl (const DTDElementDecl& e,
+ const XMLCh* const pub_id,
+ const XMLCh* const sys_id,
+ const bool hasi,
+ const bool hase)
+{
+ if (hasi || hase)
+ ThrowXMLwithMemMgr(RuntimeException,
+ XMLExcepts::Gen_NoDTDValidator,
+ fMemoryManager);
+
+ DOMLSParserImpl::doctypeDecl (e, pub_id, sys_id, hasi, hase);
+}