From: "Martin Bryan" <mtbryan@sgml.u-net.com>
> >That is an interesting point. Are you saying that an enumeration is
> really a kind of link (whose other end may not be well defined)?
>
> Yes. Can you match what is at one end of the link with an entry at the other
> end.
There was an idea floating around that XLink should actually be done
by datatyping.
Can we kill two birds with one stone:
* (external or internal) controlled vocabularies
* link declaration and integrity constraints?
> Your proposed solution for the above problem will not work because it
> presumes the subsetting of the list of entries will be done by adding
> suitable attributes to the registered set. ISO will not maintain a list of
> the relevant properties. The whole point is that the subsetting must be
> associated with the validation schema while the enumerated list is
> maintained elsewhere by a totally different organization.
Don't you have two choices?
A] If you want validation to fail if your local list is out-of-date in any way:
1) Validate your local list against ISO's list
2) Validate your document against your local list
B] You only want validation to fail if your local list is out-of-date w.r.t.
countries you are actually interested in. In which case, validate
your document against both the ISO list and the local list.
<rule context="country">
<let name="ISO-list"
value="document('http://www.iso.ch/countrylist.xml')" />
<let name="local-list"
value="document('country-properties.xml')" />
<assert test=
" $local-list//country[@name=current()/@name] and
$ISO-list//country[@name=current()/@name] "
>A name in the document should appear both in
my property list and the ISO property list</assert>
</rule>
> There is no equivalence between the two lists. You either use the entry from
> one list or from another. (If I remember correctly ISO 3166 specifically
> forbids the use of the two lists in parallel.)
Say you have a list of countries like this
<worldcup>
<county name="KOR" winner="yes" />
...
</worldcup>
and I have a list
<hostnation>
<country code="KO" />
<country code="JA" />
</hostnation>
And I want to validate that every country in my list is in your list,
we can either transform one document to fit the other, or establish
an equivalence.
(However, I agree that if someone wants to mix vocabularies in
the same field, they are asking for trouble. And that is it usually
better to use standard vocabularies rather than make up your own.)
> My point here was that there exists a perfectly good XML mechanism for
> identifying IDs absolutely uniquely, so why invent something else?
Because the issue is not how to support XML but how to support what
publishing people do when they publish, and to make it available lower
down the food chain. Saying "use URLs" is no good if they have already
committed to their own convention.
People who use their own unversal-ID conventions will usually declare the
universal-ID as an XML ID, so that they get at least document-local
uniqueness checking. To move over to URLs, at the moment, means
giving up the document-local checks provided from DTD validation.
The Australian Army's document set uses this, for example. In their
case, every ID is a fielded name prefixed by a code for that manual.
This can be expanded out into a URL or whatever.
Cheers
Rick Jelliffe
-- DSDL members discussion list To unsubscribe, please send a message with the command "unsubscribe" to dsdl-discuss-request@dsdl.org (mailto:dsdl-discuss-request@dsdl.org?Subject=unsubscribe)Received on Wed Jun 19 03:24:57 2002
This archive was generated by hypermail 2.1.8 : Fri Dec 03 2004 - 14:00:27 UTC