Rebecca S. Guenther wrote:
> I suppose your Oxygen is choking because the same data type is
> defined in 2 schemas.
Indeed: "A schema cannot contain two global components with the same
name; this schema contains two occurrences of
'http://www.loc.gov/standards/premis/v1,dateType'."
I don't know if this is a feature of XML Schema or Oxygen.
According to van der Vlist's book
> A xs:include is actually a request [...] to add all the component
> declarations found in this schema to the consolidated schema if
> they have not already been defined, to ignore the components
> found in the new schema that are already defined in the global
> schema if they are identical, and to raise an error if they are
> different.
( http://tinyurl.com/8jedo#xmlschema-CHP-13-SECT-1.3 )
On this basis (and assuming that the "components" referred to include
type definitions) I would think there shouldn't be an error, since both
definitions are the same.
Either way, it must be possible (and desirable) to avoid such a clash at
such an early stage in the schema's life - without compromising either
the benefits of DateType over xs:dateTime, or the global PREMIS schema.
> Another way around it might be to name them differently in each
> schema, i.e. objectDateType and eventDateType or something like that.
> Or does anyone else have any other alternative?
It may not be perfect, but it would seem the quickest and least
disruptive way to prevent the changes invalidating the global schema.
Even if all it does is assert the model (object, event*, agent*,
rights*), I for one would like to continue to work with PREMIS.xsd as a
whole.
Regards
Richard
PS. If anyone else knows more about this issue in XML Schema, and the
workings of xs:include and xs:redefine, please tell!
--
/
\ Richard M Davis
/ Digital Archives Specialist
\ University of London Computer Centre
/ Tel: +44 (0) 20 7692 1350
\ mailto: [log in to unmask]
/
|