knoaman 2004/09/29 13:58:10
Modified: c/src/xercesc/validators/schema GeneralAttributeCheck.cpp
SchemaInfo.cpp SchemaInfo.hpp
Log:
[Bug 1209] Problem with id usage across schema
http://issues.apache.org/jira/browse/XERCESC-1209
Revision Changes Path
1.23 +4 -0
xml-xerces/c/src/xercesc/validators/schema/GeneralAttributeCheck.cpp
Index: GeneralAttributeCheck.cpp
===================================================================
RCS file:
/home/cvs/xml-xerces/c/src/xercesc/validators/schema/GeneralAttributeCheck.cpp,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- GeneralAttributeCheck.cpp 8 Sep 2004 13:56:56 -0000 1.22
+++ GeneralAttributeCheck.cpp 29 Sep 2004 20:58:10 -0000 1.23
@@ -16,6 +16,10 @@
/*
* $Log$
+ * Revision 1.23 2004/09/29 20:58:10 knoaman
+ * [Bug 1209] Problem with id usage across schema
+ * http://issues.apache.org/jira/browse/XERCESC-1209
+ *
* Revision 1.22 2004/09/08 13:56:56 peiyongz
* Apache License Version 2.0
*
@@ -470,6 +474,7 @@
bool isInvalid = false;
DatatypeValidator* dv = 0;
+ fValidationContext = schema->fSchemaInfo->getValidationContext();
switch (dvIndex) {
case DV_Form:
if (!XMLString::equals(attValue, SchemaSymbols::fgATTVAL_QUALIFIED)
1.13 +9 -0 xml-xerces/c/src/xercesc/validators/schema/SchemaInfo.cpp
Index: SchemaInfo.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/SchemaInfo.cpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- SchemaInfo.cpp 8 Sep 2004 13:56:56 -0000 1.12
+++ SchemaInfo.cpp 29 Sep 2004 20:58:10 -0000 1.13
@@ -16,6 +16,10 @@
/*
* $Log$
+ * Revision 1.13 2004/09/29 20:58:10 knoaman
+ * [Bug 1209] Problem with id usage across schema
+ * http://issues.apache.org/jira/browse/XERCESC-1209
+ *
* Revision 1.12 2004/09/08 13:56:56 peiyongz
* Apache License Version 2.0
*
@@ -80,6 +84,7 @@
#include <xercesc/validators/schema/XUtil.hpp>
#include <xercesc/validators/schema/SchemaSymbols.hpp>
#include <xercesc/util/XMLString.hpp>
+#include <xercesc/internal/ValidationContextImpl.hpp>
XERCES_CPP_NAMESPACE_BEGIN
@@ -115,12 +120,14 @@
, fRecursingAnonTypes(0)
, fRecursingTypeNames(0)
, fNonXSAttList(0)
+ , fValidationContext(0)
, fMemoryManager(manager)
{
fImportingInfoList = new (fMemoryManager) RefVectorOf<SchemaInfo>(4, false,
fMemoryManager);
for (unsigned int i = 0; i < C_Count; i++)
fTopLevelComponents[i] = 0;
fNonXSAttList = new (fMemoryManager) ValueVectorOf<DOMNode*>(2, fMemoryManager);
+ fValidationContext = new (fMemoryManager) ValidationContextImpl(fMemoryManager);
}
@@ -156,6 +163,9 @@
delete fNonXSAttList;
fNonXSAttList = 0;
+
+ delete fValidationContext;
+ fValidationContext = 0;
}
// ---------------------------------------------------------------------------
1.18 +15 -2 xml-xerces/c/src/xercesc/validators/schema/SchemaInfo.hpp
Index: SchemaInfo.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/SchemaInfo.hpp,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- SchemaInfo.hpp 8 Sep 2004 13:56:57 -0000 1.17
+++ SchemaInfo.hpp 29 Sep 2004 20:58:10 -0000 1.18
@@ -43,6 +43,12 @@
XERCES_CPP_NAMESPACE_BEGIN
+// ---------------------------------------------------------------------------
+// Forward Declarations
+// ---------------------------------------------------------------------------
+class ValidationContext;
+
+
class VALIDATORS_EXPORT SchemaInfo : public XMemory
{
public:
@@ -97,7 +103,8 @@
BaseRefVectorEnumerator<SchemaInfo> getImportingListEnumerator() const;
ValueVectorOf<const DOMElement*>* getRecursingAnonTypes() const;
ValueVectorOf<const XMLCh*>* getRecursingTypeNames() const;
- ValueVectorOf<DOMNode*>* getNonXSAttList() const;
+ ValueVectorOf<DOMNode*>* getNonXSAttList() const;
+ ValidationContext* getValidationContext() const;
// -----------------------------------------------------------------------
// Setter methods
@@ -164,6 +171,7 @@
ValueVectorOf<const XMLCh*>* fRecursingTypeNames;
ValueVectorOf<DOMElement*>* fTopLevelComponents[C_Count];
ValueVectorOf<DOMNode*>* fNonXSAttList;
+ ValidationContext* fValidationContext;
MemoryManager* fMemoryManager;
};
@@ -337,6 +345,11 @@
}
return currInfo;
+}
+
+inline ValidationContext* SchemaInfo::getValidationContext() const {
+
+ return fValidationContext;
}
inline bool SchemaInfo::containsInfo(const SchemaInfo* const toCheck,
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]