sandygao    2003/01/20 11:45:25

  Modified:    java/src/org/apache/xerces/impl/msg
                        XMLSchemaMessages.properties
               java/src/org/apache/xerces/impl/xs/traversers
                        XSDHandler.java
  Log:
  1. Fixing some errors in the message file;
  2. Proper error codes for circular references;
  3. Error code change as per Erratum E1-23.
  
  Revision  Changes    Path
  1.59      +11 -7     
xml-xerces/java/src/org/apache/xerces/impl/msg/XMLSchemaMessages.properties
  
  Index: XMLSchemaMessages.properties
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/java/src/org/apache/xerces/impl/msg/XMLSchemaMessages.properties,v
  retrieving revision 1.58
  retrieving revision 1.59
  diff -u -r1.58 -r1.59
  --- XMLSchemaMessages.properties      20 Jan 2003 17:44:41 -0000      1.58
  +++ XMLSchemaMessages.properties      20 Jan 2003 19:45:25 -0000      1.59
  @@ -115,6 +115,7 @@
           src-attribute.4 = src-attribute.4: Attribute ''{0}'' have both a type 
attribute and a annoymous simpleType child..
           src-attribute.5 = src-attribute.5: error.
           src-attribute_group = src-attribute_group: Attribute group ''{0}'' does not 
conform to the schema for schemas.  Element ''{1}'' is invalid or misplaced.
  +        src-attribute_group.3 = src-attribute_group.3: Circular definitions 
detected for attribute group ''{0}''.
           src-ct.0.1 = src-ct.0.1: Complex Type Definition Representation Error for 
type ''{0}''.  Element ''{1}'' is invalid, misplaced, or occurs too often.
           src-element.1 = src-element.1: ''default'' and ''fixed'' must not both be 
present in element declaration ''{0}''.
           src-ct.0.2 = src-ct.0.2: Complex Type Definition Representation Error for 
type ''{0}''.  Element ''{1}'' must not be empty.
  @@ -199,9 +200,9 @@
           cos-particle-restrict.2 = cos-particle-restrict.2: Forbidden particle 
restriction:  ''{0}''.
           cos-seq-range = cos-seq-range: error.
           cos-st-derived-ok = cos-st-derived-ok: error.
  -        cos-st-restricts.1.1 = cos-st-restricts.1.1: The {base type definition} 
''{0}'' must be an atomic simple type definition or a built-in primitive datatype.
  -        cos-st-restricts.2.3.1.1 = cos-st-restricts.2.3.1.1: The {final} of the 
{item type definition} ''{0}'' must not contain list.
  -        cos-st-restricts.3.3.1.1 = cos-st-restricts.3.3.1.1: The {member type 
definitions} ''{0}'' must have a {final} which does not contain union.
  +        cos-st-restricts.1.1 = cos-st-restricts.1.1: The '{'base type definition'}' 
''{0}'' must be an atomic simple type definition or a built-in primitive datatype.
  +        cos-st-restricts.2.3.1.1 = cos-st-restricts.2.3.1.1: The '{'final'}' of the 
'{'item type definition'}' ''{0}'' must not contain list.
  +        cos-st-restricts.3.3.1.1 = cos-st-restricts.3.3.1.1: The '{'member type 
definitions'}' ''{0}'' must have a '{'final'}' which does not contain union.
           cos-valid-default.1 = cos-valid-default.1: error.
           cos-valid-default.2.1 = cos-valid-default.2.1: Element ''{0}'' has a value 
constraint and must have a mixed or simple content model.
           cos-valid-default.2.2.1 = cos-valid-default.2.2.1: error.
  @@ -209,6 +210,7 @@
           c-props-correct.1 = c-props-correct.1: error.
           c-props-correct.2 = c-props-correct.2: Cardinality of Fields for keyref 
''{0}'' and key ''{1}'' must match.
           ct-props-correct = ct-props-correct: error.
  +        ct-props-correct.3 = ct-props-correct.3: Circular definitions detected for 
complex type ''{0}''.
           ct-props-correct.4 = ct-props-correct.4: Error for type ''{0}''.  Duplicate 
attribute uses with the same name and target namespace are specified.  Name of 
duplicate attribute use is ''{1}''.
           ct-props-correct.5 = ct-props-correct.5: Error for type ''{0}''.  Two 
attribute declarations, ''{1}'' and ''{2}'' have types which derived from ID.
           derivation-ok-restriction = derivation-ok-restriction: error.
  @@ -230,7 +232,8 @@
           e-props-correct.1 = e-props-correct.1: error.
           e-props-correct.2 = e-props-correct.2: Invalid value constraint value 
''{1}'' in element ''{0}''.
           e-props-correct.3 = e-props-correct.3: The '{'type definition'}' of element 
''{0}'' must be validly derived from the '{'type definition'}' of the substitutionHead 
''{1}''.
  -        e-props-correct.4 = e-props-correct.4: There must not be a '{'value 
constraint'}' on element ''{0}'', because its '{'type definition'}' or '{'type 
definition'}''s '{'content type'}' is or is derived from ID.
  +        e-props-correct.4 = e-props-correct.4: There must not be a '{'value 
constraint'}' on element ''{0}'', because its '{'type definition'}' or '{'type 
definition'}'''s '{'content type'}' is or is derived from ID.
  +        e-props-correct.6 = e-props-correct.6: Circular substitution group detected 
for element ''{0}''.
           fractionDigits-totalDigits = fractionDigits-totalDigits: fractionDigits 
value = ''{0}'' must be <= totalDigits value = ''{1}''.
           length-minLength-maxLength = length-minLength-maxLength: It is an error for 
both length and either of minLength or maxLength to be specified.
           length-valid-restriction = length-valid-restriction: Value of length = 
''{0}'' must be = the value of that of the base type ''{1}''.
  @@ -246,6 +249,7 @@
           maxLength-valid-restriction = maxLength-valid-restriction: maxLength value 
= ''{0}'' must be <= that of the base type ''{1}''.
           mgd-props-correct = mgd-props-correct: error.
           mg-props-correct = mg-props-correct: error.
  +        mg-props-correct.2 = mg-props-correct.2: Circular definitions detected for 
group ''{0}''.
           minExclusive-less-than-equal-to-maxExclusive = 
minExclusive-less-than-equal-to-maxExclusive: minExclusive value = ''{0}'' must be <= 
maxExclusive value = ''{1}''.
           minExclusive-less-than-maxInclusive = minExclusive-less-than-maxInclusive: 
minExclusive value = ''{0}'' must be < maxInclusive value = ''{1}''.
           minExclusive-valid-restriction.1 = minExclusive-valid-restriction.1: 
minExclusive value =''{0}'' must be >= minExclusive of the base type ''{1}''.
  @@ -300,8 +304,8 @@
           sch-props-correct.1 = sch-props-correct.1: schema components of type 
''{0}'' cannot occur after declarations or are not permitted as children of a <schema> 
element.
           sch-props-correct.2 = sch-props-correct.2: a schema cannot contain two 
global components with the same name; this one contains two occurrences of ''{0}''.
           st-props-correct.1 = st-props-correct.1: error.
  -        st-props-correct.2 = st-props-correct.2: circular definitions detected for 
type ''{0}''.
  -        st-props-correct.3 = st-props-correct.3: {final} of the {base type 
definition} contains restriction.
  +        st-props-correct.2 = st-props-correct.2: circular definitions detected for 
simple type ''{0}''.
  +        st-props-correct.3 = st-props-correct.3: '{'final'}' of the '{'base type 
definition'}' contains restriction.
           totalDigits-valid-restriction = totalDigits-valid-restriction: totalDigits 
value = ''{0}'' must be <= that of the base type ''{1}''.
           whiteSpace-valid-restriction.1 = whiteSpace-valid-restriction.1: It is an 
error if whiteSpace = ''preserve'' or ''replace'' and fBase.whiteSpace = ''collapse''.
           whiteSpace-valid-restriction.2 = whiteSpace-valid-restriction.2: It is an 
error if whiteSpace = ''preserve'' and fBase.whiteSpace = ''replace''.
  
  
  
  1.61      +18 -2     
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.60
  retrieving revision 1.61
  diff -u -r1.60 -r1.61
  --- XSDHandler.java   16 Jan 2003 23:03:08 -0000      1.60
  +++ XSDHandler.java   20 Jan 2003 19:45:25 -0000      1.61
  @@ -1009,6 +1009,17 @@
           "type definition",
       };
   
  +    private static final String[] CIRCULAR_CODES = {
  +        "Internal-Error",
  +        "Internal-Error",
  +        "src-attribute_group.3",
  +        "e-props-correct.6",
  +        "mg-props-correct.2",
  +        "Internal-Error",
  +        "Internal-Error",
  +        "st-props-correct.2",       //or ct-props-correct.3
  +    };
  +
       // since it is forbidden for traversers to talk to each other
       // directly (except wen a traverser encounters a local declaration),
       // this provides a generic means for a traverser to call
  @@ -1145,8 +1156,13 @@
           // but we didn't find it in the grammar, so it's the latter case, and
           // a circular reference. error!
           if (DOMUtil.isHidden(decl)) {
  +            String code = CIRCULAR_CODES[declType];
  +            if (declType == TYPEDECL_TYPE) {
  +                if 
(SchemaSymbols.ELT_COMPLEXTYPE.equals(DOMUtil.getLocalName(decl)))
  +                    code = "ct-props-correct.3";
  +            }
               // decl must not be null if we're here...
  -            reportSchemaError("st-props-correct.2", new Object [] 
{declToTraverse.prefix+":"+declToTraverse.localpart}, elmNode);
  +            reportSchemaError(code, new Object [] 
{declToTraverse.prefix+":"+declToTraverse.localpart}, elmNode);
               return null;
           }
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to