Я знаю, что если у меня есть XML-файл, подобный этому:
<persons>
<class name="English">
<person name="Tarzan" id="050676"/>
<person name="Donald" id="070754"/>
<person name="Dolly" id="231256"/>
</class>
<class name="Math">
<person name="Winston" id="050677"/>
<person name="Donald" id="070754"/>
<person name="Fred" id="231257"/>
</class>
</persons>
Я могу определить ключ в XSL-файле следующим образом:
<xsl:key name="preg" match="person" use="@id"/>
где я использую идентификатор в качестве ключа. Тем не менее, Дональд указан дважды, но только в одном месте в прег.
Предположим, я хочу, чтобы он дважды указывался в preg. То есть я хочу, чтобы имя класса было частью идентификатора. По сути, я хочу, чтобы у preg были ключи, эквивалентные упорядоченным парам: (class-name, id). Как мне это сделать (используя XSLT 1.0)?