Vincent Massol wrote:
> On Feb 23, 2009, at 9:22 AM, Marius Dumitru Florea wrote:
[snip]
>> I'm surprised. Without knowing too much about how macros are
>> executed, I
>> fill it's natural that if we support nested macros then the inner
>> macros
>> should be executed first so that the outer macros can use the output
>> for
>> their own purpose.
>
> Here's how it works:
>
> * There's no notion of nested macros. Each macro does whatever it
> wants with its content. Some examples:
> - The HTML macro considers it has HTML content and does 3 things:
> - call the HTML cleaner on its content to make it valid XHTML
> and thus valid XML
> - use an XML parser to parse the content
> - for each XML element, call the wiki syntax parser on it (if
> wiki=true which is the default)
> - The velocity macro calls velocity on its content
> - The code macro doesn't call any wiki parser on its content even
> if it contains {{...}} symbols
>
> * The macro execution order is about top level macros present in the
> page and finding which ones to execute first. This works recursively
> so that macros can generate other macros (such as the {{include}}
> macro for ex - it has the a high priority so that it's executed first).
>
> * Thus as you can see it's the top level macro that controls what it
> does and is executed *first*.
>
> Hope it's more clear and hope it's intuitive enough once you
> understand it.
Yes, it's clear now. Thanks a lot for the explanations.
Marius
>
> Thanks
> -Vincent
[snip]
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs