[niso-sts] Semantic cardinality of metadata elements

Subject: [niso-sts] Semantic cardinality of metadata elements
From: "G. Ken Holman g.ken.holman@xxxxxxxxx" <niso-sts-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 25 Jan 2022 18:59:56 -0000
Hi, all.

I'm working with NISO-STS and I'm looking at the metadata children of <front>.

The old ISO-STS was explicit in the cardinality of <iso-meta> and <reg-meta> being zero or one:

https://www.iso.org/schema/isosts/v1.1/doc/index.html
Any one of:
 The following, in order:
  <iso-meta> ISO Metadata
  <reg-meta> Regional-body Metadata, zero or one
  <nat-meta> National-body Metadata, zero or more
 The following, in order:
  <reg-meta> Regional-body Metadata, zero or one
  <nat-meta> National-body Metadata, zero or more
 <nat-meta> National-body Metadata, one or more

Tying the front matter to the metadata was conveniently done through matching originator="{value}" attributes, respectively, on <sec> and <*-meta>.


The new NISO-STS loosens this up, likely as a convenience for not having the interleave semantic in the DTD schema language:

https://www.niso-sts.org/TagLibrary/niso-sts-TL-1-0-html/element/front.html
(std-meta | iso-meta | reg-meta | nat-meta)*

There is no discussion of semantic cardinality of these elements. Nor about the mixing of them.


Out in the wild I see in separate documents:

<std-meta std-meta-type="international">

and:

<std-meta std-meta-type="european">

and:

<std-meta>

... but never more than one of those in the same document.

I am aware that the <adoption> model is a handy way (and the "right" way) of associating front and back matter of adoption shells around each other until the <standard> element at the core of the XML. Any one <adoption> shell can have only one <std-meta>. Easy peasy, no ambiguities in finding the associated front <sec> elements.

And, anyway, there is no originator= attribute on <std-meta> to use for associating front matter sections.

But back to <standard> in NISO-STS ... am I to assume that the semantic cardinality of <std-meta> under <front> is exclusive with the other groups of metadata? This would make the front <sec> elements unambiguously associated with the single <std-meta>.

But if not, do I assume front <sec> elements without originator= are associated with <std-meta> and the others must have originator= to be associated with their appropriate <*-meta>?

And if I am allowed to have two <std-meta> under <front>, how do I distinguish which front <sec> elements are associated with which <std-meta>?

I think the max cardinality of one for <std-meta> in <adoption-front> implies to me a max semantic cardinality of one for <std-meta> in <front>, though this is not explicit.

I think the multiplicity of <nat-meta> in <front> in ISO-STS does not translate to a multiplicity of <std-meta> in <front> in NISO-STS because of the lack of originator= for <sec> in <front>. Just use <adoption> in NISO-STS the way it was meant to be.

So the question for members of this mail list:

Would any user of NISO-STS challenge a system design decision supporting a maximum cardinality of one for <std-meta> in <front>?

Would you then challenge <std-meta> being exclusive from any occurrences of <iso-meta>, <reg-meta>, and <nat-meta>? If not, how would you expect <std-meta> to be interpreted in the presence of a sibling ISO-STS metadata construct?

Thank you for your thoughts on this. I would appreciate the understanding of users in their expectations of migrating from ISO-STS to NISO-STS. Am I making unnecessary work for myself trying to support a hybrid because users simply will make the jump on their own? What about users from different SDOs who are migrating on different schedules?

. . . . . . Ken


-- Contact info, blog, articles, etc. http://www.CraneSoftwrights.com/j/ | Check our site for free XML, XSLT, XSL-FO and UBL developer resources | Streaming hands-on XSLT/XPath 2 training class @US$125 (5 hours free) | Essays (UBL, XML, etc.) http://www.linkedin.com/today/author/gkholman |

Current Thread