do-while

whileの条件式がtrueの間、doブロック内の処理を繰り返します。最低一回は処理されます。

良く使うのは下記サンプルのようにデータセットのデータからある条件に合ったものを取り出すような処理。サンプルではデータセットのデータのtype属性値が野菜になってるすべてのname属性値を取り出して表示しています。

この内容を表示するためには Adobe Flash Plugin が必要です。

<?xml version="1.0" encoding="UTF-8"?>
<canvas proxied="false" bgcolor="0xeeeeee">
  <dataset name="ds">
    <root>
      <data name="りんご" type="フルーツ"/>
      <data name="にんじん" type="野菜"/>
      <data name="あじ" type="魚"/>
      <data name="いちご" type="フルーツ"/>
      <data name="キャベツ" type="野菜"/>
      <data name="さんま" type="魚"/>
      <data name="はくさい" type="野菜"/>
    </root>
  </dataset>
  <handler name="oninit"> 
    var dp = ds.getPointer();
    dp.selectChild(2);
    do {
      if(dp.xpathQuery('@type')=="野菜") {
        txt.addText(dp.xpathQuery('@name')+"\n");
      }
    }while(dp.selectNext());
  </handler> 
  <text id="txt" multiline="true"/>
</canvas>