Implementing XProc, VIII
Part the eighth, in which we get green lights across the board. Ok, it's a small board, but it's still a landmark.
This essay is part of a series of essays about implementing an XProc processor. XProc: An XML Pipeline Language is a W3C specification for specifying a sequence of operations to be performed on one or more XML documents. I'm implementing XProc as the specification progresses. Elsewhere you'll find background about pipelines and other essays about XProc.
Over the last couple of days, I've been hacking my implementation pretty hard. One goal was to process pipelines defined using XProc as she is spoke in the last call draft. Another goal was to construct a framework that allows me to run tests defined using the proposed test format. Not necessarily in that order.
I am delighted to report success on both fronts. And, while the test suite is small (and I know where several untested holes lie), for the first time ever, I got green lights across the board. Woo hoo!
In particular, I got all the magic of “parameter input ports” implemented and I got the context size and context position correct in atomic steps.
Something's not right about the way option values are computed if
the p:option
element has an input binding and I'm sure I've
got problems with
namespaces
bindings, but since the tests don't currently test those things,
I get to bask in the green glow for a few more minutes.
Then I start writing tests for some of those things…