DMDX
Help.
Multi-Way Branch Keyword
<MultiWayBranch
text,N
[text,N]...>
<mwb text,N
[text,N]...>
variant:
Multi-Way Call Keyword
<MultiWayCall
text,N
[text,N]...>
<mwc text,N
[text,N]...>
Tests
text
against the key name of the response, if they match
the branch to item number N
is taken; N
can be negative to branch backwards as per standard
branching,
text
can be delimited with double quotes. Multiple
occurrences of text,N
can occur. For a key name to be recognized it must be mapped as a valid input
key, for instance if the keyboard is used for input and a 4 way branch is required
mapped to the 1..4 keys each of the those keys will have to be mapped as positive
response once at the beginning of the item file with:
<mpr +1>
<mpr +2> <mpr +3> <mpr +4>
The actual branch would take the form:
<mwb +1,100 +2,200 +3,300 +4,400>
text
can also be one of "Branch",
"BranchIfCorrect",
"BranchIfWrong",
"BranchIfNoResponse"
or their synonyms. Note that list is not the complete list of possible DMDX branching
keywords. The first branch condition found to be true (from left to right) will
be taken, for example consider this item:
<mwb +1,100 +2,200 +3,300 +4,400
branch,1000>
The
branch,1000 even though an unconditional
branch will not always be taken, the
+1..+4 responses take precedence. Also
consider the following:
<mwb
bic,100 biw,200 binr,300>
Here the
binr can never be taken because an RT that has
been timed out as the binr would catch is also
wrong and the biw before it always catches
them. Instead you have to list the binr
before the biw:
<mwb
bic,100 binr,300 biw,200> The call variant,
<mwc> can still
use bu,
bic,
biw,
and binr
or it can use call,
cic,
cic,
ciw,
and cinr,
there is no difference.
NOTE: Prior
to version 3.0.1.2 of DMDX the <mwb>
keyword had to occur in the item that gathered the response if you were branching
on key names. While the data used for bic
and so forth persisted until the next RT was gathered the name of the key was cleared
when a new <mwb> was parsed
so that binr would behave
correctly. As of 3.0.1.2 the branching key name is cleared when the next clockon
is parsed so <mwb> is
now useful for extended processing.
The
<mwb>
keyword is handy for custom feedback routines that have to provide different
feedback depending on the item so subjects can repeat the item till they get it
correct:
~1;
+555 * "target" <mwb binr,3 bic,4>
<continue>;
2 <wav> "wrongfeedbackclue"
<bu -1> ;
3 <wav> "toolongwrongfeedbackclue" <bu -1> ;
4 <wav> "correctfeedback"
;
~1;
+556 * "target2" <mwb binr,3 bic,4> <continue>;
2 <wav>
"wrongfeedbackclue2" <bu -1> ;
3 <wav> "toolongwrongfeedbackclue2" <bu
-1> ;
4 <wav> "correctfeedback" ;
Note that
<BB2MR> needs to be in effect for the
backwards branching to work (and of course you'd have
<NoFeedBack> turned on ;)
DMDX Index.