I've been trying the same thing myself for a panel I've been tinkering with for a while. The exact XML I came up with is convoluted (probably unnecessarily so :( ) but "works"(kind of) using a loop statement inside a text string by comparing the (A:AIRSPEED INDICATED,knots) vs (A:AUTOPILOT AIRSPEED HOLD VAR, knots) and incrementing or decrementing the vertical speed using KEY_AP_VS_VAR_INC/DEC. With the loop terminating once the ac altitude gets within 200' of the preselected altitude. I say it kind of works as it's a bit lively in terms of the rate at which it varies the VS, so I think I'd describe it as a work in progress. If I ever get it working I'll let you know. (I know there are commercially available dl's with LVL CHG feature so it's obviously a problem that someone else has already solved - or perhaps they completely rewrote the autopilot, way beyond me)