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 2002/02/15 21:13:23 UTC

cvs commit: xml-xerces/java/src/org/apache/xerces/impl/xs/traversers XSAttributeChecker.java XSDAbstractIDConstraintTraverser.java XSDAbstractParticleTraverser.java XSDAbstractTraverser.java XSDAttributeGroupTraverser.java XSDAttributeTraverser.java XSDComplexTypeTraverser.java XSDElementTraverser.java XSDGroupTraverser.java XSDHandler.java XSDKeyrefTraverser.java XSDNotationTraverser.java XSDSimpleTypeTraverser.java XSDUniqueOrKeyTraverser.java XSDWildcardTraverser.java

sandygao    02/02/15 12:13:23

  Modified:    java/src/org/apache/xerces/impl/xs/traversers
                        XSAttributeChecker.java
                        XSDAbstractIDConstraintTraverser.java
                        XSDAbstractParticleTraverser.java
                        XSDAbstractTraverser.java
                        XSDAttributeGroupTraverser.java
                        XSDAttributeTraverser.java
                        XSDComplexTypeTraverser.java
                        XSDElementTraverser.java XSDGroupTraverser.java
                        XSDHandler.java XSDKeyrefTraverser.java
                        XSDNotationTraverser.java
                        XSDSimpleTypeTraverser.java
                        XSDUniqueOrKeyTraverser.java
                        XSDWildcardTraverser.java
  Log:
  The infrastructure for report line/column numbers of schema errors.
  The next step is to use this infrastructure when reporting schema errors,
  that is, pass the Element node (where location information is stored) to
  reportSchemaError() method.
  
  Revision  Changes    Path
  1.9       +8 -12     xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSAttributeChecker.java
  
  Index: XSAttributeChecker.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSAttributeChecker.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- XSAttributeChecker.java	29 Jan 2002 01:15:16 -0000	1.8
  +++ XSAttributeChecker.java	15 Feb 2002 20:13:22 -0000	1.9
  @@ -72,7 +72,6 @@
   import org.apache.xerces.impl.xs.XSMessageFormatter;
   import org.apache.xerces.impl.xs.XSAttributeDecl;
   import org.apache.xerces.impl.xs.XSGrammarBucket;
  -import org.apache.xerces.impl.XMLErrorReporter;
   import org.apache.xerces.util.DOMUtil;
   import org.apache.xerces.util.SymbolTable;
   import org.apache.xerces.impl.xs.util.XInt;
  @@ -101,7 +100,7 @@
    * - use symbol table instead of many hashtables
    *
    * @author Sandy Gao, IBM
  - * @version $Id: XSAttributeChecker.java,v 1.8 2002/01/29 01:15:16 lehors Exp $
  + * @version $Id: XSAttributeChecker.java,v 1.9 2002/02/15 20:13:22 sandygao Exp $
    */
   
   public class XSAttributeChecker {
  @@ -969,9 +968,6 @@
       // used to resolver namespace prefixes
       protected XSDHandler fSchemaHandler = null;
   
  -    // used to store utility reference: error reproter. set via constructor.
  -    protected XMLErrorReporter fErrorReporter = null;
  -
       // used to store symbols.
       protected SymbolTable fSymbolTable = null;
   
  @@ -983,8 +979,7 @@
           fSchemaHandler = schemaHandler;
       }
   
  -    public void reset(XMLErrorReporter er, SymbolTable symbolTable) {
  -        fErrorReporter = er;
  +    public void reset(SymbolTable symbolTable) {
           fSymbolTable = symbolTable;
           fNonSchemaAttrs.clear();
       }
  @@ -1509,11 +1504,12 @@
           return retValue;
       }
   
  -    private void reportSchemaError(String key, Object args[]) {
  -        fErrorReporter.reportError(XSMessageFormatter.SCHEMA_DOMAIN,
  -                                   key,
  -                                   args,
  -                                   XMLErrorReporter.SEVERITY_ERROR);
  +    void reportSchemaError(String key, Object args[]) {
  +        fSchemaHandler.reportSchemaError(key, args);
  +    }
  +
  +    void reportSchemaError (String key, Object[] args, Element ele) {
  +        fSchemaHandler.reportSchemaError(key, args, ele);
       }
   
       // validate attriubtes from non-schema namespaces
  
  
  
  1.4       +1 -4      xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDAbstractIDConstraintTraverser.java
  
  Index: XSDAbstractIDConstraintTraverser.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDAbstractIDConstraintTraverser.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- XSDAbstractIDConstraintTraverser.java	29 Jan 2002 01:15:16 -0000	1.3
  +++ XSDAbstractIDConstraintTraverser.java	15 Feb 2002 20:13:22 -0000	1.4
  @@ -57,10 +57,7 @@
   
   package org.apache.xerces.impl.xs.traversers;
   
  -import  org.apache.xerces.impl.XMLErrorReporter;
  -import org.apache.xerces.impl.xs.SchemaGrammar;
   import org.apache.xerces.impl.xs.SchemaSymbols;
  -import org.apache.xerces.impl.xs.SchemaNamespaceSupport;
   
   import  org.apache.xerces.util.DOMUtil;
   import  org.w3c.dom.Element;
  @@ -72,7 +69,7 @@
    * traversers (the XSDUniqueTraverser, XSDKeyTraverser and
    * XSDKeyrefTraverser) rely upon.
    *
  - * @version $Id: XSDAbstractIDConstraintTraverser.java,v 1.3 2002/01/29 01:15:16 lehors Exp $
  + * @version $Id: XSDAbstractIDConstraintTraverser.java,v 1.4 2002/02/15 20:13:22 sandygao Exp $
    */
   class XSDAbstractIDConstraintTraverser extends XSDAbstractTraverser {
   
  
  
  
  1.4       +1 -2      xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDAbstractParticleTraverser.java
  
  Index: XSDAbstractParticleTraverser.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDAbstractParticleTraverser.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- XSDAbstractParticleTraverser.java	29 Jan 2002 01:15:16 -0000	1.3
  +++ XSDAbstractParticleTraverser.java	15 Feb 2002 20:13:22 -0000	1.4
  @@ -57,7 +57,6 @@
   
   package org.apache.xerces.impl.xs.traversers;
   
  -import org.apache.xerces.impl.XMLErrorReporter;
   import org.apache.xerces.impl.xs.SchemaGrammar;
   import org.apache.xerces.impl.xs.SchemaSymbols;
   import org.apache.xerces.impl.xs.XSParticleDecl;
  @@ -68,7 +67,7 @@
   /**
    * @author Elena Litani, IBM
    * @author Sandy Gao, IBM
  - * @version $Id: XSDAbstractParticleTraverser.java,v 1.3 2002/01/29 01:15:16 lehors Exp $
  + * @version $Id: XSDAbstractParticleTraverser.java,v 1.4 2002/02/15 20:13:22 sandygao Exp $
    */
   abstract class XSDAbstractParticleTraverser extends XSDAbstractTraverser {
   
  
  
  
  1.10      +11 -24    xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDAbstractTraverser.java
  
  Index: XSDAbstractTraverser.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDAbstractTraverser.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- XSDAbstractTraverser.java	29 Jan 2002 01:15:16 -0000	1.9
  +++ XSDAbstractTraverser.java	15 Feb 2002 20:13:22 -0000	1.10
  @@ -74,7 +74,6 @@
   import org.apache.xerces.impl.xs.XSTypeDecl;
   import org.apache.xerces.impl.xs.XSParticleDecl;
   import org.apache.xerces.xni.QName;
  -import org.apache.xerces.impl.XMLErrorReporter;
   import org.apache.xerces.util.SymbolTable;
   import org.apache.xerces.util.NamespaceSupport;
   import org.apache.xerces.impl.validation.ValidationState;
  @@ -93,7 +92,7 @@
    * @author Rahul Srivastava, Sun Microsystems Inc.
    * @author Neeraj Bajaj, Sun Microsystems Inc.
    *
  - * @version $Id: XSDAbstractTraverser.java,v 1.9 2002/01/29 01:15:16 lehors Exp $
  + * @version $Id: XSDAbstractTraverser.java,v 1.10 2002/02/15 20:13:22 sandygao Exp $
    */
   abstract class XSDAbstractTraverser {
   
  @@ -117,7 +116,6 @@
       protected XSDHandler            fSchemaHandler = null;
       protected SymbolTable           fSymbolTable = null;
       protected XSAttributeChecker    fAttrChecker = null;
  -    protected XMLErrorReporter      fErrorReporter = null;
   
       // used to validate default/fixed attribute values
       ValidationState fValidationState = new ValidationState();
  @@ -128,8 +126,7 @@
           fAttrChecker = attrChecker;
       }
   
  -    void reset(XMLErrorReporter errorReporter, SymbolTable symbolTable) {
  -        fErrorReporter = errorReporter;
  +    void reset(SymbolTable symbolTable) {
           fSymbolTable = symbolTable;
           fValidationState.setExtraChecking(false);
           fValidationState.setSymbolTable(symbolTable);
  @@ -199,10 +196,7 @@
               facet = DOMUtil.getLocalName(content);
               /*if (facet.equals(SchemaSymbols.ELT_ANNOTATION) || facet.equals(SchemaSymbols.ELT_SIMPLETYPE)) {
                   Object[] args = {simpleTypeName};
  -                fErrorReporter.reportError(XSMessageFormatter.SCHEMA_DOMAIN,
  -                                           "ListUnionRestrictionError",
  -                                           args,
  -                                           XMLErrorReporter.SEVERITY_ERROR);
  +                reportSchemaError("ListUnionRestrictionError", args);
               }*/
               if (facet.equals(SchemaSymbols.ELT_ENUMERATION)) {
                   attrs = fAttrChecker.checkAttributes(content, false, schemaDoc, hasQName);
  @@ -501,9 +495,11 @@
       }
   
       void reportSchemaError (String key, Object[] args) {
  -        fErrorReporter.reportError(XSMessageFormatter.SCHEMA_DOMAIN,
  -                                   key, args,
  -                                   XMLErrorReporter.SEVERITY_ERROR);
  +        fSchemaHandler.reportSchemaError(key, args);
  +    }
  +
  +    void reportSchemaError (String key, Object[] args, Element ele) {
  +        fSchemaHandler.reportSchemaError(key, args, ele);
       }
   
       /**
  @@ -541,10 +537,7 @@
           if (isGroupChild && (!defaultMin || !defaultMax)) {
               Object[] args = new Object[]{parent.getAttribute(SchemaSymbols.ATT_NAME),
                   particleName};
  -            fErrorReporter.reportError(XSMessageFormatter.SCHEMA_DOMAIN,
  -                                       "MinMaxOnGroupChild",
  -                                       args,
  -                                       XMLErrorReporter.SEVERITY_ERROR);
  +            reportSchemaError("MinMaxOnGroupChild", args);
               min = max = 1;
           }
   
  @@ -572,10 +565,7 @@
                       errorMsg = "BadMinMaxForGroupWithAll";
                   }
                   Object[] args = new Object [] {"minOccurs", Integer.toString(min)};
  -                fErrorReporter.reportError(XSMessageFormatter.SCHEMA_DOMAIN,
  -                                           errorMsg,
  -                                           args,
  -                                           XMLErrorReporter.SEVERITY_ERROR);
  +                reportSchemaError(errorMsg, args);
                   min = 1;
               }
   
  @@ -592,10 +582,7 @@
                   }
   
                   Object[] args = new Object [] {"maxOccurs", Integer.toString(max)};
  -                fErrorReporter.reportError(XSMessageFormatter.SCHEMA_DOMAIN,
  -                                           errorMsg,
  -                                           args,
  -                                           XMLErrorReporter.SEVERITY_ERROR);
  +                reportSchemaError(errorMsg, args);
                   max = 1;
               }
           }
  
  
  
  1.5       +1 -2      xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDAttributeGroupTraverser.java
  
  Index: XSDAttributeGroupTraverser.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDAttributeGroupTraverser.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XSDAttributeGroupTraverser.java	29 Jan 2002 01:15:16 -0000	1.4
  +++ XSDAttributeGroupTraverser.java	15 Feb 2002 20:13:22 -0000	1.5
  @@ -56,7 +56,6 @@
    */
   package org.apache.xerces.impl.xs.traversers;
   
  -import org.apache.xerces.impl.XMLErrorReporter;
   import org.apache.xerces.impl.xs.SchemaGrammar;
   import org.apache.xerces.impl.xs.SchemaSymbols;
   import org.apache.xerces.impl.xs.XSAttributeGroupDecl;
  @@ -78,7 +77,7 @@
    * @author Rahul Srivastava, Sun Microsystems Inc.
    * @author Sandy Gao, IBM
    *
  - * @version $Id: XSDAttributeGroupTraverser.java,v 1.4 2002/01/29 01:15:16 lehors Exp $
  + * @version $Id: XSDAttributeGroupTraverser.java,v 1.5 2002/02/15 20:13:22 sandygao Exp $
    */
   class XSDAttributeGroupTraverser extends XSDAbstractTraverser {
   
  
  
  
  1.10      +1 -2      xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDAttributeTraverser.java
  
  Index: XSDAttributeTraverser.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDAttributeTraverser.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- XSDAttributeTraverser.java	29 Jan 2002 01:15:16 -0000	1.9
  +++ XSDAttributeTraverser.java	15 Feb 2002 20:13:22 -0000	1.10
  @@ -69,7 +69,6 @@
   import org.apache.xerces.impl.xs.XSElementDecl;
   import org.apache.xerces.impl.xs.XSTypeDecl;
   import org.apache.xerces.xni.QName;
  -import org.apache.xerces.impl.XMLErrorReporter;
   import org.apache.xerces.util.DOMUtil;
   import org.apache.xerces.util.SymbolTable;
   import org.apache.xerces.impl.xs.util.XInt;
  @@ -94,7 +93,7 @@
    *
    * @author Sandy Gao, IBM
    * @author Neeraj Bajaj, Sun Microsystems, inc.
  - * @version $Id: XSDAttributeTraverser.java,v 1.9 2002/01/29 01:15:16 lehors Exp $
  + * @version $Id: XSDAttributeTraverser.java,v 1.10 2002/02/15 20:13:22 sandygao Exp $
    */
   class XSDAttributeTraverser extends XSDAbstractTraverser {
   
  
  
  
  1.11      +1 -2      xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDComplexTypeTraverser.java
  
  Index: XSDComplexTypeTraverser.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDComplexTypeTraverser.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- XSDComplexTypeTraverser.java	29 Jan 2002 01:15:16 -0000	1.10
  +++ XSDComplexTypeTraverser.java	15 Feb 2002 20:13:22 -0000	1.11
  @@ -60,7 +60,6 @@
   import org.apache.xerces.impl.dv.SchemaDVFactory;
   import org.apache.xerces.impl.dv.XSFacets;
   import org.apache.xerces.impl.dv.InvalidDatatypeFacetException;
  -import org.apache.xerces.impl.XMLErrorReporter;
   import org.apache.xerces.impl.xs.XSConstraints;
   import org.apache.xerces.impl.xs.SchemaGrammar;
   import org.apache.xerces.impl.xs.SchemaSymbols;
  @@ -92,7 +91,7 @@
    *            ((group | all | choice | sequence)?,
    *            ((attribute | attributeGroup)*, anyAttribute?))))
    * </complexType>
  - * @version $Id: XSDComplexTypeTraverser.java,v 1.10 2002/01/29 01:15:16 lehors Exp $
  + * @version $Id: XSDComplexTypeTraverser.java,v 1.11 2002/02/15 20:13:22 sandygao Exp $
    */
   
   class  XSDComplexTypeTraverser extends XSDAbstractParticleTraverser {
  
  
  
  1.12      +3 -4      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.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- XSDElementTraverser.java	29 Jan 2002 01:15:16 -0000	1.11
  +++ XSDElementTraverser.java	15 Feb 2002 20:13:22 -0000	1.12
  @@ -60,7 +60,6 @@
   import org.apache.xerces.impl.dv.XSSimpleType;
   import org.apache.xerces.impl.dv.ValidatedInfo;
   import org.apache.xerces.impl.validation.ValidationContext;
  -import org.apache.xerces.impl.XMLErrorReporter;
   import org.apache.xerces.impl.xs.XSConstraints;
   import org.apache.xerces.impl.xs.SchemaGrammar;
   import org.apache.xerces.impl.xs.SchemaSymbols;
  @@ -98,7 +97,7 @@
    *
    * @author Sandy Gao, IBM
    *
  - * @version $Id: XSDElementTraverser.java,v 1.11 2002/01/29 01:15:16 lehors Exp $
  + * @version $Id: XSDElementTraverser.java,v 1.12 2002/02/15 20:13:22 sandygao Exp $
    */
   class XSDElementTraverser extends XSDAbstractTraverser {
   
  @@ -457,8 +456,8 @@
           return element;
       }
   
  -    void reset(XMLErrorReporter reporter, SymbolTable symbolTable) {
  -        super.reset(reporter, symbolTable);
  +    void reset(SymbolTable symbolTable) {
  +        super.reset(symbolTable);
           fDeferTraversingLocalElements = true;
       } // reset()
   
  
  
  
  1.5       +3 -10     xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDGroupTraverser.java
  
  Index: XSDGroupTraverser.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDGroupTraverser.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XSDGroupTraverser.java	29 Jan 2002 01:15:16 -0000	1.4
  +++ XSDGroupTraverser.java	15 Feb 2002 20:13:22 -0000	1.5
  @@ -56,7 +56,6 @@
    */
   package org.apache.xerces.impl.xs.traversers;
   
  -import org.apache.xerces.impl.XMLErrorReporter;
   import org.apache.xerces.impl.xs.SchemaGrammar;
   import org.apache.xerces.impl.xs.SchemaSymbols;
   import org.apache.xerces.impl.xs.XSParticleDecl;
  @@ -78,7 +77,7 @@
    * @author Rahul Srivastava, Sun Microsystems Inc.
    * @author Elena Litani, IBM
    * @author Lisa Martin,  IBM
  - * @version $Id: XSDGroupTraverser.java,v 1.4 2002/01/29 01:15:16 lehors Exp $
  + * @version $Id: XSDGroupTraverser.java,v 1.5 2002/02/15 20:13:22 sandygao Exp $
    */
   class  XSDGroupTraverser extends XSDAbstractParticleTraverser {
   
  @@ -183,19 +182,13 @@
                   particle = traverseSequence(l_elmChild, schemaDoc, grammar, CHILD_OF_GROUP);
               } else {
                   Object[] args = new Object [] { "group", childName};
  -                fErrorReporter.reportError(XSMessageFormatter.SCHEMA_DOMAIN,
  -                                           "GroupContentRestricted",
  -                                           args,
  -                                           XMLErrorReporter.SEVERITY_ERROR);
  +                reportSchemaError("GroupContentRestricted", args);
               }
   
               if (l_elmChild != null &&
                   DOMUtil.getNextSiblingElement(l_elmChild) != null) {
                   Object[] args = new Object [] { "group", childName};
  -                fErrorReporter.reportError(XSMessageFormatter.SCHEMA_DOMAIN,
  -                                           "GroupContentRestricted",
  -                                           args,
  -                                           XMLErrorReporter.SEVERITY_ERROR);
  +                reportSchemaError("GroupContentRestricted", args);
               }
   
               // add global group declaration to the grammar
  
  
  
  1.24      +164 -90   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.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- XSDHandler.java	9 Feb 2002 20:55:21 -0000	1.23
  +++ XSDHandler.java	15 Feb 2002 20:13:22 -0000	1.24
  @@ -72,7 +72,6 @@
   import org.apache.xerces.impl.Constants;
   import org.apache.xerces.impl.XMLErrorReporter;
   import org.apache.xerces.impl.XMLEntityManager;
  -import org.apache.xerces.parsers.DOMParser;
   import org.apache.xerces.xni.QName;
   import org.apache.xerces.xni.XMLResourceIdentifier;
   import org.apache.xerces.xni.parser.XMLConfigurationException;
  @@ -82,9 +81,11 @@
   import org.apache.xerces.util.SymbolTable;
   import org.apache.xerces.util.SymbolHash;
   import org.apache.xerces.util.DOMUtil;
  +import org.apache.xerces.xni.XMLLocator;
   
  +import org.apache.xerces.impl.xs.dom.DOMParser;
  +import org.apache.xerces.impl.xs.dom.ElementNSImpl;
   import org.w3c.dom.Document;
  -import org.apache.xerces.dom.DocumentImpl;
   import org.w3c.dom.Attr;
   import org.w3c.dom.Element;
   
  @@ -111,7 +112,7 @@
    * schema, other grammars may be constructed as a side-effect.
    *
    * @author Neil Graham, IBM
  - * @version $Id: XSDHandler.java,v 1.23 2002/02/09 20:55:21 neilg Exp $
  + * @version $Id: XSDHandler.java,v 1.24 2002/02/15 20:13:22 sandygao Exp $
    */
   
   public class XSDHandler {
  @@ -335,21 +336,10 @@
       public XSDHandler (XSGrammarBucket gBucket) {
           fGrammarBucket = gBucket;
   
  -        // REVISIT: do we use shadowed or synchronized symbol table of
  -        //          SchemaSymbols.fSymbolTable?
           // REVISIT: don't use SchemaConfiguration internally
           //          we will get stack overflaw because
           //          XMLSchemaValidator will be instantiating XSDHandler...
  -        fSchemaParser = new DOMParser(new StandardParserConfiguration(new SchemaSymbols.SchemaSymbolTable()));
  -        // set ErrorHandler and EntityResolver (doesn't seem that
  -        // XMLErrorHandler or XMLEntityResolver will work with
  -        // standard DOMParser...
  -        //REVISIT: disable deferred dom expansion. there are bugs.
  -        try {
  -            fSchemaParser.setFeature("http://apache.org/xml/features/dom/defer-node-expansion", false);
  -        }
  -        catch (Exception e) {
  -        }
  +        fSchemaParser = new DOMParser();
   
           createTraversers();
       } // end constructor
  @@ -367,16 +357,18 @@
               schemaSource = fLocationResolver.resolveEntity(schemaNamespace, schemaHint, null, true);
           }
           catch (IOException ex) {
  -            reportSchemaError(DOC_ERROR_CODES[referType], new Object[]{schemaHint});
  +            reportSchemaError(DOC_ERROR_CODES[referType], new Object[]{schemaHint}, null);
           }
  -        return parseSchema(schemaNamespace, schemaSource, XSDDescription.CONTEXT_INSTANCE);
  +        return parseSchema(schemaNamespace, schemaSource, referType);
       } // end parseSchema
   
       public SchemaGrammar parseSchema(String schemaNamespace,
                                        XMLInputSource is, short referType) {
           
           // first phase:  construct trees.
  -        Document schemaRoot = getSchema(schemaNamespace, is, true, referType);
  +        Document schemaRoot = getSchema(schemaNamespace, is,
  +                                        referType == XSDDescription.CONTEXT_PREPARSE,
  +                                        referType, null);
           if (schemaRoot == null) {
               // something went wrong right off the hop
               return null;
  @@ -446,16 +438,17 @@
           try {
               currSchemaInfo = new XSDocumentInfo(schemaRoot, fAttributeChecker, fSymbolTable);
           } catch (XMLSchemaException se) {
  -            reportSchemaError(ELE_ERROR_CODES[referType], new Object[]{locationHint});
  +            reportSchemaError(ELE_ERROR_CODES[referType],
  +                              new Object[]{locationHint},
  +                              DOMUtil.getRoot(schemaRoot));
               return null;
           }
           // targetNamespace="" is not valid, issue a warning, and ignore it
           if (currSchemaInfo.fTargetNamespace != null &&
               currSchemaInfo.fTargetNamespace.length() == 0) {
  -            fErrorReporter.reportError(XSMessageFormatter.SCHEMA_DOMAIN,
  -                                       "EmptyTargetNamespace",
  -                                       new Object[]{locationHint},
  -                                       XMLErrorReporter.SEVERITY_WARNING);
  +            reportSchemaWarning("EmptyTargetNamespace",
  +                                new Object[]{locationHint},
  +                                DOMUtil.getRoot(schemaRoot));
               currSchemaInfo.fTargetNamespace = null;
           }
   
  @@ -476,14 +469,16 @@
                   // from the caller, it's an error
                   else if (callerTNS != currSchemaInfo.fTargetNamespace) {
                       reportSchemaError(NS_ERROR_CODES[referType][secondIdx],
  -                                      new Object [] {callerTNS, currSchemaInfo.fTargetNamespace});
  +                                      new Object [] {callerTNS, currSchemaInfo.fTargetNamespace},
  +                                      DOMUtil.getRoot(schemaRoot));
                   }
               }
               // for preparse, callerTNS is null, so it's not possible
               // for instance and import, the two NS's must be the same
               else if (callerTNS != currSchemaInfo.fTargetNamespace) {
                   reportSchemaError(NS_ERROR_CODES[referType][secondIdx],
  -                                  new Object [] {callerTNS, currSchemaInfo.fTargetNamespace});
  +                                  new Object [] {callerTNS, currSchemaInfo.fTargetNamespace},
  +                                  DOMUtil.getRoot(schemaRoot));
               }
           }
           // now there is no caller/expected NS, it's an error for the referred
  @@ -494,7 +489,8 @@
               // if the caller/expected NS is absent, we use the second column
               int secondIdx = 1;
               reportSchemaError(NS_ERROR_CODES[referType][secondIdx],
  -                              new Object [] {callerTNS, currSchemaInfo.fTargetNamespace});
  +                              new Object [] {callerTNS, currSchemaInfo.fTargetNamespace},
  +                              DOMUtil.getRoot(schemaRoot));
           }
           // the other cases (callerTNS == currSchemaInfo.fTargetNamespce == null)
           // are valid
  @@ -544,7 +540,7 @@
                   if (schemaNamespace != null)
                       schemaNamespace = fSymbolTable.addSymbol(schemaNamespace);
                   if (schemaNamespace == currSchemaInfo.fTargetNamespace) {
  -                    reportSchemaError("src-import.1.1", new Object [] {schemaNamespace});
  +                    reportSchemaError("src-import.1.1", new Object [] {schemaNamespace}, child);
                   }
                   fAttributeChecker.returnAttrArray(includeAttrs, currSchemaInfo);
                   // a schema document can access it's imported namespaces
  @@ -559,7 +555,7 @@
                   // reworked - NG
                   // i.e., we need to create an XSDDescription, ask Grammar
                   // bucket, ask GrammarPool, then pass that along...
  -                newSchemaRoot = getSchema(schemaNamespace, schemaHint, (String)fDoc2SystemId.get(schemaRoot), false, XSDDescription.CONTEXT_IMPORT);
  +                newSchemaRoot = getSchema(schemaNamespace, schemaHint, (String)fDoc2SystemId.get(schemaRoot), false, XSDDescription.CONTEXT_IMPORT, child);
               }
               else if ((localName.equals(SchemaSymbols.ELT_INCLUDE)) ||
                        (localName.equals(SchemaSymbols.ELT_REDEFINE))) {
  @@ -572,7 +568,8 @@
                   // schemaLocation is required on <include> and <redefine>
                   if (schemaHint == null)
                       reportSchemaError("s4s-att-must-appear", new Object [] {
  -                                      "<include> or <redefine>", "schemaLocation"});
  +                                      "<include> or <redefine>", "schemaLocation"},
  +                                      child);
                   // pass the systemId of the current document as the base systemId
                   boolean mustResolve = false;
                   refType = XSDDescription.CONTEXT_INCLUDE;
  @@ -580,7 +577,7 @@
                       mustResolve = nonAnnotationContent(child);
                       refType = XSDDescription.CONTEXT_REDEFINE;
                   }
  -                newSchemaRoot = getSchema(null, schemaHint, (String)fDoc2SystemId.get(schemaRoot), mustResolve, refType);
  +                newSchemaRoot = getSchema(null, schemaHint, (String)fDoc2SystemId.get(schemaRoot), mustResolve, refType, child);
                   schemaNamespace = currSchemaInfo.fTargetNamespace;
               }
               else {
  @@ -662,14 +659,14 @@
                   else if (DOMUtil.getLocalName(globalComp).equals(SchemaSymbols.ELT_INCLUDE) ||
                            DOMUtil.getLocalName(globalComp).equals(SchemaSymbols.ELT_IMPORT)) {
                       if (!dependenciesCanOccur) {
  -                        reportSchemaError("sch-props-correct.1", new Object [] {DOMUtil.getLocalName(globalComp)});
  +                        reportSchemaError("sch-props-correct.1", new Object [] {DOMUtil.getLocalName(globalComp)}, globalComp);
                       }
                       // we've dealt with this; mark as traversed
                       DOMUtil.setHidden(globalComp);
                   }
                   else if (DOMUtil.getLocalName(globalComp).equals(SchemaSymbols.ELT_REDEFINE)) {
                       if (!dependenciesCanOccur) {
  -                        reportSchemaError("sch-props-correct.1", new Object [] {DOMUtil.getLocalName(globalComp)});
  +                        reportSchemaError("sch-props-correct.1", new Object [] {DOMUtil.getLocalName(globalComp)}, globalComp);
                       }
                       for (Element redefineComp = DOMUtil.getFirstChildElement(globalComp);
                           redefineComp != null;
  @@ -820,7 +817,7 @@
                               fElementTraverser.traverseAnnotationDecl(redefinedComp, null, true, currSchemaDoc);
                           }
                           else {
  -                            reportSchemaError("src-redefine", new Object [] {componentType});
  +                            reportSchemaError("src-redefine", new Object [] {componentType}, redefinedComp);
                           }
                       } // end march through <redefine> children
                   }
  @@ -851,7 +848,7 @@
                       fElementTraverser.traverseAnnotationDecl(globalComp, null, true, currSchemaDoc);
                   }
                   else {
  -                    reportSchemaError("sch-props-correct.1", new Object [] {DOMUtil.getLocalName(globalComp)});
  +                    reportSchemaError("sch-props-correct.1", new Object [] {DOMUtil.getLocalName(globalComp)}, globalComp);
                   }
               } // end for
   
  @@ -1166,7 +1163,8 @@
       // otherwise.  schemaDoc is null if and only if no schema document
       // was resolved to.
       private Document getSchema(String schemaNamespace, String schemaHint,
  -                               String baseSystemId, boolean mustResolve, short referType) {
  +                               String baseSystemId, boolean mustResolve,
  +                               short referType, Element referElement) {
           XMLInputSource schemaSource=null;
           try {
               schemaSource = fLocationResolver.resolveEntity(schemaNamespace, schemaHint, baseSystemId,
  @@ -1174,18 +1172,22 @@
                                                              referType == XSDDescription.CONTEXT_IMPORT);
           }
           catch (IOException ex) {
  -            fErrorReporter.reportError(XSMessageFormatter.SCHEMA_DOMAIN,
  -                                       DOC_ERROR_CODES[referType],
  -                                       new Object[]{schemaHint},
  -                                       mustResolve ?
  -                                       XMLErrorReporter.SEVERITY_ERROR: 
  -                                       XMLErrorReporter.SEVERITY_WARNING); 
  +            if (mustResolve) {
  +                reportSchemaError(DOC_ERROR_CODES[referType],
  +                                  new Object[]{schemaHint},
  +                                  referElement); 
  +            }
  +            else {
  +                reportSchemaWarning(DOC_ERROR_CODES[referType],
  +                                    new Object[]{schemaHint},
  +                                    referElement);
  +            }
           }
  -        return getSchema(schemaNamespace, schemaSource, mustResolve, referType);
  +        return getSchema(schemaNamespace, schemaSource, mustResolve, referType, referElement);
       } // getSchema(String, String, String, boolean, short):  Document
   
       private Document getSchema(String schemaNamespace, XMLInputSource schemaSource,
  -                               boolean mustResolve, short referType) {
  +                               boolean mustResolve, short referType, Element referElement) {
           // contents of this method will depend on the system we adopt for entity resolution--i.e., XMLEntityHandler, EntityHandler, etc.
           Document schemaDoc = null;
           try {
  @@ -1227,18 +1229,23 @@
                   fLastSchemaWasDuplicate = false;
                   return schemaDoc;
               }
  -
           }
           catch (IOException ex) {
  -            fErrorReporter.reportError(XSMessageFormatter.SCHEMA_DOMAIN,
  -                                       DOC_ERROR_CODES[referType],
  -                                       new Object[]{schemaSource.getSystemId()},
  -                                       mustResolve ?
  -                                       XMLErrorReporter.SEVERITY_ERROR: 
  -                                       XMLErrorReporter.SEVERITY_WARNING); 
  +        }
  +        
  +        // either an error occured (exception), or empty input source was
  +        // returned, we need to report an error or a warning
  +        if (mustResolve) {
  +            reportSchemaError(DOC_ERROR_CODES[referType],
  +                              new Object[]{schemaSource.getSystemId()},
  +                              referElement); 
  +        }
  +        else {
  +            reportSchemaWarning(DOC_ERROR_CODES[referType],
  +                                new Object[]{schemaSource.getSystemId()},
  +                                referElement); 
           }
   
  -        schemaDoc = null;
           fLastSchemaWasDuplicate = false;
           return null;
       } // getSchema(String, XMLInputSource, boolean, boolean): Document
  @@ -1316,17 +1323,17 @@
           fKeyrefNamespaceContext = new String[INIT_KEYREF_STACK][1];
   
           // reset traversers
  -        fAttributeChecker.reset(fErrorReporter, fSymbolTable);
  -        fAttributeGroupTraverser.reset(fErrorReporter, fSymbolTable);
  -        fAttributeTraverser.reset(fErrorReporter, fSymbolTable);
  -        fComplexTypeTraverser.reset(fErrorReporter, fSymbolTable);
  -        fElementTraverser.reset(fErrorReporter, fSymbolTable);
  -        fGroupTraverser.reset(fErrorReporter, fSymbolTable);
  -        fKeyrefTraverser.reset(fErrorReporter, fSymbolTable);
  -        fNotationTraverser.reset(fErrorReporter, fSymbolTable);
  -        fSimpleTypeTraverser.reset(fErrorReporter, fSymbolTable);
  -        fUniqueOrKeyTraverser.reset(fErrorReporter, fSymbolTable);
  -        fWildCardTraverser.reset(fErrorReporter, fSymbolTable);
  +        fAttributeChecker.reset(fSymbolTable);
  +        fAttributeGroupTraverser.reset(fSymbolTable);
  +        fAttributeTraverser.reset(fSymbolTable);
  +        fComplexTypeTraverser.reset(fSymbolTable);
  +        fElementTraverser.reset(fSymbolTable);
  +        fGroupTraverser.reset(fSymbolTable);
  +        fKeyrefTraverser.reset(fSymbolTable);
  +        fNotationTraverser.reset(fSymbolTable);
  +        fSimpleTypeTraverser.reset(fSymbolTable);
  +        fUniqueOrKeyTraverser.reset(fSymbolTable);
  +        fWildCardTraverser.reset(fSymbolTable);
   
           fRedefinedRestrictedAttributeGroupRegistry.clear();
           fRedefinedRestrictedGroupRegistry.clear();
  @@ -1379,11 +1386,9 @@
                       xis = entityResolver.resolveEntity(fResourceIdentifier);
                   } catch (IOException ex) {
                       short referType = XSDDescription.CONTEXT_PREPARSE;
  -                    fErrorReporter.reportError(
  -                        XSMessageFormatter.SCHEMA_DOMAIN,
  -                        DOC_ERROR_CODES[referType],
  -                        new Object[] { loc },
  -                        XMLErrorReporter.SEVERITY_ERROR);
  +                    reportSchemaError(DOC_ERROR_CODES[referType],
  +                                      new Object[] { loc },
  +                                      null);
                   }
                   if (xis == null) {
                       // REVISIT: can this happen?
  @@ -1404,11 +1409,9 @@
                   is = new BufferedInputStream(new FileInputStream(file));
               } catch (FileNotFoundException ex) {
                   short referType = XSDDescription.CONTEXT_PREPARSE;
  -                fErrorReporter.reportError(
  -                    XSMessageFormatter.SCHEMA_DOMAIN,
  -                    DOC_ERROR_CODES[referType],
  -                    new Object[] { file.toString() },
  -                    XMLErrorReporter.SEVERITY_ERROR);
  +                reportSchemaError(DOC_ERROR_CODES[referType],
  +                                  new Object[] { file.toString() },
  +                                  null);
               }
               return new XMLInputSource(null, null, null, is, null);
           }
  @@ -1542,12 +1545,12 @@
                       }
                       else {
                           // REVISIT:  error that redefined element in wrong schema
  -                        reportSchemaError("src-redefine.1", new Object [] {qName});
  +                        reportSchemaError("src-redefine.1", new Object [] {qName}, currComp);
                       }
                   }
               }
               else { // we've just got a flat-out collision
  -                reportSchemaError("sch-props-correct.2", new Object []{qName});
  +                reportSchemaError("sch-props-correct.2", new Object []{qName}, currComp);
               }
           }
       } // checkForDuplicateNames(String, Hashtable, Element, XSDocumentInfo):void
  @@ -1568,7 +1571,7 @@
                                          ","+oldName:currSchema.fTargetNamespace+","+oldName;
               Element grandKid = DOMUtil.getFirstChildElement(child);
               if (grandKid == null) {
  -                reportSchemaError("src-redefine.5", null);
  +                reportSchemaError("src-redefine.5", null, child);
               }
               else {
                   String grandKidName = grandKid.getLocalName();
  @@ -1577,16 +1580,16 @@
                       grandKidName = grandKid.getLocalName();
                   }
                   if (grandKid == null) {
  -                    reportSchemaError("src-redefine.5", null);
  +                    reportSchemaError("src-redefine.5", null, child);
                   }
                   else if (!grandKidName.equals(SchemaSymbols.ELT_RESTRICTION)) {
  -                    reportSchemaError("src-redefine.5", null);
  +                    reportSchemaError("src-redefine.5", null, child);
                   }
                   else {
                       String derivedBase = grandKid.getAttribute( SchemaSymbols.ATT_BASE );
                       String processedDerivedBase = findQName(derivedBase, currSchema);
                       if (!processedTypeName.equals(processedDerivedBase)) {
  -                        reportSchemaError("src-redefine.5", null);
  +                        reportSchemaError("src-redefine.5", null, child);
                       }
                       else {
                           // now we have to do the renaming...
  @@ -1606,20 +1609,20 @@
                                          ","+oldName:currSchema.fTargetNamespace+","+oldName;
               Element grandKid = DOMUtil.getFirstChildElement(child);
               if (grandKid == null) {
  -                reportSchemaError("src-redefine.5", null);
  +                reportSchemaError("src-redefine.5", null, child);
               }
               else {
                   if (grandKid.getLocalName().equals(SchemaSymbols.ELT_ANNOTATION)) {
                       grandKid = DOMUtil.getNextSiblingElement(grandKid);
                   }
                   if (grandKid == null) {
  -                    reportSchemaError("src-redefine.5", null);
  +                    reportSchemaError("src-redefine.5", null, child);
                   }
                   else {
                       // have to go one more level down; let another pass worry whether complexType is valid.
                       Element greatGrandKid = DOMUtil.getFirstChildElement(grandKid);
                       if (greatGrandKid == null) {
  -                        reportSchemaError("src-redefine.5", null);
  +                        reportSchemaError("src-redefine.5", null, grandKid);
                       }
                       else {
                           String greatGrandKidName = greatGrandKid.getLocalName();
  @@ -1628,17 +1631,17 @@
                               greatGrandKidName = greatGrandKid.getLocalName();
                           }
                           if (greatGrandKid == null) {
  -                            reportSchemaError("src-redefine.5", null);
  +                            reportSchemaError("src-redefine.5", null, grandKid);
                           }
                           else if (!greatGrandKidName.equals(SchemaSymbols.ELT_RESTRICTION) &&
                                    !greatGrandKidName.equals(SchemaSymbols.ELT_EXTENSION)) {
  -                            reportSchemaError("src-redefine.5", null);
  +                            reportSchemaError("src-redefine.5", null, greatGrandKid);
                           }
                           else {
                               String derivedBase = greatGrandKid.getAttribute( SchemaSymbols.ATT_BASE );
                               String processedDerivedBase = findQName(derivedBase, currSchema);
                               if (!processedTypeName.equals(processedDerivedBase)) {
  -                                reportSchemaError("src-redefine.5", null);
  +                                reportSchemaError("src-redefine.5", null, greatGrandKid);
                               }
                               else {
                                   // now we have to do the renaming...
  @@ -1661,7 +1664,7 @@
                                          ","+oldName:currSchema.fTargetNamespace+","+oldName;
               int attGroupRefsCount = changeRedefineGroup(processedBaseName, componentType, newName, child, currSchema);
               if (attGroupRefsCount > 1) {
  -                reportSchemaError("src-redefine.7.1", new Object []{new Integer(attGroupRefsCount)});
  +                reportSchemaError("src-redefine.7.1", new Object []{new Integer(attGroupRefsCount)}, child);
               }
               else if (attGroupRefsCount == 1) {
   //                return true;
  @@ -1677,7 +1680,7 @@
                                          ","+oldName:currSchema.fTargetNamespace+","+oldName;
               int groupRefsCount = changeRedefineGroup(processedBaseName, componentType, newName, child, currSchema);
               if (groupRefsCount > 1) {
  -                reportSchemaError("src-redefine.6.1.1", new Object []{new Integer(groupRefsCount)});
  +                reportSchemaError("src-redefine.6.1.1", new Object []{new Integer(groupRefsCount)}, child);
               }
               else if (groupRefsCount == 1) {
   //                return true;
  @@ -1690,7 +1693,7 @@
               }
           }
           else {
  -            reportSchemaError("Internal-Error", new Object [] {"could not handle this particular <redefine>; please submit your schemas and instance document in a bug report!"});
  +            reportSchemaError("Internal-Error", new Object [] {"could not handle this particular <redefine>; please submit your schemas and instance document in a bug report!"}, child);
           }
           // if we get here then we must have reported an error and failed somewhere...
   //        return false;
  @@ -1758,7 +1761,7 @@
                               String maxOccurs = child.getAttribute( SchemaSymbols.ATT_MAXOCCURS );
                               if (!((maxOccurs.length() == 0 || maxOccurs.equals("1"))
                                     && (minOccurs.length() == 0 || minOccurs.equals("1")))) {
  -                                reportSchemaError("src-redefine.6.1.2", new Object [] {ref});
  +                                reportSchemaError("src-redefine.6.1.2", new Object [] {ref}, child);
                               }
                           }
                       }
  @@ -1820,13 +1823,84 @@
           // if it's visible already than so must be its children
       } // setSchemasVisible(XSDocumentInfo): void
   
  -    // report schema error
  -    void reportSchemaError (String key, Object[] args) {
  +    // a locator used to convert a DOM element node to location information:
  +    // line/column number, system id, etc.
  +    private class MyLocator implements XMLLocator {
  +        int line, column;
  +        String pid, lsid, esid, bsid;
  +        
  +        void init(ElementNSImpl ele) {
  +            // line/column numbers are stored in the element node
  +            line = ele.getLineNumber();
  +            column = ele.getColumnNumber();
  +            // get system id from document object
  +            Document doc = ele.getOwnerDocument();
  +            lsid = esid = (String)fDoc2SystemId.get(doc);
  +        }
  +        
  +        public int getLineNumber() {
  +            return line;
  +        }
  +        
  +        public int getColumnNumber() {
  +            return column;
  +        }
  +
  +        public String getPublicId() {
  +            return pid;
  +        }
  +    
  +        public String getExpandedSystemId() {
  +            return esid;
  +        }
  +    
  +        public String getLiteralSystemId() {
  +            return lsid;
  +        }
  +    
  +        public String getBaseSystemId() {
  +            return bsid;
  +        }
  +    };
  +    private MyLocator xl = new MyLocator();
  +    
  +    // REVISIT: TOREMOVE: should remove this method after all invocations
  +    //                    have the extra ElementNSImpl parameter
  +    void reportSchemaError(String key, Object[] args) {
           fErrorReporter.reportError(XSMessageFormatter.SCHEMA_DOMAIN,
                                      key, args,
                                      XMLErrorReporter.SEVERITY_ERROR);
       }
   
  +    void reportSchemaError(String key, Object[] args, Element ele) {
  +        if (ele instanceof ElementNSImpl) {
  +            ElementNSImpl e = (ElementNSImpl)ele;
  +            xl.init(e);
  +            fErrorReporter.reportError(xl, XSMessageFormatter.SCHEMA_DOMAIN,
  +                                       key, args, XMLErrorReporter.SEVERITY_ERROR);
  +        }
  +        else {
  +            fErrorReporter.reportError(XSMessageFormatter.SCHEMA_DOMAIN,
  +                                       key, args, XMLErrorReporter.SEVERITY_ERROR);
  +        }
  +    }
  +
  +    void reportSchemaWarning(String key, Object[] args, Element ele) {
  +        if (ele instanceof ElementNSImpl) {
  +            ElementNSImpl e = (ElementNSImpl)ele;
  +            xl.init(e);
  +            fErrorReporter.reportError(xl, XSMessageFormatter.SCHEMA_DOMAIN,
  +                                       key, args, XMLErrorReporter.SEVERITY_WARNING);
  +        }
  +        else {
  +            fErrorReporter.reportError(XSMessageFormatter.SCHEMA_DOMAIN,
  +                                       key, args, XMLErrorReporter.SEVERITY_WARNING);
  +        }
  +    }
  +
  +    // used to identify a reference to a schema document
  +    // if the same document is referenced twice with the same key, then
  +    // we only need to parse it once.
       private class XSDKey {
           String systemId;
           short  referType;
  
  
  
  1.3       +1 -2      xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDKeyrefTraverser.java
  
  Index: XSDKeyrefTraverser.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDKeyrefTraverser.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- XSDKeyrefTraverser.java	29 Jan 2002 01:15:16 -0000	1.2
  +++ XSDKeyrefTraverser.java	15 Feb 2002 20:13:22 -0000	1.3
  @@ -57,7 +57,6 @@
   
   package org.apache.xerces.impl.xs.traversers;
   
  -import org.apache.xerces.impl.XMLErrorReporter;
   import org.apache.xerces.impl.xs.SchemaGrammar;
   import org.apache.xerces.impl.xs.SchemaSymbols;
   import org.apache.xerces.impl.xs.XSElementDecl;
  @@ -71,7 +70,7 @@
    * This class contains code that is used to traverse <keyref>s.
    *
    * @author Neil Graham, IBM
  - * @version $Id: XSDKeyrefTraverser.java,v 1.2 2002/01/29 01:15:16 lehors Exp $
  + * @version $Id: XSDKeyrefTraverser.java,v 1.3 2002/02/15 20:13:22 sandygao Exp $
    */
   class XSDKeyrefTraverser extends XSDAbstractIDConstraintTraverser {
   
  
  
  
  1.4       +1 -2      xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDNotationTraverser.java
  
  Index: XSDNotationTraverser.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDNotationTraverser.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- XSDNotationTraverser.java	29 Jan 2002 01:15:16 -0000	1.3
  +++ XSDNotationTraverser.java	15 Feb 2002 20:13:22 -0000	1.4
  @@ -57,7 +57,6 @@
   
   package org.apache.xerces.impl.xs.traversers;
   
  -import org.apache.xerces.impl.XMLErrorReporter;
   import org.apache.xerces.impl.xs.SchemaGrammar;
   import org.apache.xerces.impl.xs.SchemaSymbols;
   import org.apache.xerces.impl.xs.XSNotationDecl;
  @@ -79,7 +78,7 @@
    *
    * @author Rahul Srivastava, Sun Microsystems Inc.
    * @author Elena Litani, IBM
  - * @version $Id: XSDNotationTraverser.java,v 1.3 2002/01/29 01:15:16 lehors Exp $
  + * @version $Id: XSDNotationTraverser.java,v 1.4 2002/02/15 20:13:22 sandygao Exp $
    */
   class  XSDNotationTraverser extends XSDAbstractTraverser {
   
  
  
  
  1.11      +1 -2      xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDSimpleTypeTraverser.java
  
  Index: XSDSimpleTypeTraverser.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDSimpleTypeTraverser.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- XSDSimpleTypeTraverser.java	29 Jan 2002 01:15:16 -0000	1.10
  +++ XSDSimpleTypeTraverser.java	15 Feb 2002 20:13:22 -0000	1.11
  @@ -62,7 +62,6 @@
   import org.apache.xerces.impl.dv.XSUnionSimpleType;
   import org.apache.xerces.impl.dv.InvalidDatatypeFacetException;
   import org.apache.xerces.impl.dv.XSFacets;
  -import org.apache.xerces.impl.XMLErrorReporter;
   import org.apache.xerces.impl.xs.SchemaGrammar;
   import org.apache.xerces.impl.xs.SchemaSymbols;
   import org.apache.xerces.impl.xs.XSTypeDecl;
  @@ -116,7 +115,7 @@
    *
    * @author Elena Litani, IBM
    * @author Neeraj Bajaj, Sun Microsystems, Inc.
  - * @version $Id: XSDSimpleTypeTraverser.java,v 1.10 2002/01/29 01:15:16 lehors Exp $
  + * @version $Id: XSDSimpleTypeTraverser.java,v 1.11 2002/02/15 20:13:22 sandygao Exp $
    */
   class XSDSimpleTypeTraverser extends XSDAbstractTraverser {
   
  
  
  
  1.3       +1 -2      xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDUniqueOrKeyTraverser.java
  
  Index: XSDUniqueOrKeyTraverser.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDUniqueOrKeyTraverser.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- XSDUniqueOrKeyTraverser.java	29 Jan 2002 01:15:16 -0000	1.2
  +++ XSDUniqueOrKeyTraverser.java	15 Feb 2002 20:13:22 -0000	1.3
  @@ -57,7 +57,6 @@
   
   package org.apache.xerces.impl.xs.traversers;
   
  -import  org.apache.xerces.impl.XMLErrorReporter;
   import org.apache.xerces.impl.xs.SchemaGrammar;
   import org.apache.xerces.impl.xs.SchemaSymbols;
   import org.apache.xerces.impl.xs.XSElementDecl;
  @@ -71,7 +70,7 @@
    * <unique>s.
    *
    * @author Neil Graham, IBM
  - * @version $Id: XSDUniqueOrKeyTraverser.java,v 1.2 2002/01/29 01:15:16 lehors Exp $
  + * @version $Id: XSDUniqueOrKeyTraverser.java,v 1.3 2002/02/15 20:13:22 sandygao Exp $
    */
   class XSDUniqueOrKeyTraverser extends XSDAbstractIDConstraintTraverser {
   
  
  
  
  1.4       +2 -6      xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDWildcardTraverser.java
  
  Index: XSDWildcardTraverser.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDWildcardTraverser.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- XSDWildcardTraverser.java	29 Jan 2002 01:15:16 -0000	1.3
  +++ XSDWildcardTraverser.java	15 Feb 2002 20:13:22 -0000	1.4
  @@ -57,7 +57,6 @@
   
   package org.apache.xerces.impl.xs.traversers;
   
  -import org.apache.xerces.impl.XMLErrorReporter;
   import org.apache.xerces.impl.xs.SchemaGrammar;
   import org.apache.xerces.impl.xs.SchemaSymbols;
   import org.apache.xerces.impl.xs.XSWildcardDecl;
  @@ -92,7 +91,7 @@
    * @author Rahul Srivastava, Sun Microsystems Inc.
    * @author Sandy Gao, IBM
    *
  - * @version $Id: XSDWildcardTraverser.java,v 1.3 2002/01/29 01:15:16 lehors Exp $
  + * @version $Id: XSDWildcardTraverser.java,v 1.4 2002/02/15 20:13:22 sandygao Exp $
    */
   class XSDWildcardTraverser extends XSDAbstractTraverser {
   
  @@ -201,10 +200,7 @@
               }
   
               if (child != null) {
  -                fErrorReporter.reportError(XSMessageFormatter.SCHEMA_DOMAIN,
  -                                           "s4s-elt-must-match",
  -                                           new Object[]{"wildcard", "(annotation?)"},
  -                                           XMLErrorReporter.SEVERITY_ERROR);
  +                reportSchemaError("s4s-elt-must-match", new Object[]{"wildcard", "(annotation?)"});
               }
           }
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org