Ralph Goers wrote:

Why would it begin with loading the template? The process begins with the controller accessing the model and then making a determination of what to do next. It might need to go back to the model to obtain another piiece of information to display an alternate screen before displaying the one it collected the inital data for, for example.

The template should only be accessed when the data is ready to be manipulated, not before.

However useless the action may be, calling sendPage* on a pipeline without JXTG still produces (generates) output doesn't it? I'm not trying to be difficult, even though it may seem so.


If you can have a pipeline that ignores the object model passed from Flow, how can that object model be automatically considered an intrinsic part of generation? The Flow object model is available to components further down the pipeline too isn't it?

With XSLT/STX, the stylesheet is the manipulative/transformative vector. With a flow template transformer, it's the flow object model. With the i18n transformer, it's the l10n catalog(s).


I don't understand this. With these examples the "manipulative/ransformative vector" is the template, not the object model. That is what is being operated upon. All of the above are transformers and the all operate the same way; they are fed SAX events and output SAX events based upon the XSLT Stylesheet, the template, or the I18n elements.

Okay, aside from my obfuscated terminology, how is that true of the I18Transformer? It takes SAX events (just like a template transformer would if the template file were read in from the FileGenerator), but it's catalog data, while stored on the filesystem in XML files, is not read in as a SAX stream; it's an injected data model. The fact that the catalog files are stored as XML is an implentation detail, not part of the SAX processing pipeline.


If you were to load a .jx template in the FileGenerator, it's still data. It's still a starting point whether or not there's a Flow bean awaiting iteration. Does JXTG start processing by handling the Flow objects or by reading and parsing the template file.

Data injection is secondary.  Important, but secondary.

- Miles Elam



Reply via email to