> Date: Thu, 11 Aug 2005 12:04:58 +1000
> From: Stephen Crawley <[log in to unmask]>
>
> [Very nice summary of the DC model snipped.]
>
> Instead of having the XML schema reflect the metadata schema, make it
> reflect JUST the fundamental model of metadata. Thus, instead mapping
> (say) a "DC.Date.created" metadata element to an XML element like:
>
> <dc:date.created>2001-01-01</dc:date.created>
>
> it might be represented as:
>
> <element id="DC.Date.created" encoding="ISO8601">2001-01-01</element>
That way, madness lies.
> This approach allows you to transfer any metadata record that meshes
> with Dublin Core's underlying model of metadata. It is up to the
> server to decide which metadata elements to send, and it is up to
> the client to decide what to do with any received elements that it
> doesn't understand.
Sorry, but this is a classic example of scheme that buys syntactic
interoperability on the cheap, at the expense of semantic
interoperability -- which the experiences of Z39.50 implementation
have taught us is both much harder and more important.
The whole point of a constraint language such as XML Schema is to,
well, _constrain_ what can be included in the record. As soon as you
introduce a back-door such as <element id="whatever">, that constraint
is blown away. It's like casting everything to void*. It gets your
program through the compiler just fine, but good luck sorting out all
the run-time errors.
_/|_ ___________________________________________________________________
/o ) \/ Mike Taylor <[log in to unmask]> http://www.miketaylor.org.uk
)_v__/\ An ounce of implementation is worth a ton of pontification.
|