cargilld 2005/02/19 15:44:17
Modified: c/src/xercesc/internal IGXMLScanner.cpp SGXMLScanner.cpp
XSAXMLScanner.cpp
Log:
Prefix mapping fix from Dave Bertoni.
Revision Changes Path
1.86 +8 -16 xml-xerces/c/src/xercesc/internal/IGXMLScanner.cpp
Index: IGXMLScanner.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/IGXMLScanner.cpp,v
retrieving revision 1.85
retrieving revision 1.86
diff -u -r1.85 -r1.86
--- IGXMLScanner.cpp 12 Jan 2005 10:37:32 -0000 1.85
+++ IGXMLScanner.cpp 19 Feb 2005 23:44:17 -0000 1.86
@@ -942,9 +942,8 @@
? fElemStack.getCurrentURI() : fEmptyNamespaceId;
// these get initialized below
- const ElemStack::StackElem* topElem = 0;
- XMLElementDecl *tempElement = 0;
- XMLCh *elemName = 0;
+ const ElemStack::StackElem* topElem = 0;
+ const XMLCh *elemName = 0;
// Make sure that its the end of the element that we expect
// special case for schema validation, whose element decls,
@@ -952,14 +951,12 @@
if(fGrammarType == Grammar::SchemaGrammarType)
{
elemName = fElemStack.getCurrentSchemaElemName();
- topElem = fElemStack.popTop();
- tempElement = topElem->fThisElement;
+ topElem = fElemStack.popTop();
}
else
{
- topElem = fElemStack.popTop();
- tempElement = topElem->fThisElement;
- elemName = (XMLCh *)tempElement->getFullName();
+ topElem = fElemStack.popTop();
+ elemName = topElem->fThisElement->getFullName();
}
if (!fReaderMgr.skippedString(elemName))
{
@@ -1157,17 +1154,12 @@
// If we have a doc handler, tell it about the end tag
if (fDocHandler)
{
- int prefixColonPos = XMLString::indexOf(elemName, chColon);
- if (prefixColonPos == -1)
- fPrefixBuf.reset();
- else
- fPrefixBuf.set(elemName, prefixColonPos);
fDocHandler->endElement
(
*topElem->fThisElement
, uriId
- , isRoot
- , fPrefixBuf.getRawBuffer()
+ , isRoot
+ , topElem->fThisElement->getElementName()->getPrefix()
);
}
1.108 +4 -9 xml-xerces/c/src/xercesc/internal/SGXMLScanner.cpp
Index: SGXMLScanner.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/SGXMLScanner.cpp,v
retrieving revision 1.107
retrieving revision 1.108
diff -u -r1.107 -r1.108
--- SGXMLScanner.cpp 7 Jan 2005 08:33:15 -0000 1.107
+++ SGXMLScanner.cpp 19 Feb 2005 23:44:17 -0000 1.108
@@ -870,7 +870,7 @@
? fElemStack.getCurrentURI() : fEmptyNamespaceId;
// Make sure that its the end of the element that we expect
- XMLCh *elemName = fElemStack.getCurrentSchemaElemName();
+ const XMLCh *elemName = fElemStack.getCurrentSchemaElemName();
const ElemStack::StackElem* topElem = fElemStack.popTop();
if (!fReaderMgr.skippedString(elemName))
{
@@ -1012,17 +1012,12 @@
// If we have a doc handler, tell it about the end tag
if (fDocHandler)
{
- int prefixColonPos = XMLString::indexOf(elemName, chColon);
- if (prefixColonPos == -1)
- fPrefixBuf.reset();
- else
- fPrefixBuf.set(elemName, prefixColonPos);
fDocHandler->endElement
(
*topElem->fThisElement
, uriId
- , isRoot
- , fPrefixBuf.getRawBuffer()
+ , isRoot
+ , topElem->fThisElement->getElementName()->getPrefix()
);
}
1.6 +6 -8 xml-xerces/c/src/xercesc/internal/XSAXMLScanner.cpp
Index: XSAXMLScanner.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/XSAXMLScanner.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- XSAXMLScanner.cpp 7 Jan 2005 08:33:15 -0000 1.5
+++ XSAXMLScanner.cpp 19 Feb 2005 23:44:17 -0000 1.6
@@ -75,7 +75,7 @@
unsigned int uriId = fElemStack.getCurrentURI();
// Make sure that its the end of the element that we expect
- XMLCh *elemName = fElemStack.getCurrentSchemaElemName();
+ const XMLCh *elemName = fElemStack.getCurrentSchemaElemName();
const ElemStack::StackElem* topElem = fElemStack.popTop();
if (!fReaderMgr.skippedString(elemName))
{
@@ -157,14 +157,12 @@
// If we have a doc handler, tell it about the end tag
if (fDocHandler)
{
- int prefixColonPos = XMLString::indexOf(elemName, chColon);
- if (prefixColonPos == -1)
- fPrefixBuf.reset();
- else
- fPrefixBuf.set(elemName, prefixColonPos);
fDocHandler->endElement
(
- *topElem->fThisElement, uriId, isRoot, fPrefixBuf.getRawBuffer()
+ *topElem->fThisElement
+ , uriId
+ , isRoot
+ , topElem->fThisElement->getElementName()->getPrefix()
);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]