Your second pattern is
mixed {(element b {text}*, element i {text}*)}.
In other words, <i> cannot precede <b>.
Your first pattern is
(element b {text}*) & (element i {text}*) & text
This allow any mixture of text, <b>, and <i>.
Cheers,
--
MURATA Makoto (FAMILY Given) <EB2M-MRT at asahi-net.or.jp>