li

<random><condition><conditional_random>の選択候補を定義する為に使用します。

<condition><conditional_random>の子要素として使用する場合は、比較条件の値を各種属性で定義して使用します。

属性

<template>で利用可能な属性の他に、さらに以下の属性を使用できます。

ご注意
<template>の属性指定と重複した場合は、<li>の属性値が優先されます。
名称 必須 デフォルト 説明
name
独自拡張
string <condition><conditional_random>name属性とは別のPredicate名を指定します。
value string <condition><conditional_random>で条件分岐のもとにしているPredicateと比較する値を指定します。
predicate
独自拡張
string <condition><conditional_random>で条件分岐のもとにしているPredicateと比較する値のPredicate名を指定します。
regex
独自拡張
string <condition><conditional_random>で条件分岐のもとにしているPredicateを評価する正規表現を指定します。

name

<condition><conditional_random>name属性にとは別のPredicate名を指定します。

この属性が指定されている場合、<condition><conditional_random>name属性は無視されます。
また、この属性の代わりに、子要素の <name>が利用できます。

value

<condition><conditional_random>で条件分岐のもとにしているPredicateと比較する値を指定します。

比較には、「等号」「不等号(より大)」「不等号(より小)」「範囲」のいずれかが利用できます。
また、この属性の代わりに、子要素の <value>が利用できます。

比較した結果、条件を満たした<li>の取り扱いについては、<condition><conditional_random>をご覧ください。

等号

Predicate値とvalue属性の値が完全一致するか評価します。
OR条件(”|”)を使用すると、複数値をまとめて評価できます。

Example

不等号(より大)

Predicate値がvalue属性の値より大きいか評価します。
この条件は数値の場合のみ指定できます。

Example

不等号(より小)

Predicate値がvalue属性の値より小さいか評価します。
この条件は数値の場合のみ指定できます。

Example

範囲

Predicate値がvalue属性の値で指定した範囲内に収まっているかを評価します。
この条件は数値の場合のみ指定できます。

Example

predicate

<condition><conditional_random>で条件分岐のもとにしているPredicateと比較する値のPredicate名を指定します。

Predicate同士の値が一致するかを評価します。
条件を満たした<li>の取り扱いについては、<condition><conditional_random>をご覧ください。

①変数xxxxに対して、変数yyyyが一致するとき、TRUEとします。
②変数xxxxに対して、文字列zzzzが一致し、更に変数yyyyが一致するとき、TRUEとします。
③変数aaaaに対して、変数yyyyが一致するとき、TRUEとします。
④変数aaaaに対して、文字列zzzzが一致し、更に変数yyyyが一致するとき、TRUEとします。
⑤変数xxxxに対して、変数yyyyの値が大きいとき、TRUEとします。
⑥変数xxxxに対して、変数yyyyの値が小さいとき、TRUEとします。
⑦変数xxxxの値が、変数wwwwの値と変数yyyyの間のとき、TRUEとします。

Example

regex

<condition><conditional_random>で条件分岐のもとにしているPredicateを評価する正規表現を指定します。

Predicateの値が正規表現に一致するか評価します。
抽出した文字列は子要素の<matcher>で出力することができます。
条件を満たした<li>の取り扱いについては、<condition><conditional_random>をご覧ください。

①変数aaaの値が、正規表現zo*と一致する( zzooなどの)場合、TRUEとします。
②変数aaaの値が、正規表現[0-9]と一致する(1などの)場合、TRUEとします。
③変数aaaの値が、文字列xxxと一致、かつ正規表現zo*と一致する場合、TRUEとします。
④変数aaaの値が、文字列xxxと一致、かつ変数cccの値と一致、かつ正規表現zo*と一致する場合、TRUEとします。
⑤変数bbbの値が、正規表現zo*と一致する場合、TRUEとします。
⑥変数bbbの値が、変数cccの値と一致、かつ正規表現zo*と一致する場合、TRUEとします。
⑦変数aaaの値が、変数cccの値と一致、かつ正規表現zo*と一致する場合、TRUEとします。
⑧変数bbbの値が、文字列xxxと一致、かつ変数cccの値と一致、かつ正規表現zo*と一致する場合、TRUEとします。
¥dtyに部分マッチした部分を取り出し可能です。

Example

比較条件組み合わせ

<condition><conditional_random><li>の属性により、条件を組み合わせて評価することができます。
下表は<condition><conditional_random>、または<li>name属性の内容と、<li>valuepredicateregex属性の内容を評価する為の組み合わせ表です。

例えば、<li name="hobby" value="foo" predicate="bar"></li>の場合、変数「hobby」と変数「bar」が一致して、且つ、値が「foo」の場合に条件を満たします。

比較条件
組合数
コード例
<condition name="hoge">の場合
<condition>
属性
<li>
属性
name name value predicate regex
二項比較 <li value="foo"></li>      
<li predicate="bar"></li>      
<li regex="zo*"></li>      
三項比較 <li value="foo" predicate="bar"></li>    
<li value="foo" regex="zo*"></li>    
<li predicate="bar" regex="zo*"></li>    
四項比較 <li value="foo" predicate="bar" regex="zo*"></li>  
二項比較 <li name="hobby" value="foo"></li>      
<li name="hobby" predicate="bar"></li>      
<li name="hobby" regex="zo*"></li>      
三項比較 <li name="hobby" value="foo" predicate="bar"></li>    
<li name="hobby" value="foo" regex="zo*"></li>    
<li name="hobby" predicate="bar" regex="zo*"></li>    
四項比較 <li name="hobby" value="foo" predicate="bar" regex="zo*"></li>  
比較対象なし <li></li>          

子要素

<template>で利用可能な子要素の他に、さらに以下の要素を使用できます。

名称 必須 説明
loop <condition><conditional_random>の条件分岐を再評価します。
matcher regex属性で定義した正規表現にマッチした部分文字列を抽出します。
name <condition><conditional_random>name属性に代わって比較対象をPredicate名で記述します。
value 比較条件の値を文字列で記述します。

loop

<condition><conditional_random>の条件分岐を再評価します。

詳細はこちらをご覧ください。

matcher

regex属性で定義した正規表現にマッチした部分文字列を抽出します。

詳細はこちらをご覧ください。

name

<condition><conditional_random>name属性に代わって比較対象をPredicate名で記述します。

Predicate名が動的に変わる場合など、name属性では対処できない場合に使用します。

Example

value

<condition><conditional_random>で条件分岐のもとにしているPredicateと比較する値を指定します。

比較条件の値が動的に変わる場合など、value属性では対処できない場合に使用します。

Example