I agree with this point of view: formatting preferences are expressed by customizing style sheets.
Maybe an example can help: <imagedata> has width and height attributes that are, in my point of view, formatting preferences: a user should be use these and not manipulate the style sheet (for example by imposing a fit for every image in the style sheet). But, again for example, variations like bold etc are not into semantic of docbook: a xml document can use proc.instructions or role attr. (ex. <para role="bold" >) to carry this informations to (ConTeXt) engine, but they still remains specific for that engine with a style sheet and there are no guarantees that they will be understand by a different engine. This actually is a limit of docbook in portability : if a user make a xml document with a bold specification in somepoint (with role or proc.instr.) he may expect that bold will be renderer by every engine, but it's not true. Perhaps the questions is how to fill the empties in docbook (infact, we have got xml element for sectioning, tables, images etc) by a simple way for a normal user or, put in another way, if a feature is in xml DocBook you should be use it, if no ask yourself if it's needed and, if yes use a xml construct (from a standard set) to signalling this to ConTexT engine; but in the last case you loose portability. or not ? luigi