분기 알고리즘
기본 분기 알고리즘은 다음과 같습니다.
알고리즘
설명
wt.rule.algorithm.BooleanBranch
세 가지 객체의 목록을 가져옵니다. Value 태그에 포함된 첫 번째 객체는 부울 값을 반환하는 객체입니다. 이 부울 값은 인수에 포함된 나머지 두 객체 중 어떤 객체가 반환될지 BooleanBranch 알고리즘에 알려줍니다.
wt.rule.algorithm.CaseBranch
케이스가 TRUE일 때 분기가 발생하는 것을 제외하고 BooleanBranch와 유사합니다. 각 케이스의 인수 외에, TRUE인 케이스가 없을 때 사용할 기본값을 식별하는 추가 인수가 하나 더 있습니다.
BooleanBranch 알고리즘에 대한 일반 구문은 다음과 같습니다.
<Value algorithm="wt.rule.algorithm.BooleanBranch">
<Value algorithm="xxx">
:
</Value>
<Arg>yyy</Arg>
<Arg>zzz</Arg>
</Value>
중첩된 Value 태그(형식의 xxx로 식별) 안에 부울 값을 반환하는 임의의 유효한 알고리즘 이름을 지정할 수 있습니다. xxx 알고리즘의 결과에 따라 인수(Arg 태그와 yyy 및 zzz 문자열로 식별)에 포함된 객체 중 하나를 사용합니다.
세 가지 케이스가 포함된 CaseBranch 알고리즘의 일반 구문은 다음과 같습니다.
<Value algorithm="wt.rule.algorithm.CaseBranch">
<Value algorithm="xxx1">
:
</Value>
<Arg>yyy1</Arg>
<Value algorithm="xxx2">
:
</Value>
<Arg>yyy2</Arg>
<Value algorithm="xxx3">
:
</Value>
<Arg>yyy3</Arg>
<Arg>yyy4</Arg>
</Value>
CaseBranch 알고리즘에는 여러 케이스가 포함될 수 있습니다. CaseBranch 알고리즘의 각 케이스는 TRUE 또는 FALSE로 평가될 수 있는 Value 요소와 Value 요소 바로 뒤에 오는 인수로 구성됩니다. Value 요소가 TRUE이면 해당 인수를 사용하고 제약조건의 나머지 태그는 평가하지 않습니다. 첫 번째 케이스의 Value 요소가 FALSE이면 다음 케이스가 평가됩니다. 각 케이스에 대한 평가가 순서 대로 계속 진행되며, 현재 평가에서 TRUE 결과가 생성되면 파일에 해당 케이스가 표시되고, 케이스와 연관된 인수가 사용됩니다. 지정된 케이스 중 TRUE인 케이스가 없으면 CaseBranch 알고리즘에 제공된 마지막 인수가 사용됩니다.
위의 일반 구문에서 Arg 태그에 사용할 수 있는 값은 문자열입니다. 선택적으로 Arg 태그를 Value 태그로 대체할 수 있습니다. Arg 태그 대신 중첩된 Value 태그를 사용하면 인수 내에서 추가 평가를 수행할 수 있습니다.
도움이 되셨나요?