<root>
<people>
<name>山本太郎</name>
<pref>東京</pref>
<age>35</age>
</people>
<people>
<name>小林五郎</name>
<pref>東京</pref>
<age>33</age>
</people>
<people>
<name>中村一郎</name>
<pref>千葉</pref>
<age>33</age>
</people>
</root>
というようなファイルがある場合に
「prefが東京且つageが35(つまり山本太郎さん)]
の条件で抜き出す場合の条件式の書き方を教えていただけないでしょうか。prefとageの2つを使ってください。
宜しくお願いいたします。
単純に条件が複数ある、ということでしょうか。
それならばxsl:ifのtestで指定条件をネストすれば良いだけだと思います。
出力はどういうイメージか分からなかったので、条件に合ったpeopleのnameだけを出力するサンプルにしてみました。
(改行もしないので、複数件ヒットした場合には名前がくっついてしまいます。)
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="text" encoding="UTF-8"/> <xsl:template match="root"> <xsl:apply-templates select="people" /> </xsl:template> <xsl:template match="people"> <xsl:if test="pref='東京'"> <xsl:if test="age=35"> <xsl:value-of select="name" /> </xsl:if> </xsl:if> </xsl:template> </xsl:stylesheet>
この出力結果は
山本太郎
になります。
質問を読み違えている場合、ご指摘お願いいたします。
どうもありがとうございました。
参考になりました。