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