n 11/21/07, Tim Starling <tstarling(a)wikimedia.org> wrote:
<snip>
The parser pass order has changed from
<snip>
* Template and extension tag parse to intermediate
representation
* Template expansion and extension rendering
* HTML normalisation and security
* Main section...
<snip>
The intermediate representation I have used is a DOM
document tree, taking
<snip>
Uncovered main-pass syntax, such as HTML tags, are now
generally valid,
whereas previously in some cases they were escaped. For example, you could
have "<ta" in one template, and "ble>" in another template, and
put them
together to make a valid <table> tag. Previously the result would have
been "<table>".
I'm not sure I grok the impact of these changes. Say you have template
A defined as follows:
''italics'' '''open-bold <b
which is called from an article with text
Crazy: {{A}}r /> stuff'''.
What text does the parser see exactly? Will it see a mixture of both
rendered and un-rendered HTML? ie:
Crazy: <i>italics</i> '''open-bold <br />
stuff'''.
I'm guessing not, because obviously not all HTML is valid input to the
parser (unlike the <i> in this case). Would you mind explaining a bit
more?
I was thinking this over and wondering whether there would be benefit
in an explict tag in templates to mark code that should be passed
unrendered through to its calling page. Something like
<includeraw><ta</includeraw>
But since I haven't really understood how the new PP works, this
probably isn't necessary. ?
Thanks,
Steve