Я пытаюсь выбрать только те узлы, у которых значение переменной равно значению другой переменной. Точный текст будет таким:
<xsl:value-of select="/data/peptides/peptide/protein_accessions[accession = ./accession/accs]" />
Но это не работает. Я предполагаю, что невозможно поместить выражение значения узла в предикат. Но также мне трудно поверить. Вот почему я здесь спрашиваю:)
Что не так с этим выражением ??
Спасибо!
EDIT:
XML-код будет выглядеть примерно так:
<data>
<proteins>...</proteins>
<peptides><peptide>...<protein_accessions><accession>89456</accession></protein_accessions>...</peptide>...</peptides>
</data>
А с чем не работал
<xsl:value-of select="/data/peptides/peptide/protein_accessions[accession = ./accession/accs]" />
работает с
<xsl:value-of select="/data/peptides/peptide/protein_accessions[accession = current()/accession/accs]" />
Тем не менее, я использую это в вызове apply-template, я все еще не уверен, что это выражение делает то, что я хочу сделать (чтобы выбрать все пептидные узлы с этим конкретным номером), но, по крайней мере, я могу двигаться дальше и попробуй что-то:)
Спасибо!