[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xerces-cvs
Subject:    svn commit: r574319 - in /xerces/c/branches/xerces-2/src/xercesc/internal:
From:       cargilld () apache ! org
Date:       2007-09-10 18:12:57
Message-ID: 20070910181258.8FAE21A9832 () eris ! apache ! org
[Download RAW message or body]

Author: cargilld
Date: Mon Sep 10 11:12:56 2007
New Revision: 574319

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

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

Modified: xerces/c/branches/xerces-2/src/xercesc/internal/DGXMLScanner.cpp
URL: http://svn.apache.org/viewvc/xerces/c/branches/xerces-2/src/xercesc/internal/DGXMLScanner.cpp?rev=574319&r1=574318&r2=574319&view=diff
 ==============================================================================
--- xerces/c/branches/xerces-2/src/xercesc/internal/DGXMLScanner.cpp (original)
+++ xerces/c/branches/xerces-2/src/xercesc/internal/DGXMLScanner.cpp Mon Sep 10 \
11:12:56 2007 @@ -2072,6 +2072,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/branches/xerces-2/src/xercesc/internal/ElemStack.hpp
URL: http://svn.apache.org/viewvc/xerces/c/branches/xerces-2/src/xercesc/internal/ElemStack.hpp?rev=574319&r1=574318&r2=574319&view=diff
 ==============================================================================
--- xerces/c/branches/xerces-2/src/xercesc/internal/ElemStack.hpp (original)
+++ xerces/c/branches/xerces-2/src/xercesc/internal/ElemStack.hpp Mon Sep 10 11:12:56 \
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/branches/xerces-2/src/xercesc/internal/IGXMLScanner.cpp
URL: http://svn.apache.org/viewvc/xerces/c/branches/xerces-2/src/xercesc/internal/IGXMLScanner.cpp?rev=574319&r1=574318&r2=574319&view=diff
 ==============================================================================
--- xerces/c/branches/xerces-2/src/xercesc/internal/IGXMLScanner.cpp (original)
+++ xerces/c/branches/xerces-2/src/xercesc/internal/IGXMLScanner.cpp Mon Sep 10 \
11:12:56 2007 @@ -2914,6 +2914,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/branches/xerces-2/src/xercesc/internal/SGXMLScanner.cpp
URL: http://svn.apache.org/viewvc/xerces/c/branches/xerces-2/src/xercesc/internal/SGXMLScanner.cpp?rev=574319&r1=574318&r2=574319&view=diff
 ==============================================================================
--- xerces/c/branches/xerces-2/src/xercesc/internal/SGXMLScanner.cpp (original)
+++ xerces/c/branches/xerces-2/src/xercesc/internal/SGXMLScanner.cpp Mon Sep 10 \
11:12:56 2007 @@ -1885,6 +1885,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/branches/xerces-2/src/xercesc/internal/WFXMLScanner.cpp
URL: http://svn.apache.org/viewvc/xerces/c/branches/xerces-2/src/xercesc/internal/WFXMLScanner.cpp?rev=574319&r1=574318&r2=574319&view=diff
 ==============================================================================
--- xerces/c/branches/xerces-2/src/xercesc/internal/WFXMLScanner.cpp (original)
+++ xerces/c/branches/xerces-2/src/xercesc/internal/WFXMLScanner.cpp Mon Sep 10 \
11:12:56 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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic