[MEI-L] typable events

TW zupftom at googlemail.com
Wed Aug 7 18:09:10 CEST 2013

2013/8/7 Johannes Kepper <kepper at edirom.de>:
> [...] what's your take on the availability of @type on events in general?

Let me think aloud:

I think Andrew and Raffaele make some valid points concerning your
application.  But to pick up on Andrews mail:  Could a rule of thumb
be:  @type should only be used in cases where the elements with the
same name but with a different type attribute could be thought of as
different data types or OO classes that have a common ancestor class?
Introducing a new element would almost be justifiable in such cases.

    <persName type="realName">Perry Roland</persName>
    <persName type="artistsName">Perrius Rolandi</persName>

is O.K. These might be two distinct different "fields" (i.e. elements)
in a database, you might almost almost (sic) want to do something like

    <realPersName>Perry Roland</realPersName>
    <artistsName>Perrius Rolandi</artistsName>

But you shouldn't do

    <persName type="honorableName">Perry Roland</persName>
    <persName type="sillyName">Perrius Rolandi</persName>

as (following Andrew's argumentation) you're saying something about
the specific name, not the abstract element containing the name.

    <honorablePersName>Perry Roland</honorablePersName>
    <sillyPersName>Perrius Rolandi</sillyPersName>

would not be possible because you can't put content information inside
the element name.

If there is something to this rule of thumb, are there any scenarios
in which @type makes sense on events?  What comes to my mind is

    <multiRest type="american"/>
    <multiRest type="european"/>

because there are these two types of graphically very distinct multi
measure rests (the "American" ones[1] drawn like |---|, the "European"
ones[2] composed of multiple symbols).  They are even so different
that one might want to specify different sets of presentational
properties.  For the American one, you might want to specify the
length of the line, whereas for the European one, you might want to
specify the set of symbols the multiRest is composed of, especially if
one finds a deviation from the rule somewhere.

So I think this example supports that @type could indeed make sense on events.

Speaking of @type and reading Raffaele's mail, I'm wondering whether
it would be desirable to provide a formal means of specifying a
taxonomy that is used for @type?  Something along the lines of
<classCode>, like

    <typeDef elements="multiRest">
        <classCode authURI="types.xml#mrests"/>

Or possibly even <term> elements inside <typeDef>, although <term> is
currently only used to specify a term that applies to a specific
resource, not to define a term.

[1] https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/15_bars_multirest.png/160px-15_bars_multirest.png
[2] https://upload.wikimedia.org/wikipedia/commons/thumb/c/c4/Old_multirests.png/440px-Old_multirests.png

More information about the mei-l mailing list