[tcs-lc] Modularisation of standards

Richard Pyle deepreef at bishopmuseum.org
Tue Mar 8 21:30:35 PST 2005


> > The version I've been mulling about in my mind would look like this:

[...]

> I have no problems with this. However, the example makes probably
> an implicit
> assumption that content (which elements occur inside
> TaxonConcept) can depend
> on the value of the Type attribute. This is not supported in xml schema.

Right -- the approach I'm taking appears to involve some faith on the part
of the data providers to conform to business rules that are probably not
easily enforced within the schema itself. I don't know what the practical
"cost" of that would be, compared with the "cost" of treating names as
top-level objects, or the "cost" of not modularizing names data.  Bob Morris
would be the one to comment here -- he spend a bit of time trying to show me
how to deal with these sorts of restrictions in an XML schema, but a lot of
his explanations were over my head.  Bob -- perhaps you can elaborate in the
context of the specific imlementation we discussed?

> As the example shows, records of type="Nominal" would have
> different content
> than those of other types, which can not be validated in w3c xml
> schema. This
> is a known limitation.

I didn't represent it very well -- I was following Donald's lead on the name
elements.  I think I can conform the set of elements in my notion of a
Nominal Concept to be much more similar to the element structure in other
concept types (will work on this tonight).

> Note that it is possible to rename
>
>    <TaxonConcept id="tc0" type="Nominal">
> to
>    <NominalConcept id="tc0">
>
> and still have a single collection, if this should be socially
> desirable. A
> collection of elements may be a repeated choice, yielding any
> sequence such as:
>
> TaxonConcept
> NominalConcept
> NominalConcept
> TaxonConcept
> NominalConcept
> TaxonConcept

Whichever is the more palatable approach -- I have not studied XML design
long enough to have an opinion.  However, if going this route, I would
propose something more like:

<Taxa>
  <TaxonConcept/>
  <TaxonName/>
  <TaxonConcept/>
  <TaxonConcept/>
  <TaxonName/>
  <TaxonConcept/>
</Taxa>

But there are other aspects of that I do not like.  Let me try to represent
it in a schema representation, and in an instance document.

Rich





More information about the Tcs-lc mailing list