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.