You'd need to customize the DocBook converter to generate the hand-crafted DocBook you want. Once you are in the converter, you can pull content from anywhere you want so that you can "escape" from the implicit AsciiDoc structure. For instance, you could pull the legend from a separate file, or a separate area of the document.
The quickest way to customize the converter is to use the template-based converter. We have a full set of templates for the DocBook converter to give you a starting point:
You only need to include the templates you want to customize in the template folder. If a template file is missing, it will fallback to the internal converter for that node in the tree.
Once you've setup the directory, you pass it to Asciidoctor using:
$ asciidoctor -T /path/to/custom/templates document.adoc
You can also create a custom converter in Ruby (and eventually Java once we get it integrated into AsciidoctorJ).