[dsdl-discuss] Re: Potential use cases for complex value validation from ebXML

From: Martin Bryan <mtbryan@sgml.u-net.com>
Date: Thu Jun 20 2002 - 07:56:14 UTC

Rick

> >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?

Sounds like the right way to go for me. What do others think?

> 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.

Surely it depends on how often you do the check? B ensures you check the
accuracy of the local list for each instance. A only allows you to do it for
each schema, at some not too clearly defined point. Therefore B would seem
to be the safest option.

>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.

Surely we are not planning cross-instance datatype validation. First tell me
how we get the two entries into a situation where they can be compared. If,
as I suspect, this involves a transformation then the transformation should
involve the conversion of the entries to a common datatype format. What is
needed then is a datatype definition forthe list that tells you both
variants. Not quite sure how you would do this. Perhaps something along the
lines of:

<datatype>
  <enumeration ISO3166:short="KO" ISO3166:long="KOR">KO</enumeration>
...
</datatype>

would be better than using nested entries such as:

<datatype>
  <enumeration>
     <ISO3166:short>KO</ISO3166:short>
     <ISO3166:long>KOR</ISO3166:long>
  </enumeration>
...
</datatype>

>> 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.

No one is stopping them using their own global convention. All I am saying
is that they do not need to define their own one as W3C have already done it
for them.

>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.

I am not suggesting that they abandon ID/IDREF. I am saying that the XPath
ID mechanism provides a way of ensuring that the ID is unique across
documents as well as within documents.

>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.

This sounds like an equivalent of a namespace for instances. Could we prefix
the ID with a namespace identifier for the document instance? Perhaps
something along the lines:

<document source-ns="abc" source-url="..." id="abc:n123">...</document>

Martin

--
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 Thu Jun 20 05:13:55 2002

This archive was generated by hypermail 2.1.8 : Fri Dec 03 2004 - 14:00:27 UTC