説明
Adobe SpryフレームワークではXMLデータ内から特定の文字や値に一致するデータだけを表示することができます。特定の値に一致するものだけを抽出するには<div spry:choose="spry:choose">として抽出する領域を指定しておきます。その中でspry:whenを使って条件式を指定します。
サンプルでは<span spry:when="'{color}' == '赤色'">としてcolorタグの内容が赤色の文字列の場合のみ表示するようにしています。タグの内容ではなく属性値を指定することもできます。属性値を指定する場合は「タグ名/@属性値」として/@で区切って指定します。また、Adobe Spryにはifなどの条件判断も用意されているので状況に応じて使い分けるのがよいでしょう。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>JavaScript Sample</title>
<link rel="stylesheet" type="text/css" href="main.css" media="all">
<script src="xpath.js" type="text/javascript"></script>
<script src="SpryData.js" type="text/javascript"></script>
<script type="text/javascript" src="main.js"></script>
</head>
<body>
<h1>該当するXMLデータだけ表示する(Adobe Spry)</h1>
<div spry:region="myDatabase">
<div spry:repeat="myDatabase">
<div spry:choose="spry:choose">
<span spry:when="'{color}' == '赤色'">{myDatabase::name}は{myDatabase::color}で{myDatabase::price}円</span>
</div>
</div>
</div>
</body>
</html>
myDatabase = new Spry.Data.XMLDataSet("data.xml", "/list/fruits");