Here is my Current WHM XML. Most of the rules are in there only more things I can think of always triggering my medicine ring which I currently don't have the gear to do and maybe some /sch things which I don't have leveled currently.
reformated my xml to use a big if/elseif chain based on type and then a smaller one under magic based on skill which I've found makes it much more readable and cleaner looking.
This is a fairly big rewrite of my xml so creating a second entry on the wiki.
Note All the times used in cancel are for /blm or /nin and not for /sch or /rdm both of which would reduce cast times.
Reformated again to use 2.3 syntax and my include file and WS include.
<?xml version="1.0" ?>
<spellcast xmlns:xi="http://www.w3.org/2001/XInclude">
<config RequireVersion="2.30" Debug="false" HideErrors="false" ShowSpellInfo="false" ShowGearSwaps="false"/>
<sets>
<group default="yes" name="WHM">
<set name="Fast Cast" load="yes">
<feet>Rostrum Pumps</feet>
</set>
<set name="Resting Gear" BaseSet="Standard" load="yes">
<main>$DarkStaff</main>
<body>Errant Hpl.</body>
<waist>Hierarch belt</waist>
</set>
<set name="Healing Gear" BaseSet="Nobles" load="no">
<main>$LightStaff</main>
</set>
<set name="Nobles" load="yes">
<body>Noble's Tunic</body>
</set>
<set name="Haste Gear" load="yes">
<head>Walahra Turban</head>
<hands>Blessed Mitts</hands>
<legs>Blessed Trousers</legs>
<feet>Blessed Pumps</feet>
</set>
<set name="Standard" load="yes">
<main>$EarthStaff</main>
<sub>Lizard Strap +1</sub>
<ammo>Fortune Egg</ammo>
<head>Walahra Turban</head>
<neck>Ajari Necklace</neck>
<lear>Enhancing Earring</lear>
<rear>Bat Earring</rear>
<body>Noble's Tunic</body>
<hands>Blessed Mitts</hands>
<lring>Electrum Ring</lring>
<rring>Electrum Ring</rring>
<back>Blue Cape</back>
<waist>Hierarch belt</waist>
<legs>Blessed Trousers</legs>
<feet>Blessed Pumps</feet>
</set>
<set name="Banish Gear" Baseset="MND Gear" load="yes">
<main>$LightStaff</main>
</set>
<set name="MND Gear" load="yes">
<legs>Blessed Trousers</legs>
<body>Errant Hpl.</body>
<neck>Ajari Necklace</neck>
<hands>Blessed Mitts</hands>
<feet>Blessed Pumps</feet>
</set>
<set name="Engaged" Baseset="Haste Gear" load="yes">
<neck>Peacock amulet</neck>
<body>Reverend mail</body>
</set>
<set name="Weapon Skill" BaseSet="Engaged" load="yes">
<head>Optical Hat</head>
<body>Reverend mail</body>
<neck>Peacock amulet</neck>
<hands>Hlr. Mitts +1</hands>
<waist>Potent Belt</waist>
<feet>Savage Gaiters</feet>
</set>
<xi:include href="include/weaponsskills.xml" xpointer="//include[@name='Club']/*" />
<xi:include href="include/weaponsskills.xml" xpointer="//include[@name='Staff']/*" />
</group>
<group name="WHM-Melee" inherit="WHM">
<set name="Resting Gear">
<main/>
<sub/>
</set>
<set name="Healing Gear" BaseSet="Nobles">
<main/>
</set>
<set name="Standard" >
<main/>
<sub/>
</set>
<set name="Banish Gear" BaseSet="MND Gear">
<main/>
</set>
<set name="Engaged" Baseset="Haste Gear" load="no">
<neck>Peacock amulet</neck>
<lear>Coral Earring</lear>
<rear>Coral Earring</rear>
<lring>Sniper's Ring</lring>
<rring>Rajas Ring</rring>
<back>Ryl. Army Mantle</back>
<waist>Potent Belt</waist>
</set>
</group>
<group name="WHM-NIN" inherit="WHM-Melee">
<set name="Standard" load="no">
<main>Morgenstern</main>
<sub>Prudence Rod</sub>
</set>
<set name="Engaged" load="no">
<ammo>Virtue Stone</ammo>
<rear>Suppanomimi</rear>
</set>
</group>
<group name="WHM-NIN-acc" inherit="WHM-NIN">
<set name="Engaged" load="no">
<head>Optical Hat</head>
<neck>Peacock amulet</neck>
</set>
</group>
<group name="WHM-Melee-acc" inherit="WHM-Melee">
<set name="Engaged" load="no">
<head>Optical Hat</head>
<neck>Peacock amulet</neck>
</set>
</group>
<group>
<set name = "MiscGearCollector" load="yes">
<main>Dark Staff</main>
<main>Light Staff</main>
<main>Earth Staff</main>
<body>Healer's briault</body>
<hands>Hlr. Mitts +1</hands>
<hands>Cleric's Mitts</hands>
<lring>Medicine Ring</lring>
<waist>Korin Obi</waist>
<legs>Cleric's Pantaln.</legs>
<legs>Healer's Pantaln.</legs>
<item>Ginger Cookie</item>
<item>Wizard Cookie</item>
</set>
</group>
</sets>
<variables clear="false">
<xi:include href="include/includes.xml" xpointer="//include[@name='VarStaves']/*" />
<xi:include href="include/includes.xml" xpointer="//include[@name='VarObis']/*" />
<var name="TellLS">0</var>
</variables>
<rules>
<xi:include href="include/includes.xml" xpointer="//include[@name='DeadRules']/*" />
<xi:include href="include/includes.xml" xpointer="//include[@name='CancelRules']/*" />
<equip when="idle" set="Standard" />
<equip when="engaged" set="Engaged" />
<equip when="resting" set="Resting Gear" />
<equip when="precast" set="Fast Cast"/>
<equip when="midcast" set="Haste Gear" />
<if Status="engaged">
<equip when="precast|midcast|aftercast">
<main lock="t" />
<sub lock="t" />
</equip>
<equip when="aftercast" set="Engaged"/>
<if MPPAftercastLT="50">
<equip when="aftercast" set="Nobles"/>
</if>
</if>
<else>
<equip when="aftercast" set="Standard" />
</else>
<if type="JobAbility" />
<xi:include href="include/includes.xml" xpointer="//include[@name='WeaponSkillRule']/*" />
<elseif type="Ninjutsu">
<if Spell="Utsusemi: Ni" />
<elseif spell="Utsusemi: Ichi">
<midcastdelay delay="2.5" />
<cmd when="midcast">cancel 66</cmd>
</elseif>
</elseif>
<elseif type="WhiteMagic|BlackMagic">
<if skill="HealingMagic">
<if spell="cure*|cura*">
<if spell="cure*">
<if Spell="Cure IV">
<if MLvlGT="61" notMPLT="135">
<ChangeSpell Spell="Cure V" />
</if>
<elseif mode="or" MLvlLT="41" MPLT="88">
<ChangeSpell Spell="Cure III" />
</elseif>
</if>
<if Spell="Cure V">
<if mode="or" MLvlLT="61" MPLT="135">
<ChangeSpell Spell="Cure III" />
</if>
</if>
<if Spell="Cure III">
<if mode="or" MLvlLT="24" MPLT="46">
<ChangeSpell Spell="Cure II" />
</if>
</if>
<if Spell="Cure II">
<if MPLT="24">
<if MLvlGT="24">
<CancelSpell/>
</if>
<else>
<ChangeSpell Spell="Cure" />
</else>
</if>
<elseif MLvlLT="11">
<ChangeSpell Spell="Cure" />
</elseif>
</if>
</if>
<elseif spell="cura*">
<if spell="Curaga IV">
<if mode="or" MLvlLT="71" MPLT="260">
<ChangeSpell Spell="Curaga III" />
</if>
</if>
<if spell="Curaga III">
<if mode="or" MLvlLT="51" MPLT="180">
<ChangeSpell Spell="Curaga II" />
</if>
</if>
<if spell="Curaga II">
<if mode="or" MLvlLT="31" MPLT="120">
<ChangeSpell Spell="Curaga" />
</if>
</if>
<if spell="Curaga">
<if MPLT="60">
<CancelSpell/>
</if>
</if>
</elseif>
<equip when="midcast" Set="Healing Gear"/>
<if HPPLT="76">
<equip when="midcast">
<lring>Medicine Ring</lring>
</equip>
</if>
</if>
<elseif spell="Raise*">
<if spell="Raise III">
<if MLvlLT="70">
<ChangeSpell Spell="Raise II" />
</if>
</if>
<if spell="Raise II">
<if MLvlLT="56">
<ChangeSpell Spell="Raise" />
</if>
</if>
<if advanced='$TellLS == 1'>
<cmd when="midcast">input /l Casting %spell on %SpellTargetName</cmd>
</if>
<else>
<cmd when="midcast">input /p Casting %spell on %SpellTargetName </cmd>
</else>
</elseif>
<elseif spell="Reraise*">
<if spell="Reraise III">
<if MLvlLT="75">
<ChangeSpell Spell="Reraise II" />
</if>
</if>
<if spell="Reraise II">
<if MLvlLT="60">
<ChangeSpell Spell="Reraise" />
</if>
</if>
</elseif>
</if>
<elseif skill="ElementalMagic" />
<elseif skill="EnfeeblingMagic">
<if type="WhiteMagic">
<equip when="midcast" Set="MND Gear"/>
</if>
<elseif type="BlackMagic" />
<equip when="midcast">
<body>Healer's briault</body>
<hands>Cleric's Mitts</hands>
</equip>
</elseif>
<elseif skill="EnhancingMagic">
<if type="WhiteMagic">
<if spell="Regen*">
<if spell="Regen III">
<if MLvlLT="66">
<ChangeSpell Spell="Regen II" />
</if>
</if>
<elseif spell="Regen II">
<if MLvlLT="44">
<ChangeSpell Spell="Regen" />
</if>
</elseif>
</if>
<elseif spell="Protect*|Shell*">
<if spell="Protect*">
<if spell="Protectra*">
<if spell="Protectra V">
<if MLvlLT="75">
<ChangeSpell Spell="Protectra IV" />
</if>
</if>
<if spell="Protectra IV">
<if MLvlLT="63">
<ChangeSpell Spell="Protectra III" />
</if>
</if>
<if spell="Protectra III">
<if MLvlLT="47">
<ChangeSpell Spell="Protectra II" />
</if>
</if>
<if spell="Protectra II">
<if MLvlLT="27">
<ChangeSpell Spell="Protectra" />
</if>
</if>
</if>
<elseif notspell="Protectra*">
<if spell="Protect IV">
<if MLvlLT="63">
<ChangeSpell Spell="Protect III" />
</if>
</if>
<if spell="Protect III">
<if MLvlLT="47">
<ChangeSpell Spell="Protect II" />
</if>
</if>
<if spell="Protect II">
<if MLvlLT="27">
<ChangeSpell Spell="Protect" />
</if>
</if>
</elseif>
</if>
<elseif spell="Shell*">
<if spell="Shellra*">
<if spell="Shellra V">
<if MLvlLT="75">
<ChangeSpell Spell="Shellra IV" />
</if>
</if>
<if spell="Shellra IV">
<if MLvlLT="68">
<ChangeSpell Spell="Shellra III" />
</if>
</if>
<if spell="Shellra III">
<if MLvlLT="57">
<ChangeSpell Spell="Shellra II" />
</if>
</if>
<if spell="Shellra II">
<if MLvlLT="37">
<ChangeSpell Spell="Shellra" />
</if>
</if>
</if>
<elseif notspell="Shellra*">
<if spell="Shell IV">
<if MLvlLT="68">
<ChangeSpell Spell="Shell III" />
</if>
</if>
<if spell="Shell III">
<if MLvlLT="57">
<ChangeSpell Spell="Shell II" />
</if>
</if>
<if spell="Shell II">
<if MLvlLT="37">
<ChangeSpell Spell="Shell" />
</if>
</if>
</elseif>
</elseif>
</elseif>
<elseif spell="Stoneskin">
<equip when="Midcast" Set="MND Gear"/>
</elseif>
<elseif Spell="Bar*">
<equip when="precast|midcast" Set="MND Gear">
<legs>Cleric's Pantaln.</legs>
</equip>
</elseif>
<elseif Spell="Teleport*|Recall*|Escape">
<cmd when="midcast">input /p Casting %spell</cmd>
<cmd when="aftercast">input /p and away we go.</cmd>
</elseif>
</if>
<elseif type="BlackMagic" />
</elseif>
<elseif skill="DivineMagic">
<if Spell="Banish*|Holy">
<if spell="Banish*">
<if spell="Banishga*">
<if spell="Banishga II">
<if MLvlLT="40">
<ChangeSpell Spell="Banishga" />
</if>
</if>
</if>
<elseif notspell="Banishga*">
<if spell="Banish III">
<if MLvlLT="65">
<ChangeSpell Spell="Banish II" />
</if>
</if>
<if spell="Banish II">
<if MLvlLT="30">
<ChangeSpell Spell="Banish" />
</if>
</if>
</elseif>
<equip when="midcast">
<hands>Cleric's Mitts</hands>
</equip>
</if>
<equip when="Midcast" Set="Banish Gear"/>
</if>
<elseif spell="Repose">
<if MLvlLT="48">
<CancelSpell/>
</if>
<else>
<equip when="Midcast" Set="Banish Gear"/>
<if advanced='$TellLS == 1'>
<cmd when="midcast">input /l Casting %spell on %SpellTargetName</cmd>
</if>
<else>
<!-- <cmd when="midcast">input /p Casting %spell on %SpellTarget </cmd>-->
<cmd when="midcast">input /echo Casting %spell on %SpellTargetName </cmd>
</else>
<xi:include href="include/includes.xml" xpointer="//include[@name='SleeptoChat']/*" />
</else>
</elseif>
<equip when="precast|midcast">
<legs>Healer's Pantaln.</legs>
<hands>Hlr. Mitts +1</hands>
</equip>
</elseif>
<elseif skill="DarkMagic" />
</elseif>
<xi:include href="include/includes.xml" xpointer="//include[@name='ObiRules']/*" />
</rules>
</spellcast>