You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by am...@apache.org on 2005/08/11 23:00:18 UTC
svn commit: r231517 - in /xerces/c/trunk/src/xercesc:
internal/DGXMLScanner.cpp internal/IGXMLScanner2.cpp internal/ReaderMgr.cpp
internal/SGXMLScanner.cpp internal/XMLScanner.cpp
util/XMLResourceIdentifier.hpp validators/schema/TraverseSchema.cpp
Author: amassari
Date: Thu Aug 11 13:59:30 2005
New Revision: 231517
URL: http://svn.apache.org/viewcvs?rev=231517&view=rev
Log:
Added a Locator object to the XMLResourceIdentifier so that resolveEntity can know who is calling it
Modified:
xerces/c/trunk/src/xercesc/internal/DGXMLScanner.cpp
xerces/c/trunk/src/xercesc/internal/IGXMLScanner2.cpp
xerces/c/trunk/src/xercesc/internal/ReaderMgr.cpp
xerces/c/trunk/src/xercesc/internal/SGXMLScanner.cpp
xerces/c/trunk/src/xercesc/internal/XMLScanner.cpp
xerces/c/trunk/src/xercesc/util/XMLResourceIdentifier.hpp
xerces/c/trunk/src/xercesc/validators/schema/TraverseSchema.cpp
Modified: xerces/c/trunk/src/xercesc/internal/DGXMLScanner.cpp
URL: http://svn.apache.org/viewcvs/xerces/c/trunk/src/xercesc/internal/DGXMLScanner.cpp?rev=231517&r1=231516&r2=231517&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/internal/DGXMLScanner.cpp (original)
+++ xerces/c/trunk/src/xercesc/internal/DGXMLScanner.cpp Thu Aug 11 13:59:30 2005
@@ -2384,7 +2384,8 @@
ReaderMgr::LastExtEntityInfo lastInfo;
fReaderMgr.getLastExtEntityInfo(lastInfo);
XMLResourceIdentifier resourceIdentifier(XMLResourceIdentifier::ExternalEntity,
- expSysId.getRawBuffer(), 0, pubId, lastInfo.systemId);
+ expSysId.getRawBuffer(), 0, pubId, lastInfo.systemId,
+ &fReaderMgr);
srcToFill = fEntityHandler->resolveEntity(&resourceIdentifier);
}
else
Modified: xerces/c/trunk/src/xercesc/internal/IGXMLScanner2.cpp
URL: http://svn.apache.org/viewcvs/xerces/c/trunk/src/xercesc/internal/IGXMLScanner2.cpp?rev=231517&r1=231516&r2=231517&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/internal/IGXMLScanner2.cpp (original)
+++ xerces/c/trunk/src/xercesc/internal/IGXMLScanner2.cpp Thu Aug 11 13:59:30 2005
@@ -1698,7 +1698,8 @@
ReaderMgr::LastExtEntityInfo lastInfo;
fReaderMgr.getLastExtEntityInfo(lastInfo);
XMLResourceIdentifier resourceIdentifier(XMLResourceIdentifier::SchemaGrammar,
- expSysId.getRawBuffer(), uri, XMLUni::fgZeroLenString, lastInfo.systemId);
+ expSysId.getRawBuffer(), uri, XMLUni::fgZeroLenString, lastInfo.systemId,
+ &fReaderMgr);
srcToFill = fEntityHandler->resolveEntity(&resourceIdentifier);
}
else
@@ -1884,7 +1885,8 @@
ReaderMgr::LastExtEntityInfo lastInfo;
fReaderMgr.getLastExtEntityInfo(lastInfo);
XMLResourceIdentifier resourceIdentifier(XMLResourceIdentifier::ExternalEntity,
- expSysId.getRawBuffer(), 0, pubId, lastInfo.systemId);
+ expSysId.getRawBuffer(), 0, pubId, lastInfo.systemId,
+ &fReaderMgr);
srcToFill = fEntityHandler->resolveEntity(&resourceIdentifier);
}
else
Modified: xerces/c/trunk/src/xercesc/internal/ReaderMgr.cpp
URL: http://svn.apache.org/viewcvs/xerces/c/trunk/src/xercesc/internal/ReaderMgr.cpp?rev=231517&r1=231516&r2=231517&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/internal/ReaderMgr.cpp (original)
+++ xerces/c/trunk/src/xercesc/internal/ReaderMgr.cpp Thu Aug 11 13:59:30 2005
@@ -494,7 +494,8 @@
LastExtEntityInfo lastInfo;
getLastExtEntityInfo(lastInfo);
XMLResourceIdentifier resourceIdentifier(XMLResourceIdentifier::ExternalEntity,
- expSysId.getRawBuffer(), XMLUni::fgZeroLenString, pubId, lastInfo.systemId);
+ expSysId.getRawBuffer(), XMLUni::fgZeroLenString, pubId, lastInfo.systemId,
+ this);
srcToFill = fEntityHandler->resolveEntity(&resourceIdentifier);
}
@@ -643,7 +644,8 @@
if (fEntityHandler)
{
XMLResourceIdentifier resourceIdentifier(XMLResourceIdentifier::ExternalEntity,
- expSysId.getRawBuffer(), XMLUni::fgZeroLenString, pubId, baseURI);
+ expSysId.getRawBuffer(), XMLUni::fgZeroLenString, pubId, baseURI,
+ this);
srcToFill = fEntityHandler->resolveEntity(&resourceIdentifier);
}
Modified: xerces/c/trunk/src/xercesc/internal/SGXMLScanner.cpp
URL: http://svn.apache.org/viewcvs/xerces/c/trunk/src/xercesc/internal/SGXMLScanner.cpp?rev=231517&r1=231516&r2=231517&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/internal/SGXMLScanner.cpp (original)
+++ xerces/c/trunk/src/xercesc/internal/SGXMLScanner.cpp Thu Aug 11 13:59:30 2005
@@ -3540,7 +3540,8 @@
ReaderMgr::LastExtEntityInfo lastInfo;
fReaderMgr.getLastExtEntityInfo(lastInfo);
XMLResourceIdentifier resourceIdentifier(XMLResourceIdentifier::SchemaGrammar,
- expSysId.getRawBuffer(), uri, XMLUni::fgZeroLenString, lastInfo.systemId);
+ expSysId.getRawBuffer(), uri, XMLUni::fgZeroLenString, lastInfo.systemId,
+ &fReaderMgr);
srcToFill = fEntityHandler->resolveEntity(&resourceIdentifier);
}
else
@@ -3705,7 +3706,8 @@
ReaderMgr::LastExtEntityInfo lastInfo;
fReaderMgr.getLastExtEntityInfo(lastInfo);
XMLResourceIdentifier resourceIdentifier(XMLResourceIdentifier::ExternalEntity,
- expSysId.getRawBuffer(), 0, pubId, lastInfo.systemId);
+ expSysId.getRawBuffer(), 0, pubId, lastInfo.systemId,
+ &fReaderMgr);
srcToFill = fEntityHandler->resolveEntity(&resourceIdentifier);
}
else
Modified: xerces/c/trunk/src/xercesc/internal/XMLScanner.cpp
URL: http://svn.apache.org/viewcvs/xerces/c/trunk/src/xercesc/internal/XMLScanner.cpp?rev=231517&r1=231516&r2=231517&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/internal/XMLScanner.cpp (original)
+++ xerces/c/trunk/src/xercesc/internal/XMLScanner.cpp Thu Aug 11 13:59:30 2005
@@ -1658,7 +1658,8 @@
ReaderMgr::LastExtEntityInfo lastInfo;
fReaderMgr.getLastExtEntityInfo(lastInfo);
XMLResourceIdentifier resourceIdentifier(XMLResourceIdentifier::ExternalEntity,
- systemId, 0, XMLUni::fgZeroLenString, lastInfo.systemId);
+ systemId, 0, XMLUni::fgZeroLenString, lastInfo.systemId,
+ &fReaderMgr);
srcToUse = fEntityHandler->resolveEntity(&resourceIdentifier);
}
Modified: xerces/c/trunk/src/xercesc/util/XMLResourceIdentifier.hpp
URL: http://svn.apache.org/viewcvs/xerces/c/trunk/src/xercesc/util/XMLResourceIdentifier.hpp?rev=231517&r1=231516&r2=231517&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/util/XMLResourceIdentifier.hpp (original)
+++ xerces/c/trunk/src/xercesc/util/XMLResourceIdentifier.hpp Thu Aug 11 13:59:30 2005
@@ -23,6 +23,8 @@
XERCES_CPP_NAMESPACE_BEGIN
+class Locator;
+
/**
* <p>This class is used along with XMLEntityResolver to resolve entities.
* Instead of passing publicId and systemId on the resolveEntity call,
@@ -93,7 +95,7 @@
{
public:
- /** @name Public Contants */
+ /** @name Public Constants */
//@{
enum ResourceIdentifierType {
SchemaGrammar = 0,
@@ -113,7 +115,8 @@
, const XMLCh* const systemId
, const XMLCh* const nameSpace = 0
, const XMLCh* const publicId = 0
- , const XMLCh* const baseURI = 0);
+ , const XMLCh* const baseURI = 0
+ , const Locator* locator = 0);
/** Destructor */
~XMLResourceIdentifier()
@@ -133,7 +136,7 @@
const XMLCh* getSchemaLocation() const;
const XMLCh* getBaseURI() const;
const XMLCh* getNameSpace() const;
-
+ const Locator* getLocator() const;
//@}
private :
@@ -143,7 +146,7 @@
const XMLCh* fSystemId;
const XMLCh* fBaseURI;
const XMLCh* fNameSpace;
-
+ const Locator* fLocator;
/* Unimplemented constructors and operators */
@@ -185,16 +188,23 @@
return fNameSpace;
}
+inline const Locator* XMLResourceIdentifier::getLocator() const
+{
+ return fLocator;
+}
+
inline XMLResourceIdentifier::XMLResourceIdentifier(const ResourceIdentifierType resourceIdentifierType
, const XMLCh* const systemId
, const XMLCh* const nameSpace
, const XMLCh* const publicId
- , const XMLCh* const baseURI )
+ , const XMLCh* const baseURI
+ , const Locator* locator )
: fResourceIdentifierType(resourceIdentifierType)
, fPublicId(publicId)
, fSystemId(systemId)
, fBaseURI(baseURI)
, fNameSpace(nameSpace)
+ , fLocator(locator)
{
}
Modified: xerces/c/trunk/src/xercesc/validators/schema/TraverseSchema.cpp
URL: http://svn.apache.org/viewcvs/xerces/c/trunk/src/xercesc/validators/schema/TraverseSchema.cpp?rev=231517&r1=231516&r2=231517&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/validators/schema/TraverseSchema.cpp (original)
+++ xerces/c/trunk/src/xercesc/validators/schema/TraverseSchema.cpp Thu Aug 11 13:59:30 2005
@@ -586,6 +586,9 @@
// ------------------------------------------------------------------
// Resolve schema location
// ------------------------------------------------------------------
+ fLocator->setValues(fSchemaInfo->getCurrentSchemaURL(), 0,
+ ((XSDElementNSImpl*) elem)->getLineNo(),
+ ((XSDElementNSImpl*) elem)->getColumnNo());
InputSource* srcToFill = resolveSchemaLocation(schemaLocation,
XMLResourceIdentifier::SchemaInclude);
Janitor<InputSource> janSrc(srcToFill);
@@ -779,6 +782,9 @@
// ------------------------------------------------------------------
// Resolve schema location
// ------------------------------------------------------------------
+ fLocator->setValues(fSchemaInfo->getCurrentSchemaURL(), 0,
+ ((XSDElementNSImpl*) elem)->getLineNo(),
+ ((XSDElementNSImpl*) elem)->getColumnNo());
InputSource* srcToFill = resolveSchemaLocation(schemaLocation,
XMLResourceIdentifier::SchemaImport, nameSpace);
@@ -6628,7 +6634,7 @@
if (fEntityHandler){
XMLResourceIdentifier resourceIdentifier(resourceIdentitiferType,
- normalizedURI, nameSpace, 0, fSchemaInfo->getCurrentSchemaURL());
+ normalizedURI, nameSpace, 0, fSchemaInfo->getCurrentSchemaURL(), fLocator);
srcToFill = fEntityHandler->resolveEntity(&resourceIdentifier);
}
@@ -7863,6 +7869,9 @@
// ------------------------------------------------------------------
// Resolve schema location
// ------------------------------------------------------------------
+ fLocator->setValues(fSchemaInfo->getCurrentSchemaURL(), 0,
+ ((XSDElementNSImpl*) redefineElem)->getLineNo(),
+ ((XSDElementNSImpl*) redefineElem)->getColumnNo());
InputSource* srcToFill = resolveSchemaLocation(schemaLocation,
XMLResourceIdentifier::SchemaRedefine);
Janitor<InputSource> janSrc(srcToFill);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org