Change History

Version Changes
2.2

July 14, 2003

  1. SchemaQualityChecker conforms to XML Schema errata as of June 1, 2003
  2. SchemaQualityChecker is now using Apache's XERCES-J version 2.4.0
  3. SchemaQualityChecker can now run on JRE 1.4
  4. Fix a bug related to name collision in redefined schemas
  5. Fix a bug occuring in XML Schema importing other schema with null target namespace
  6. Fix other minor bugs
2.1.1

August 29, 2002

  1. SchemaQualityChecker is now using Apache's XERCES-J version 2.1
2.1

August 21, 2002

  1. Added the implementation of XML Schema errata published on June 8, 2002
  2. Added two new command line options : reportLocWithoutPath and fullProcessingDescAxis
  3. Fixed the following bugs:
    • name collisions wrongly reported in some redefined schemas
    • xml namespace and "xml:*" are now directly recognized by SQC
    • ##other and ##local wrongly considered to overlap
    • an error in the handling of references to components with no target namespace
    • a case of type restriction not detected
  4. A visual progress meter appears when SQC is used under Eclipse / WebSphere Studio Application Developer
  5. SchemaQualityChecker is now using Apache's XERCES-J version 2.0.2
  6. The structure of the readme file was reorganized
2.0

February 8, 2002

  1. Added the following features :
    • validation of embedded schemas (see options "-emb", "-xform" and "-wsdl").
    • SQC as an Eclipse or WSAD plugin.
  2. Fixed bugs that affected schemas using these features:
    • Identity constraints ( <unique>, <key> and <keyref>): now a keyref can refer to a <unique> or <key>; problems with xpath expressions containing the ".//" axis have been fixed.
    • xml namespace and "xml:*" are now directly recognized by SQC
    • errors on attribute declarations, previously not detected by SQC, are now reported
    • errors on model group definitions, previously not detected by SQC, are now reported
  3. QualityChecker API has been updated.
  4. SchemaQualityChecker is now using Apache's XERCES-J version 2.0.0
1.2.1.003

September 17, 2001

  1. Fixed bugs that affected schemas using these features:
    • Identity constraints ( <unique>, <key> and <keyref>)
    • <all> group is used when extending a base type which has an <all> group as part of its content model. This error was not detected by the previous version.
  2. Improved error messages that affected schemas improperly using these features:
    • Facets of simple types
    • "default" or "fixed" value for an element or an attribute declaration
    • Reference to a top level schema component ( in case the reference does not have a prefix)
  3. Performance improvement of reference resolution in schemas with import statements
  4. SchemaQualityChecker is now using Apache's XERCES-J version 1.4.3.
1.2.004

August 15, 2001

  1. SchemaQualityChecker is now using Apache's XERCES-J version 1.4.2.
  2. schemaAnalysis output now includes attribute 'requireEachDocumentValid'. Corresponding change made to DTD and Stylesheet. The default behavior of the tool is now 'entireSchemaValid', which is a change from previous versions. QualityChecker API has a new method to support setting which behavior is wanted.
  3. XMLSchemaQualityCheckerErrorReport.xsd, which is the schema for the XML output produced by the tool, is now part of the distribution.
  4. Improved checking:
    1. When a string uses in <enumeration value=> or <attribute default=> does match a regular expression given in a pattern facet, a message is issued.
    2. Warnings are issued if length, minLength or maxLength facet is not compatible with the expression given in a pattern facet
    3. Identity-definition constraints checks improved
    4. Ambiguous content model checks improved
    5. Type refinement checks improved
    6. Named Model definition not in a top component detected
    7. Duplicate enumeration values detected
    8. If a reference is undefined, and no prefix was given, and the problem would go away if one namespace prefix had been used, that prefix is now identified.
    9. XPath expressions that contain '//' are checked
    10. better checking of enumeration and max or min values for double, float, dateTime, time
  5. Former errors changed to warnings:
    1. relative URIs used in targetNamespace or in wildcards are flagged with warnings
  6. Fixed bugs from the previous version:
    1. <group> as a particle in a complexType but which does not have the ref attribute is now flagged.
    2. Better handling of types derived by union
1.1.85

June 27, 2001

  1. SchemaQualityChecker is now using Apache's XERCES-J version 1.4.0.
  2. Fixed bugs from the previous version:
    1. <annotation>s in <union>s used to generate an 'unknown exception in Xerces' error.
    2. The '.bat' files included in SQC's distribution package have been modified to prevent a problem that occured when using SQC with Windows 98 (or lower). The problem consisted in SQC trying to validate all files in a directory instead of only the specified files.
    3. 'minOccurs' attribute in <all> elements can now take the value '0' without an error being reported.
    4. <annotation> elements now accept the attribute 'id'.
    5. Unprefixed names in xpath attributes are now treated as unqualified names. This brings checking of identity-constraint definitions into agreement with the XML Schema spec.
    6. Some cases where a complexType was derived from a parent complexType, where the parent had <complexContent> but the derived type had <simpleContent> were formerly flagged by SQC as illegal, due to ambiguities in the Schema spec. Legal uses of this kind of derivation are now permitted.
    7. Dynamic loading of SAX Parser in Solaris 2.7 warning message is now avoided.
    8. <annotation> may now appear in <simpleContent> and <complexContent>
    9. No error reported when top level (global) anonymous types or elements were used in a schema.
    10. Incorrect error when foreign characters appeared in XPath expressions.
    11. Problem reported when a child of <documentation> or <appinfo> uses the Schema namespace (http//www.w3.org/2001/XMLSchema) and this child element is not defined in the XML Schema Specification.
    12. Erratic behavior while validating complex types with mixed content.
    13. Some problems with the interaction between derived types using the min|max Include|Exclude facets and the attribute "final" were not reported.
    14. Incorrect error issued when a simple type declared with "final=restriction" was used as the type of another component.
    15. Incorrect ambiguous content model with <any namespace="##other"/>.
    16. Small error in the validation of language tag values.
    17. No detection of an ambiguous content model if a locally defined element is used when extending a type that has <any namespace="##other"/>.
1.0.17

May 21, 2001

  1. SchemaQualityChecker now checks Schemas compatible with the May 2 W3C Recommendation specification.
  2. Fixed bugs from the previous version:
    1. Invalid base64Binary values were not detected.
    2. Some invalid XPath expressions were not detected.
    3. Incorrectly reported an error with a chain of extensions followed by a restriction allowing some elements from several of the ancestor types.
    4. Some error messages for XPath expressions were improved.
    5. URIs starting with unusual schema names.
    6. Restriction checking flaw eliminated.
  3. Added checker to verify that identity constraint (Key, KeyRef and Unique) definitions are consistent with the type of the element declaration where they appear.
  4. The default stylesheet used to view the error reports was updated.