[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