[prev in list] [next in list] [prev in thread] [next in thread]
List: xerces-cvs
Subject: svn commit: r574322 - in /xerces/c/trunk/src/xercesc/internal:
From: cargilld () apache ! org
Date: 2007-09-10 18:30:45
Message-ID: 20070910183046.9A8B61A9832 () eris ! apache ! org
[Download RAW message or body]
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
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic