How to hande the choice element

I have a DITA document that includes the structure:
task/taskbody/steps/step/choices/choice/p (some elements omitted)

The text is:
1. an instruction
the result
2. Do one of the following:
do this
or this
The result of step 2 is this.
3. carry on

where do this/or this is a choices element with two choice elements, each with a nested paragraph.

Converting to OmniHelp, what I get is:

p class="Steps": Procedure:
ol class="StepNumberedFirst"
li class="StepNumberedFirst": an instruction
p class="StepResult1": the result-------note there is no closing tag for the li
li class="StepNumbered": Do one of the following:
/ol --------------the ol ends

p class="Steps": Procedure: ----- This is the output from the choices element.
p class="p": do this
p class="p": or this
p class="StepResult1": The result of step 2 is this.

ol class="StepNumbered"----------a new ol starts with step 3.

Obviously there are multiple problems here. I've searched the User Guide, and all the config files I can find, and don't find any mention of choices.

I tried a block format mapping of
choices/* = (that is, don't output anything)
p/choice/* = Bulleted1

That got part of the way, but it's still very messy.

If anyone can point me in the right direction - what files I should be editing, etc. - I'd be grateful.

Roger Shuttleworth
London, Canada