我正在尝试仅选择那些变量值等于其他变量值的节点。确切的文字是:
<xsl:value-of select="/data/peptides/peptide/protein_accessions[accession = ./accession/accs]" />
但它不起作用。我想不可能在谓词中放置一个节点值表达式。但是,我发现很难相信。这就是为什么我在这里问:)
这个表达式出了什么问题??
谢谢!
编辑: 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]" />
但是,我在应用模板调用中使用它,我仍然不确定这个表达式是否符合我的要求(选择具有该特定数字的所有肽节点),但至少我可以继续并尝试一下:)
谢谢!
答案 0 :(得分:0)
如果没有看到你的XML,这很难回答,但你可能意味着
<xsl:value-of select="
/data/peptides/peptide/protein_accessions[
accession = current()/accession/accs
]
" />
答案 1 :(得分:0)
与
一起使用<xsl:value-of select= "/data/peptides/peptide/protein_accessions [accession = current()/accession/accs]" />
但是,我在应用模板调用中使用它,我仍然没有 确定这个表达式是否符合我的要求(选择全部 具有该特定数量的肽节点)
上面的XPath表达式 根本不会选择任何peptide
元素。
它选择的所有节点(如果存在)都是名为protein_accessions
的元素。
如果您想要选择适当的peptide
元素,请使用以下内容:
/data/peptides/peptide
[protein_accessions/accession
=
current()/accession/accs
]