I prefer explicit setting of data types.
1. I like not having to remember defaults.
2. When using Sun RELAX NG Converter to convert PREMIS to RelaxNG I
discovered that this tool does not handle the defaults correctly
(i.e. absence of data type for element did not convert to
type=xs:string). When the data type is present the conversion worked as
expected. This is not the fault of PREMIS but it seems being explicit can
prevent downstream headaches.
On Fri, 9 Sep 2005, Rebecca S. Guenther wrote:
> We recently had some messages about the use of minOccurs=1 and
> maxOccurs=1, which was changed in version 1.1 from what was in 1.0. It was
> pointed out that semantically including minOccurs=1 and maxOccurs=1 was
> the same as leaving them out since they are the defaults in XML
> schema. (The same goes for the data type "string"; right now xs:string is
> used in most cases and is explicitly in the PREMIS schemas, but since it's
> a default in XML schema, it could also be deleted. We just discovered one
> place where it was left out that it should have been there for
> consistency's sake.)
> This really goes to the question of style and there are various opinions
> about this. Is it better to have a compact schema that only includes what
> is needed and eliminates redundancies or to have a more verbose schema
> that spells out the defaults explicitly? Either way is correct.
> As we go to version 1.1, before we finalize the drafts that are out there,
> it would be good if we came to consensus on this. Any opinions?