Spry : XPath 特定の出現範囲内のものを取り出す

書式

[position() > 値 and position() <= 値]
[position() >= 値 and position() < 値]
[position() >= 値 and position() <= 値]
[position() > 値 and position() < 値]

説明

特定の出現範囲内のものを取り出すにはposition()と条件式、そしてandを組み合わせて指定します。andは左右に指定された条件が満たされた場合のみ真 (true) になります。真 (true)になった場合のみ該当する内容が取り出されます。

サンプルコード [実行]

<!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[position() >= 3 and position() <= 5]");
// --></script>
</head>
<body>
<h1>Adobe Spry : XPathサンプル</h1>
<div spry:region="myDatabase">
<div spry:repeat="myDatabase">
<span>{ds_RowNumberPlus1} : {myDatabase::name}は{myDatabase::color}で{myDatabase::price}円です。</span>
</div>
</div>
</body>
</html>

XMLデータ

<?xml version="1.0" encoding="utf-8"?>
<list>
<fruits><name>ミカン</name><color>橙色</color><price>150</price></fruits>
<fruits><name>メロン</name><color>緑色</color><price>400</price></fruits>
<fruits><name>イチゴ</name><color>赤色</color><price>210</price></fruits>
<fruits><name>レモン</name><color>黄色</color><price>90</price></fruits>
<fruits><name>トマト</name><color>赤色</color><price>80</price></fruits>
<fruits type="apple"><name>富士</name><color>赤色</color><price>120</price></fruits>
<fruits type="apple"><name>津軽</name><color>赤色</color><price>110</price></fruits>
<fruits type="apple"><name>紅玉</name><color>赤色</color><price>130</price></fruits>
</list>