Когда вы делаете:
<xsl:for-each select="Container/Patient/Races/Race[position()>1]">
, вы попадаете в контекст Race
.Из этого контекста выражение:
Container/Patient/Races/Race[$pos]/Code
ничего не выбирает.Вы бы получили другой результат, если бы изменили:
<sdtc:raceCode code="{Container/Patient/Races/Race[$pos]/Code}" />
, чтобы использовать абсолютный путь:
<sdtc:raceCode code="{/Container/Patient/Races/Race[position()>1][$pos]/Code}" />
, но на самом деле вы можете сделать это просто:
<sdtc:raceCode code="{Code}" />
и избавьтесь от переменной.