2010/4/9 Andreas Jonsson <[email protected]>:
> Hi,
>
> I prefer a solution where the end token is changed rather than
> the content.  Look at the embedded parser construction in
> MoinMoin syntax for an example.
>
> I instead propose to introduce an instruction to the parser in
> the start-tag to expect a different end token.  Something like:
>
> {{foo #endtag:foobar}}
> content
> {{/foo}}
> still content
> {{/foobar}}

That would be a major change for the syntax, here i'm trying to fix a
xwiki/2.0 syntax issue not find what to do in xwiki/2.1 syntax.

>
> For verbatim we could use the same technique as MoinMoin, either:
>
> {{{{
> content
> }}}
> more content
> }}}}
>
> or:
>
> {{{arbitrarystringofalphanumerics
> content
> }}}
> more content
> arbitrarystringofalphanumerics}}}
>
>
> Best regards,
>
> Andreas Jonsson
>
>
> Thomas Mortagne wrote:
>> Hi devs,
>>
>> We have a limitation in the xwiki/2.0 parser related to the way macros
>> are parsed: impossible to have the ending syntax of a macro as content
>> of this macro.
>>
>> Here is the related jira issue: http://jira.xwiki.org/jira/browse/XWIKI-5077
>>
>> A good example is: i want to have "{{/code}}" alone as the content of
>> a code macro. That's impossible.
>>
>> The only way to have {{/code}} in the content is with:
>>
>> {{code}}
>> {{code}}
>> {{/code}}
>> {{/code}}
>>
>> or
>>
>> {{code}}
>> ~{{/code}}
>> {{/code}}
>>
>> but in the first case you get "{{code}}" you did not want and in the
>> second you get "~" you did not want.
>>
>> Only solution i can see is to specifically handle escaping of ending
>> macro syntax inside macros of the same name.
>>
>> Here is some examples:
>>
>> 1)
>>
>> {{code}}
>> ~{{/code}}
>> {{/code}}
>>
>> would give code macro containing "{{/code}}"
>>
>> 2)
>>
>> {{code}}
>> ~{{/somemacro}}
>> {{/code}}
>>
>> would give code macro containing "~{{/somemacro}}"
>>
>> 3)
>>
>> {{code}}
>> ~~{{/code}}
>> {{/code}}
>>
>> would give code macro containing "~" followed by the text "{{/code}}"
>>
>> 4)
>>
>> {{code}}
>> ~~~{{/code}}
>> {{/code}}
>>
>> would give code macro containing "~{{/code}}"
>>
>> 5)
>>
>> Then double escaping for each level to escape:
>>
>> {{box}}
>> {{box}}
>> ~~~{{/box}}
>> {{/box}}
>> {{/box}}
>>
>> would give box macro containing a box macro containing the text
>> "{{/box}}": the first pass change "~~~{{/box}}" into "~{{/box}}" like
>> in example 4) and the second pass escape "{{/box}}" like in example
>> 1).
>>
>> So WDYT ?
>>
>> Here is my +1
>>
>>
>
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
>



-- 
Thomas Mortagne
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to