You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by sa...@apache.org on 2001/11/13 23:30:13 UTC
cvs commit: xml-xerces/java/src/org/apache/xerces/impl/xs/traversers XSDElementTraverser.java XSDHandler.java
sandygao 01/11/13 14:30:13
Modified: java/src/org/apache/xerces/impl/xs XMLSchemaValidator.java
java/src/org/apache/xerces/impl/xs/traversers
XSDElementTraverser.java XSDHandler.java
Log:
Element traverser doesn't need access to substitution group handler.
Revision Changes Path
1.8 +6 -3 xml-xerces/java/src/org/apache/xerces/impl/xs/XMLSchemaValidator.java
Index: XMLSchemaValidator.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/XMLSchemaValidator.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- XMLSchemaValidator.java 2001/11/13 20:32:32 1.7
+++ XMLSchemaValidator.java 2001/11/13 22:30:12 1.8
@@ -118,7 +118,7 @@
* @author Eric Ye IBM
* @author Andy Clark IBM
* @author Jeffrey Rodriguez IBM
- * @version $Id: XMLSchemaValidator.java,v 1.7 2001/11/13 20:32:32 sandygao Exp $
+ * @version $Id: XMLSchemaValidator.java,v 1.8 2001/11/13 22:30:12 sandygao Exp $
*/
public class XMLSchemaValidator
implements XMLComponent, XMLDocumentFilter, FieldActivator {
@@ -833,7 +833,7 @@
fGrammarResolver = new XSGrammarResolver();
fSubGroupHandler = new SubstitutionGroupHandler(fGrammarResolver);
- fSchemaHandler = new XSDHandler(fGrammarResolver, fSubGroupHandler);
+ fSchemaHandler = new XSDHandler(fGrammarResolver);
} // <init>()
@@ -1153,7 +1153,10 @@
while (t.hasMoreTokens()) {
namespace = t.nextToken ();
if (!t.hasMoreTokens()) {
- // REVISIT: report error for wrong number of uris
+ // REVISIT: new error code
+ fErrorReporter.reportError(XSMessageFormatter.SCHEMA_DOMAIN,
+ "general", new Object[]{"No matching location hint for namespace '" + namespace + "' in attribute schemaLocation"},
+ XMLErrorReporter.SEVERITY_WARNING);
break;
}
location = t.nextToken();
1.5 +2 -7 xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDElementTraverser.java
Index: XSDElementTraverser.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDElementTraverser.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- XSDElementTraverser.java 2001/11/01 21:25:36 1.4
+++ XSDElementTraverser.java 2001/11/13 22:30:12 1.5
@@ -60,7 +60,6 @@
import org.apache.xerces.impl.dv.xs.*;
import org.apache.xerces.impl.XMLErrorReporter;
import org.apache.xerces.impl.xs.XSConstraints;
-import org.apache.xerces.impl.xs.SubstitutionGroupHandler;
import org.apache.xerces.impl.xs.SchemaGrammar;
import org.apache.xerces.impl.xs.SchemaSymbols;
import org.apache.xerces.impl.xs.XSElementDecl;
@@ -97,24 +96,20 @@
*
* @author Sandy Gao, IBM
*
- * @version $Id: XSDElementTraverser.java,v 1.4 2001/11/01 21:25:36 sandygao Exp $
+ * @version $Id: XSDElementTraverser.java,v 1.5 2001/11/13 22:30:12 sandygao Exp $
*/
class XSDElementTraverser extends XSDAbstractTraverser {
protected XSElementDecl fTempElementDecl = new XSElementDecl();
protected XSParticleDecl fTempParticleDecl = new XSParticleDecl();
- SubstitutionGroupHandler fSubGroupHandler;
-
// this controls what happens when a local element is encountered.
// We may not encounter all local elements when first parsing.
boolean fDeferTraversingLocalElements;
XSDElementTraverser (XSDHandler handler,
- XSAttributeChecker gAttrCheck,
- SubstitutionGroupHandler subGroupHandler) {
+ XSAttributeChecker gAttrCheck) {
super(handler, gAttrCheck);
- fSubGroupHandler = subGroupHandler;
}
/**
1.3 +7 -37 xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java
Index: XSDHandler.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- XSDHandler.java 2001/10/31 21:44:41 1.2
+++ XSDHandler.java 2001/11/13 22:30:12 1.3
@@ -58,7 +58,6 @@
package org.apache.xerces.impl.xs.traversers;
import org.apache.xerces.impl.dv.xs.*;
-import org.apache.xerces.impl.xs.SubstitutionGroupHandler;
import org.apache.xerces.impl.xs.XSGrammarResolver;
import org.apache.xerces.impl.xs.XSParticleDecl;
import org.apache.xerces.impl.xs.XSElementDecl;
@@ -107,7 +106,7 @@
* schema, other grammars may be constructed as a side-effect.
*
* @author Neil Graham, IBM
- * @version $Id: XSDHandler.java,v 1.2 2001/10/31 21:44:41 neilg Exp $
+ * @version $Id: XSDHandler.java,v 1.3 2001/11/13 22:30:12 sandygao Exp $
*/
public class XSDHandler {
@@ -204,9 +203,6 @@
// the XSAttributeChecker
private XSAttributeChecker fAttributeChecker;
- // the SubstitutionGroupHandler
- private SubstitutionGroupHandler fSubGroupHandler;
-
// the XMLEntityResolver
private XMLEntityResolver fEntityResolver;
@@ -264,9 +260,8 @@
// it should be possible to use the same XSDHandler to parse
// multiple schema documents; this will allow one to be
// constructed.
- public XSDHandler (XSGrammarResolver gResolver, SubstitutionGroupHandler subGroupHandler) {
+ public XSDHandler (XSGrammarResolver gResolver) {
fGrammarResolver = gResolver;
- fSubGroupHandler = subGroupHandler;
// REVISIT: do we use shadowed or synchronized symbol table of
// SchemaSymbols.fSymbolTable?
@@ -326,13 +321,12 @@
// fifth phase: handle Keyrefs
resolveKeyRefs();
- // sixth phase: handle derivation constraint checking
- // and UPA, and validate attribute of non-schema namespaces
+ // sixth phase: validate attribute of non-schema namespaces
// REVISIT: skip this for now. we reall don't want to do it.
//fAttributeChecker.checkNonSchemaAttributes(fGrammarResolver);
// and return.
- return fGrammarResolver.getGrammar(fRoot.fTargetNamespace);
+ return fGrammarResolver.getGrammar(schemaNamespace);
} // end parseSchema
// may wish to have setter methods for ErrorHandler,
@@ -885,7 +879,7 @@
}
if (nameToFind == null) return null;
int commaPos = nameToFind.indexOf(",");
- QName qNameToFind = new QName(EMPTY_STRING, nameToFind.substring(commaPos+1),
+ QName qNameToFind = new QName(EMPTY_STRING, nameToFind.substring(commaPos+1),
nameToFind.substring(commaPos), (commaPos == 0)? null : nameToFind.substring(0, commaPos));
Object retObj = getGlobalDecl(currSchema, type, qNameToFind);
if(retObj == null) {
@@ -899,7 +893,7 @@
}
return null;
}
- return retObj;
+ return retObj;
} // getGrpOrAttrGrpRedefinedByRestriction(int, QName, XSDocumentInfo): Object
// Since ID constraints can occur in local elements, unless we
@@ -1028,7 +1022,7 @@
fAttributeGroupTraverser = new XSDAttributeGroupTraverser(this, fAttributeChecker);
fAttributeTraverser = new XSDAttributeTraverser(this, fAttributeChecker);
fComplexTypeTraverser = new XSDComplexTypeTraverser(this, fAttributeChecker);
- fElementTraverser = new XSDElementTraverser(this, fAttributeChecker, fSubGroupHandler);
+ fElementTraverser = new XSDElementTraverser(this, fAttributeChecker);
fGroupTraverser = new XSDGroupTraverser(this, fAttributeChecker);
fKeyrefTraverser = new XSDKeyrefTraverser(this, fAttributeChecker);
fNotationTraverser = new XSDNotationTraverser(this, fAttributeChecker);
@@ -1518,28 +1512,4 @@
XMLErrorReporter.SEVERITY_ERROR);
}
- /******* only for testing! ******/
- public static void main (String args[]) throws Exception {
- DefaultHandler handler = new DefaultHandler();
- XSGrammarResolver xsg = new XSGrammarResolver();
- XSDHandler me = new XSDHandler(xsg, new SubstitutionGroupHandler(xsg));
- XMLErrorReporter rep = new XMLErrorReporter();
- rep.putMessageFormatter(XSMessageFormatter.SCHEMA_DOMAIN, new XSMessageFormatter());
- me.reset(rep, new EntityResolverWrapper(new org.apache.xerces.impl.xs.traversers.XSDHandler.DummyResolver()), new SymbolTable());
- me.parseSchema(args[0], args[1]);
- Enumeration types = me.fUnparsedTypeRegistry.keys();
- String name = null;
- while (types.hasMoreElements()) {
- name = (String)types.nextElement();
- }
- } // main
-
- public static class DummyResolver implements EntityResolver {
- public InputSource resolveEntity(String pubId, String sysId) throws SAXException, IOException {
- InputSource toReturn = new InputSource(sysId);
- toReturn.setPublicId(pubId);
- toReturn.setCharacterStream(new FileReader(sysId));
- return toReturn;
- }
- } // dummyResolver*/
} // XSDHandler
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org