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

Reply via email to