Just to add to what has already been said: the semantics which TEI addds
to xml:id really rather precludes multiple identifiers for the same
object, in my mind at least.
If we had an element <anchorGrp> of course you could use that, but we don't.
<my:anchorGrp xml:id="preferredID">
<anchor xml:id="id1"/>
<anchor xml:id="id2"/>
<anchor xml:id="id3"/>
</my:anchorGrp>
Such an extension would be easy enough to add of course (and is left as
an exercise to the reader). For the use case discussed though, I suspect
some sort of simple convention along the lines Piotr proposes would
probably be simpler.
On 11/11/11 09:51, James Cummings wrote
> Steffen,
>
> I'd second what Piotr and others have said. In the conversion
> rationalize the IDs to be a single ID when they all appear at one
> place, and change any that point to those.
>
> There is no shortcut way to list multiple xml:id's on a single
> element. If you have multiple whitespace separated URI fragments
> in a single @ref or @target that tends to mean something specific
> to that element. Namely that all of those things together are
> identified by that element content. For example:
>
> <p><name ref="#Smith1 #Smith2 #Smith5">The Smiths</name> came to
> supper.</p>
>
> does not provide alternatives for what 'The Smiths' might mean,
> but says the phrase identifies all the people referenced. If
> this was the band 'The Smiths' I'd be pointing to a single ID of
> a<personGrp>.
>
> Whereas in something like<link> the @target attribute takes
> multiple values for a different reason, to indicate that the
> things at these IDs are somehow linked.
>
> I realise that none of this is what you were asking, but since we
> were talking about pointing to IDs I thought I'd mention it.
>
> -James
>
>
> On 11/11/11 09:32, Piotr Banski wrote:
>> Dear Steffen,
>>
>> I think the shortest answer is that the TEI relies on an external
>> mechanism in this case (note the "xml" prefix in xml:id), and no, there
>> is no way around this, *if* you want to use this mechanism instead of
>> something hand-made.
>>
>> But speaking of neat solutions -- you have not told us about your
>> project, but, since you mention operating on MSWord output, perhaps in
>> your processing you may be able to e.g. group all the references to a
>> single element marked with several IDs, and reduce that by throwing away
>> all but the 1st ID and redoing all the temporarily stray references to
>> use that ID alone? (Note that I assume that you group them before
>> applying the reduction step.)
>>
>> That would eliminate the need for representing multiple IDs, and who
>> knows, maybe also the need to bother about multiple targets for your<ref>s.
>>
>> Regards,
>>
>> Piotr
>>
>> On 10/11/11 21:31, Steffen Wolfrum wrote:
>>> Hi,
>>>
>>> as far as I have understood there is
>>> one<anchor xml:id="123"/> with one<ref target="#123"/>
>>>
>>> and there is also this:
>>> several<anchor xml:id="123"/> ...<anchor xml:id="456"/> ...<anchor xml:id="789"/> ... with one<ref target="#123 #456 #789"/>
>>>
>>>
>>> But I am looking for a way to encode the opposite in a handy way:
>>>
>>> one<head>
>>> <anchor xml:id="123"/>
>>> <anchor xml:id="456/>
>>> <anchor xml:id="123"/>
>>> ...
>>> </head>
>>>
>>> with several<ref target="#123"/> ...<ref target="#456"/> ...<ref target="#789"/>
>>>
>>>
>>> Is there for this case some short version like<anchor xml:id="123 456 789"/>?!
>>>
>>> Steffen
>>>
>
>
|