diff --git a/src/xercesc/internal/DGXMLScanner.cpp b/src/xercesc/internal/DGXMLScanner.cpp
index 5fc9b2b6720e1d5532730827f9f2d2eb96140a6c..d446db420d1ab54d25e2ca45d110f29164925ae5 100644
--- a/src/xercesc/internal/DGXMLScanner.cpp
+++ b/src/xercesc/internal/DGXMLScanner.cpp
@@ -2182,7 +2182,9 @@ void DGXMLScanner::updateNSMap(const    XMLCh* const attrPrefix
                 emitError(XMLErrs::PrefixXMLNotMatchXMLURI);
         }
 
-        if (!attrValue || !*attrValue)
+        if (!attrValue)
+            emitError(XMLErrs::NoEmptyStrNamespace, attrLocalName);
+        else if(!*attrValue && fXMLVersion == XMLReader::XMLV1_0)
             emitError(XMLErrs::NoEmptyStrNamespace, attrLocalName);
     }
 
diff --git a/src/xercesc/internal/IGXMLScanner2.cpp b/src/xercesc/internal/IGXMLScanner2.cpp
index 9e83f0e3e0108ffb25986050a81081ccee01bc8b..f6cb653fb3325d48cb22a84ca47984cef9860ce3 100644
--- a/src/xercesc/internal/IGXMLScanner2.cpp
+++ b/src/xercesc/internal/IGXMLScanner2.cpp
@@ -1164,7 +1164,9 @@ void IGXMLScanner::updateNSMap(const  XMLCh* const    attrName
                 emitError(XMLErrs::PrefixXMLNotMatchXMLURI);
         }
 
-        if (!namespaceURI || !*namespaceURI)
+        if (!namespaceURI)
+            emitError(XMLErrs::NoEmptyStrNamespace, attrName);
+        else if(!*namespaceURI && fXMLVersion == XMLReader::XMLV1_0)
             emitError(XMLErrs::NoEmptyStrNamespace, attrName);
     }
 
diff --git a/src/xercesc/internal/SGXMLScanner.cpp b/src/xercesc/internal/SGXMLScanner.cpp
index 2b0e8d096afb47eb4e89548099795bf34556476e..2fc34b055b4bc603af146f0e140956fee8176adf 100644
--- a/src/xercesc/internal/SGXMLScanner.cpp
+++ b/src/xercesc/internal/SGXMLScanner.cpp
@@ -2912,7 +2912,9 @@ void SGXMLScanner::updateNSMap(const  XMLCh* const    attrName
                 emitError(XMLErrs::PrefixXMLNotMatchXMLURI);
         }
 
-        if (!namespaceURI || !*namespaceURI)
+        if (!namespaceURI)
+            emitError(XMLErrs::NoEmptyStrNamespace, attrName);
+        else if(!*namespaceURI && fXMLVersion == XMLReader::XMLV1_0)
             emitError(XMLErrs::NoEmptyStrNamespace, attrName);
     }
 
diff --git a/src/xercesc/internal/WFXMLScanner.cpp b/src/xercesc/internal/WFXMLScanner.cpp
index e1fe934a97637c7c806660e1fb7dffba24a2830d..49c81ce66bb4b40638823559f0eb5751f696c24d 100644
--- a/src/xercesc/internal/WFXMLScanner.cpp
+++ b/src/xercesc/internal/WFXMLScanner.cpp
@@ -1361,7 +1361,9 @@ bool WFXMLScanner::scanStartTagNS(bool& gotData)
                             emitError(XMLErrs::PrefixXMLNotMatchXMLURI);
                     }
 
-                    if (!namespaceURI || !*namespaceURI)
+                    if (!namespaceURI)
+                        emitError(XMLErrs::NoEmptyStrNamespace, attNameRawBuf);
+                    else if(!*namespaceURI && fXMLVersion == XMLReader::XMLV1_0)
                         emitError(XMLErrs::NoEmptyStrNamespace, attNameRawBuf);
 
                     fElemStack.addPrefix