diff --git a/src/xercesc/parsers/AbstractDOMParser.cpp b/src/xercesc/parsers/AbstractDOMParser.cpp
index 4526e87..44cb6ba 100644
--- a/src/xercesc/parsers/AbstractDOMParser.cpp
+++ b/src/xercesc/parsers/AbstractDOMParser.cpp
@@ -317,6 +317,11 @@
     return fScanner->getLowWaterMark();
 }
 
+bool AbstractDOMParser::getDisallowDoctype() const
+{
+    return fScanner->getDisallowDTD();
+}
+
 bool AbstractDOMParser::getLoadExternalDTD() const
 {
     return fScanner->getLoadExternalDTD();
@@ -455,6 +460,11 @@
     fScanner->setLowWaterMark(lwm);
 }
 
+void AbstractDOMParser::setDisallowDoctype(const bool newState)
+{
+    fScanner->setDisallowDTD(newState);
+}
+
 void AbstractDOMParser::setLoadExternalDTD(const bool newState)
 {
     fScanner->setLoadExternalDTD(newState);
diff --git a/src/xercesc/parsers/AbstractDOMParser.hpp b/src/xercesc/parsers/AbstractDOMParser.hpp
index 664a887..e179e59 100644
--- a/src/xercesc/parsers/AbstractDOMParser.hpp
+++ b/src/xercesc/parsers/AbstractDOMParser.hpp
@@ -350,6 +350,20 @@
       */
     const XMLSize_t& getLowWaterMark() const;
 
+    /** Get the 'Disallow DOCTYPE (DTD)' flag
+      *
+      * This method returns the state of the parser's disallowed DOCTYPE
+      * flag.
+      *
+      * @return false, if the parser is currently configured to
+      *         allow DOCTYPE, true otherwise.
+      *
+      * @see #setDisallowDoctype()
+      * @see #getLoadExternalDTD
+      * @see #getValidationScheme
+      */
+    bool getDisallowDoctype() const;
+
     /** Get the 'Loading External DTD' flag
       *
       * This method returns the state of the parser's loading external DTD
@@ -359,6 +373,7 @@
       *         ignore external DTD completely, true otherwise.
       *
       * @see #setLoadExternalDTD
+      * @see #getDisallowDoctype
       * @see #getValidationScheme
       */
     bool getLoadExternalDTD() const;
@@ -793,6 +808,23 @@
       */
     void setLowWaterMark(XMLSize_t lwm);
 
+    /** Set the 'Disallow DOCTYPE (DTD)' flag
+      *
+      * This method allows users to disable the processing of DOCTYPE (DTD).
+      * When set to true, the parser will throw an exception if the document
+      * contains the DOCTYPE node.
+      *
+      * The parser's default state is: false.
+      *
+      * @param newState The value specifying whether to disallow DOCTYPE
+      *                 or not.
+      *
+      * @see #setDisallowDoctype()
+      * @see #getLoadExternalDTD
+      * @see #getValidationScheme
+      */
+    void setDisallowDoctype(const bool newState);
+
     /** Set the 'Loading External DTD' flag
       *
       * This method allows users to enable or disable the loading of external DTD.
@@ -807,6 +839,7 @@
       *                 be loaded or not.
       *
       * @see #getLoadExternalDTD
+      * @see #setDisallowDoctype
       * @see #setValidationScheme
       */
     void setLoadExternalDTD(const bool newState);
diff --git a/src/xercesc/parsers/SAX2XMLReaderImpl.cpp b/src/xercesc/parsers/SAX2XMLReaderImpl.cpp
index 473fb66..c9bb648 100644
--- a/src/xercesc/parsers/SAX2XMLReaderImpl.cpp
+++ b/src/xercesc/parsers/SAX2XMLReaderImpl.cpp
@@ -1302,6 +1302,10 @@
     {
         fScanner->setIdentityConstraintChecking(value);
     }
+    else if (XMLString::compareIStringASCII(name, XMLUni::fgXercesDisallowDoctype) == 0)
+    {
+        fScanner->setDisallowDTD(value);
+    }
     else if (XMLString::compareIStringASCII(name, XMLUni::fgXercesLoadExternalDTD) == 0)
     {
         fScanner->setLoadExternalDTD(value);
@@ -1386,6 +1390,8 @@
         return fScanner->getValidationSchemaFullChecking();
     else if (XMLString::compareIStringASCII(name, XMLUni::fgXercesIdentityConstraintChecking) == 0)
         return fScanner->getIdentityConstraintChecking();
+    else if (XMLString::compareIStringASCII(name, XMLUni::fgXercesDisallowDoctype) == 0)
+        return fScanner->getDisallowDTD();
     else if (XMLString::compareIStringASCII(name, XMLUni::fgXercesLoadExternalDTD) == 0)
         return fScanner->getLoadExternalDTD();
     else if (XMLString::compareIStringASCII(name, XMLUni::fgXercesLoadSchema) == 0)
diff --git a/src/xercesc/parsers/SAXParser.cpp b/src/xercesc/parsers/SAXParser.cpp
index 8a46ad3..3a10eb9 100644
--- a/src/xercesc/parsers/SAXParser.cpp
+++ b/src/xercesc/parsers/SAXParser.cpp
@@ -312,6 +312,11 @@
     return fScanner->getLowWaterMark();
 }
 
+bool SAXParser::getDisallowDoctype() const
+{
+    return fScanner->getDisallowDTD();
+}
+
 bool SAXParser::getLoadExternalDTD() const
 {
     return fScanner->getLoadExternalDTD();
@@ -475,6 +480,11 @@
     fScanner->setLowWaterMark(lwm);
 }
 
+void SAXParser::setDisallowDoctype(const bool newState)
+{
+    fScanner->setDisallowDTD(newState);
+}
+
 void SAXParser::setLoadExternalDTD(const bool newState)
 {
     fScanner->setLoadExternalDTD(newState);
diff --git a/src/xercesc/parsers/SAXParser.hpp b/src/xercesc/parsers/SAXParser.hpp
index c0c903d..d42eee1 100644
--- a/src/xercesc/parsers/SAXParser.hpp
+++ b/src/xercesc/parsers/SAXParser.hpp
@@ -380,6 +380,20 @@
       */
     XMLSize_t getLowWaterMark() const;
 
+    /** Get the 'Disallow DOCTYPE (DTD)' flag
+      *
+      * This method returns the state of the parser's disallowed DOCTYPE
+      * flag.
+      *
+      * @return false, if the parser is currently configured to
+      *         allow DOCTYPE, true otherwise.
+      *
+      * @see #setDisallowDoctype()
+      * @see #getLoadExternalDTD
+      * @see #getValidationScheme
+      */
+    bool getDisallowDoctype() const;
+
     /** Get the 'Loading External DTD' flag
       *
       * This method returns the state of the parser's loading external DTD
@@ -389,6 +403,7 @@
       *         ignore external DTD completely, true otherwise.
       *
       * @see #setLoadExternalDTD
+      * @see #getDisallowDoctype
       * @see #getValidationScheme
       */
     bool getLoadExternalDTD() const;
@@ -791,6 +806,23 @@
       */
     void setLowWaterMark(XMLSize_t lwm);
 
+    /** Set the 'Disallow DOCTYPE (DTD)' flag
+      *
+      * This method allows users to disable the processing of DOCTYPE (DTD).
+      * When set to true, the parser will throw an exception if the document
+      * contains the DOCTYPE node.
+      *
+      * The parser's default state is: false.
+      *
+      * @param newState The value specifying whether to disallow DOCTYPE
+      *                 or not.
+      *
+      * @see #setDisallowDoctype()
+      * @see #getLoadExternalDTD
+      * @see #getValidationScheme
+      */
+    void setDisallowDoctype(const bool newState);
+
     /** Set the 'Loading External DTD' flag
       *
       * This method allows users to enable or disable the loading of external DTD.
@@ -805,6 +837,7 @@
       *                 be loaded or not.
       *
       * @see #getLoadExternalDTD
+      * @see #setDisallowDoctype
       * @see #setValidationScheme
       */
     void setLoadExternalDTD(const bool newState);
diff --git a/src/xercesc/util/XMLUni.cpp b/src/xercesc/util/XMLUni.cpp
index c167238..184b34c 100644
--- a/src/xercesc/util/XMLUni.cpp
+++ b/src/xercesc/util/XMLUni.cpp
@@ -1070,6 +1070,22 @@
     ,   chLatin_n, chLatin_g, chNull
 };
 
+//Xerces: http://apache.org/xml/features/nonvalidating/disallow-doctype
+const XMLCh XMLUni::fgXercesDisallowDoctype[] =
+{
+        chLatin_h, chLatin_t, chLatin_t, chLatin_p, chColon, chForwardSlash
+    ,   chForwardSlash, chLatin_a, chLatin_p, chLatin_a, chLatin_c, chLatin_h
+    ,   chLatin_e, chPeriod, chLatin_o, chLatin_r, chLatin_g, chForwardSlash
+    ,   chLatin_x, chLatin_m, chLatin_l, chForwardSlash, chLatin_f, chLatin_e
+    ,   chLatin_a, chLatin_t, chLatin_u, chLatin_r, chLatin_e, chLatin_s
+    ,   chForwardSlash, chLatin_n, chLatin_o, chLatin_n
+    ,   chLatin_v, chLatin_a, chLatin_l, chLatin_i, chLatin_d
+    ,   chLatin_a, chLatin_t, chLatin_i, chLatin_n, chLatin_g, chForwardSlash
+    ,   chLatin_d, chLatin_i, chLatin_s, chLatin_a, chLatin_l, chLatin_l, chLatin_o
+    ,   chLatin_w, chDash, chLatin_d, chLatin_o, chLatin_c, chLatin_t, chLatin_y
+    ,   chLatin_p, chLatin_e, chNull
+};
+
 //Xerces: http://apache.org/xml/features/nonvalidating/load-external-dtd
 const XMLCh XMLUni::fgXercesLoadExternalDTD[] =
 {
diff --git a/src/xercesc/util/XMLUni.hpp b/src/xercesc/util/XMLUni.hpp
index 252dd0a..5fde8c8 100644
--- a/src/xercesc/util/XMLUni.hpp
+++ b/src/xercesc/util/XMLUni.hpp
@@ -224,6 +224,7 @@
     static const XMLCh fgXercesSchemaExternalSchemaLocation[];
     static const XMLCh fgXercesSchemaExternalNoNameSpaceSchemaLocation[];
     static const XMLCh fgXercesSecurityManager[];
+    static const XMLCh fgXercesDisallowDoctype[]; // DOMDisallowDoctype equivalent for SAX.
     static const XMLCh fgXercesLoadExternalDTD[];
     static const XMLCh fgXercesContinueAfterFatalError[];
     static const XMLCh fgXercesValidationErrorAsFatal[];
