人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

xml文書から必要な項目を取り出したい場合のxslファイルの記述について教えてください。例えば、

<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つを使ってください。
宜しくお願いいたします。

●質問者: feynman
●カテゴリ:インターネット ウェブ制作
✍キーワード:XML XSL ファイル 中村 千葉
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ●
●60ポイント

単純に条件が複数ある、ということでしょうか。

それならば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>

この出力結果は

山本太郎

になります。

質問を読み違えている場合、ご指摘お願いいたします。

◎質問者からの返答

どうもありがとうございました。

参考になりました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ