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