Closed jamescummings closed 3 years ago
Council VF2F subgroup thinks this is overall a good idea.
Probably @predicate
should be put in a class since it is also on <model>
and <modelGrp>
.
Regarding creating a new class for the attribute @predicate
, the hardest thing (as always) is the name. I considered the following and would like some feedback:
att.conditional
or att.conditionalExpression
: my favorite so far, has no(?) terminological overlap with current TEI attributes and classesatt.matching
: closer to xsl template matches (what @predicate
is used for here), but has some overlap with the @match
attribute – and we probably won't stick the @match
attribute into this new class … att.filtering
: @jamescummings asked to "enable filtered equivalences"; and we could put the current @filter
attribute from <equiv>
into this class (ha!), but then <model>
and <modelSequence>
would also get this attribute without(?) need.Umm … of your choices I tihnk I like att.conditionalExpression the best, but what is wrong with either att.predicate or att.XPathPredicate?
(Although att.filtering is good, too; I do not like att.conditional or att.matching nearly as much.)
If there is a use for @filter
on <model>
, though, that is a game-changer and att.filtering wins.
If there is a use for
@filter
on<model>
, though, that is a game-changer and att.filtering wins.
maybe @tuurma might have an opinion on this? Do you see some benefit for @filter
on <model>
?
No, thanks, @predicate
is all we need for models and @filter
there would be utterly confusing. As for the name, att.conditional is fine with me, att.predicate would be fine too. I would vote against att.XPathPredicate, it's long and overly prescriptive.
Thanks @sydb and @tuurma – will proceed with att.predicate
and file a PR
The
<equiv>
element should get the same or similarly defined@predicate
attribute that is available on<model>
. This would enable filtered equivalences for all sorts of uses, but for example being able to map uses of a single element to different conceptual models. i.e.<name type="person">
could map to one concept in (say) CIDOC CRM or other ontologies but<name type="place">
could map to another. These would be documented in the ODD not in the document instance. This strikes me as a very flexible addition to equiv that is easy to implement.