5
私は出版物の引用を検索する小さなアプリケーションを持っています。引用はXML形式であり、PHPを介してXSLTにパラメータを渡し、楽器や著者などのフィールドで検索します。構造は次のようになります。XPath:複数の子供の1つに一致する
<publications>
<paper>
<authors>
<author>James Smith</author>
<author>Jane Doe</author>
</authors>
<year>2010</year>
<title>Paper 1</title>
(more children)
</paper>
(more papers)
</publications>
私はXSLTでの私のテンプレートを呼び出し、私は論文を検索基準に基づいて示されているダウン削り取っする述語を使用しています。パラメータ$作者が設定されているのであれば、例えば、私は:
<xsl:apply-templates select="paper[contains(authors/author, $author)]" />
問題:これは、「著者」で最初著者のために動作しますが、それ以降のものを無視します。したがって、上記の例では、 "Smith"を検索するとこのペーパーが返されますが、 "Doe"は何も返しません。
すべて「著者」要素を考慮に入れて式をフォーマットするにはどうすればよいですか?
ありがとうございました!夢のように働いた。 – tkm256