You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by kn...@apache.org on 2002/02/06 23:22:45 UTC
cvs commit: xml-xerces/c/src/xercesc/internal XMLScanner2.cpp
knoaman 02/02/06 14:22:45
Modified: c/src/xercesc/internal XMLScanner2.cpp
Log:
Use IDOM for schema processing.
Revision Changes Path
1.2 +19 -22 xml-xerces/c/src/xercesc/internal/XMLScanner2.cpp
Index: XMLScanner2.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/XMLScanner2.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- XMLScanner2.cpp 1 Feb 2002 22:22:04 -0000 1.1
+++ XMLScanner2.cpp 6 Feb 2002 22:22:45 -0000 1.2
@@ -55,7 +55,7 @@
*/
/*
- * $Id: XMLScanner2.cpp,v 1.1 2002/02/01 22:22:04 peiyongz Exp $
+ * $Id: XMLScanner2.cpp,v 1.2 2002/02/06 22:22:45 knoaman Exp $
*/
@@ -88,7 +88,7 @@
#include <xercesc/internal/XMLScanner.hpp>
#include <xercesc/internal/EndOfEntityException.hpp>
#include <xercesc/internal/XMLInternalErrorHandler.hpp>
-#include <xercesc/parsers/DOMParser.hpp>
+#include <xercesc/parsers/IDOMParser.hpp>
#include <xercesc/dom/DOM_DOMException.hpp>
#include <xercesc/sax/EntityResolver.hpp>
#include <xercesc/validators/common/ContentLeafNameTypeVector.hpp>
@@ -229,19 +229,16 @@
XMLAttDef* attDef = 0;
if (fGrammarType == Grammar::SchemaGrammarType) {
- ComplexTypeInfo* typeInfo = ((SchemaElementDecl*)elemDecl)->getComplexTypeInfo();
- if (typeInfo) {
- SchemaAttDef* attWildCard = typeInfo->getAttWildCard();
-
- if (attWildCard) {
- //if schema, see if we should lax or skip the validation of this attribute
- if (anyAttributeValidation(attWildCard, uriId, skipThisOne, laxThisOne)) {
- SchemaGrammar* sGrammar = (SchemaGrammar*) fGrammarResolver->getGrammar(getURIText(uriId));
- if (sGrammar && sGrammar->getGrammarType() == Grammar::SchemaGrammarType) {
- RefHashTableOf<XMLAttDef>* attRegistry = sGrammar->getAttributeDeclRegistry();
- if (attRegistry) {
- attDefForWildCard = attRegistry->get(suffPtr);
- }
+ SchemaAttDef* attWildCard = ((SchemaElementDecl*)elemDecl)->getAttWildCard();
+
+ if (attWildCard) {
+ //if schema, see if we should lax or skip the validation of this attribute
+ if (anyAttributeValidation(attWildCard, uriId, skipThisOne, laxThisOne)) {
+ SchemaGrammar* sGrammar = (SchemaGrammar*) fGrammarResolver->getGrammar(getURIText(uriId));
+ if (sGrammar && sGrammar->getGrammarType() == Grammar::SchemaGrammarType) {
+ RefHashTableOf<XMLAttDef>* attRegistry = sGrammar->getAttributeDeclRegistry();
+ if (attRegistry) {
+ attDefForWildCard = attRegistry->get(suffPtr);
}
}
}
@@ -1457,9 +1454,9 @@
Grammar* grammar = fGrammarResolver->getGrammar(uri);
if (!grammar || grammar->getGrammarType() == Grammar::DTDGrammarType) {
- DOMParser parser;
+ IDOMParser parser;
XMLInternalErrorHandler internalErrorHandler(fErrorHandler);
- parser.setValidationScheme(DOMParser::Val_Never);
+ parser.setValidationScheme(IDOMParser::Val_Never);
parser.setDoNamespaces(true);
parser.setErrorHandler((ErrorHandler*) &internalErrorHandler);
parser.setEntityResolver(fEntityResolver);
@@ -1542,14 +1539,14 @@
if (internalErrorHandler.getSawFatal() && fExitOnFirstFatal)
emitError(XMLErrs::SchemaScanFatalError);
- DOM_Document document = parser.getDocument(); //Our Grammar
+ IDOM_Document* document = parser.getDocument(); //Our Grammar
- if (!document.isNull()) {
+ if (document != 0) {
- DOM_Element root = document.getDocumentElement();// This is what we pass to TraverserSchema
- if (!root.isNull())
+ IDOM_Element* root = document->getDocumentElement();// This is what we pass to TraverserSchema
+ if (root != 0)
{
- const XMLCh* newUri = root.getAttribute(SchemaSymbols::fgATT_TARGETNAMESPACE).rawBuffer();
+ const XMLCh* newUri = root->getAttribute(SchemaSymbols::fgATT_TARGETNAMESPACE);
if (XMLString::compareString(newUri, uri)) {
if (fValidate)
fValidator->emitError(XMLValid::WrongTargetNamespace, loc, uri);
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org