特定の位置に文字列が含まれるデータを表示する

書式

<div spry:choose="spry:choose">
<tag spry:when="'{XMLtagName}.search('String')' == point">〜</tag>
</div>

XMLtagName : XMLタグ名
String : 文字列
point : 見つかった文字の位置
tag : HTMLタグ名

説明

特定の位置に文字列が含まれるデータを表示するにはdivタグに属性でspry:choose="spry:choose"を指定し選択表示したい項目を囲みます。spry:whenで該当する文字列があるかどうかをsearch()を使って調べます。例えばspry:when="'{name}'.search('ン') == 2"とするとnameタグの文字列内の3番目にンの文字が含まれるデータだけが表示されます。search()は文字列を検索し不一致の場合は-1、一致した場合は見つかった文字の位置を返します。文字の位置は最初の文字が0番目になります。

サンプルコード [実行]

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Sample</title>
<script src="js/xpath.js" type="text/javascript"></script>
<script src="js/SpryData.js" type="text/javascript"></script>
<script type="text/javascript"><!--
myDatabase = new Spry.Data.XMLDataSet("data.xml", "/list/fruits");
// --></script>
</head>
<body>
<h1>Adobe Spry : XMLデータ処理サンプル</h1>
<div spry:region="myDatabase">
<div spry:repeat="myDatabase">
<div spry:choose="spry:choose">
<span spry:when="'{name}'.search('ン') == 2">{myDatabase::name}は{myDatabase::color}で{myDatabase::price}円です。</span>
</div>
</div>
</div>
</body>
</html>