You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by ca...@apache.org on 2007/09/10 20:30:45 UTC

svn commit: r574322 - in /xerces/c/trunk/src/xercesc/internal: DGXMLScanner.cpp ElemStack.hpp IGXMLScanner.cpp SGXMLScanner.cpp WFXMLScanner.cpp

Author: cargilld
Date: Mon Sep 10 11:30:45 2007
New Revision: 574322

URL: http://svn.apache.org/viewvc?rev=574322&view=rev
Log:
Error not caught for unbound prefix for xml 1.1 reused in same scope.

Modified:
    xerces/c/trunk/src/xercesc/internal/DGXMLScanner.cpp
    xerces/c/trunk/src/xercesc/internal/ElemStack.hpp
    xerces/c/trunk/src/xercesc/internal/IGXMLScanner.cpp
    xerces/c/trunk/src/xercesc/internal/SGXMLScanner.cpp
    xerces/c/trunk/src/xercesc/internal/WFXMLScanner.cpp

Modified: xerces/c/trunk/src/xercesc/internal/DGXMLScanner.cpp
URL: http://svn.apache.org/viewvc/xerces/c/trunk/src/xercesc/internal/DGXMLScanner.cpp?rev=574322&r1=574321&r2=574322&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/internal/DGXMLScanner.cpp (original)
+++ xerces/c/trunk/src/xercesc/internal/DGXMLScanner.cpp Mon Sep 10 11:30:45 2007
@@ -2064,6 +2064,14 @@
     if (unknown)
         emitError(XMLErrs::UnknownPrefix, prefix);
 
+    // check to see if uriId is empty; in XML 1.1 an emptynamespace is okay unless
+    // we are trying to use it.
+    if (*prefix &&
+        mode == ElemStack::Mode_Element &&
+        fXMLVersion != XMLReader::XMLV1_0 &&
+        uriId == fElemStack.getEmptyNamespaceId())             
+        emitError(XMLErrs::UnknownPrefix, prefix);
+
     return uriId;
 }
 

Modified: xerces/c/trunk/src/xercesc/internal/ElemStack.hpp
URL: http://svn.apache.org/viewvc/xerces/c/trunk/src/xercesc/internal/ElemStack.hpp?rev=574322&r1=574321&r2=574322&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/internal/ElemStack.hpp (original)
+++ xerces/c/trunk/src/xercesc/internal/ElemStack.hpp Mon Sep 10 11:30:45 2007
@@ -204,6 +204,7 @@
         , const unsigned int    xmlNSId
     );
 
+    unsigned int getEmptyNamespaceId();
 
 private :
     // -----------------------------------------------------------------------
@@ -560,6 +561,10 @@
  
 inline int ElemStack::getPrefixColonPos() const {
     return fStack[fStackTop-1]->fPrefixColonPos;
+}
+
+inline unsigned int ElemStack::getEmptyNamespaceId() {
+    return fEmptyNamespaceId;
 }
 
 // ---------------------------------------------------------------------------

Modified: xerces/c/trunk/src/xercesc/internal/IGXMLScanner.cpp
URL: http://svn.apache.org/viewvc/xerces/c/trunk/src/xercesc/internal/IGXMLScanner.cpp?rev=574322&r1=574321&r2=574322&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/internal/IGXMLScanner.cpp (original)
+++ xerces/c/trunk/src/xercesc/internal/IGXMLScanner.cpp Mon Sep 10 11:30:45 2007
@@ -2901,6 +2901,11 @@
             if (unknown)
                 emitError(XMLErrs::UnknownPrefix, prefixRawBuf);
 
+            // check to see if uriId is empty
+            if (fXMLVersion != XMLReader::XMLV1_0 &&
+                uriId == fElemStack.getEmptyNamespaceId())             
+                emitError(XMLErrs::UnknownPrefix, prefixRawBuf);
+
             return uriId;
         }
     }

Modified: xerces/c/trunk/src/xercesc/internal/SGXMLScanner.cpp
URL: http://svn.apache.org/viewvc/xerces/c/trunk/src/xercesc/internal/SGXMLScanner.cpp?rev=574322&r1=574321&r2=574322&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/internal/SGXMLScanner.cpp (original)
+++ xerces/c/trunk/src/xercesc/internal/SGXMLScanner.cpp Mon Sep 10 11:30:45 2007
@@ -1876,6 +1876,11 @@
             if (unknown)
                 emitError(XMLErrs::UnknownPrefix, prefixRawBuf);
 
+            // check to see if uriId is empty
+            if (fXMLVersion != XMLReader::XMLV1_0 &&
+                uriId == fElemStack.getEmptyNamespaceId())             
+                emitError(XMLErrs::UnknownPrefix, prefixRawBuf);
+
             return uriId;
         }
     }

Modified: xerces/c/trunk/src/xercesc/internal/WFXMLScanner.cpp
URL: http://svn.apache.org/viewvc/xerces/c/trunk/src/xercesc/internal/WFXMLScanner.cpp?rev=574322&r1=574321&r2=574322&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/internal/WFXMLScanner.cpp (original)
+++ xerces/c/trunk/src/xercesc/internal/WFXMLScanner.cpp Mon Sep 10 11:30:45 2007
@@ -473,6 +473,14 @@
     if (unknown)
         emitError(XMLErrs::UnknownPrefix, prefix);
 
+    // check to see if uriId is empty; in XML 1.1 an emptynamespace is okay unless
+    // we are trying to use it.
+    if (*prefix &&
+        mode == ElemStack::Mode_Element &&
+        fXMLVersion != XMLReader::XMLV1_0 &&
+        uriId == fElemStack.getEmptyNamespaceId())             
+        emitError(XMLErrs::UnknownPrefix, prefix);
+
     return uriId;
 }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org