On 11/22/07, Simetrical Simetrical+wikilist@gmail.com wrote:
Well, as he says, uncovered main-pass syntax will now generally be valid. Bold and HTML are both handled in the main (post-template) pass, so you'd get
Crazy: <i>italics</i> <b>open-bold <br /> stuff</b>.
That's ok, I think the meaning *after* the parse phase is clear - I'm just wondering what text the parser is going to have to operate on. In the current in-place transformation parser, it's not really an issue mixing pre- and post-rendered text, because that's what it's doing constantly anyway. But you really don't want that in a recursive descent parser.
Even right now you can open wiki-italics or bold in one template, and close them in another. Or tables, etc. You can use chunks of markup only, if you like: Template:A = '' and template B = ' means {{a}}x{{a}} {{a}}{{b}}y{{b}}{{a}} = <i>x</i> <b>y</b>. See for yourself:
That's all fine, and that fits with the notion of "preprocessor": find all the template references, insert raw text in their place, and *then* parse. The parser never even knows it's happened.
However, pre-rendering some of the stuff to be transcluded is possibly more complicated. That's what I'm trying to find out.
But this doesn't currently work for broken-up HTML tags.
By accident, rather than design. There's no good reason it shouldn't be allowed (and obviously it's now fixed). Though when you're looking at the contents of the template directly, some special processing could be required.
Steve