regards
Pascal
On Tue, May 5, 2009 at 4:58 PM, Vincent Massol <vincent(a)massol.net>
wrote:
On May 5, 2009, at 4:16 PM, Pascal Voitot wrote:
no better idea...
a very special case to remind in the syntax help to my mind...
Just committed the new behavior. Would be great if some users/devs
could verify it works on their use cases.
Thanks
-Vincent
Pascal
On Tue, May 5, 2009 at 9:40 AM, Vincent Massol <vincent(a)massol.net>
wrote:
After trying to implement it I've found the
following caveats:
* if the user wants an html comment he needs to escape the --
* if the user wants a NL he'll need to enter <br/>
* if the user wants a paragraph he'll need to enter <p>...</p>
* And the most problematic one IMO: the user needs to be very
careful
about new lines since:
<table>
<tr>
<td>
* [[listitem]]
</td>
</tr>
</table>
is very different from
<table>
<tr>
<td>
* [[listitem]]
</td>
</tr>
</table>
In the first case the </td>, </tr> and </table> and continuation of
the list item written in wiki syntax since the wiki parser accepts
multiline content... hence you'll get in XHTML:
<table><tbody><tr><td><ul><li><!--startwikilink:listitem--><span
class="wikicreatelink"><a href="/xwiki/bin/view/listitem?
parent=xwiki:Space.Page"><span
class="wikigeneratedlinkcontent">Page</
span></a></span><!--stopwikilink--></td></tr></tbody></table></
li></
ul>
which is completely invalid.
The same applies for:
{{macro/}}
</td>
vs
{{macro/}}
</td>
in the first case the macro is inline and will generate inline
content
and in the second case it's standalone.
Still trying to figure out a best solution but I don't see one
right
now...
If you have any idea, shoot!
Thanks
-Vincent
On May 4, 2009, at 3:25 PM, Vincent Massol wrote:
> Hi,
>
> After discussing with Thomas we've reached the conclusion that we
> should change the way the HTML macro handle its content when
> wiki=true.
> For ex take the following input:
>
> {{velocity}}
> ...
> {{html wiki="true"}}
> <form>
> $xwiki.includeForm("XWiki.MyClassSheet")
> <br />
> <p>
> <input type="submit" name="submit" value="Create this
new
> Workpackage" />
> </p>
> </form>
> {{/html}}
> ...
> {{/velocity}}
>
> And assume that MyClassSheet has some $doc.display() velocity code
> which thus generate {{html}} macros.
>
> Current Result
> ============
>
> Right now here's what happens:
> 1) velocity macro is executed and $xwiki.includeForm executes
> 2) MyClassSheet generate {{html}} macro content thus yielding:
>
> {{html wiki="true"}}
> <form>
> {{html}}...<someTag>...</someTag>{{/html}}
> </form>
> {{/html}}
>
> 3) After velocity has finished executing the velocity macro calls
> the wiki parser on the result and thus the top level HTML macro
> executes
> 4) since wiki=true the content is given to a SAX parser and each
> XML
> tag content is given to the wiki parser. Thus "{{html}}...",
"..."
> and "{{/html}}" will be parser by the wiki parser separately
> (because <someTag> is valid XML), thus generating non expected
> content as a result.
>
> Proposed change
> ==============
>
> Modify the HTML behavior so that the wiki parser executes first
> (instead of the SAX parser) and render the result using a special
> renderer that prints the special symbols and text as is.
>
> When run on our example this would give (same steps 1) and 2)):
>
> 3) wiki parser executes and generate XDOM. Render it using the
> special renderer
>
> Note that this means that if in HTML your write content that has a
> meaning in some wiki syntax you'll need to escape it. For
> example if
> you have:
>
> {{html wiki=true}}
> <!--hello-->
> {{/html}}
>
> you'll get some strikethrough. So you'll need to write instead:
>
> {{html wiki=true}}
> <!~-~-hello~-~->
> {{/html}}
>
> WDYT?
>
> Here's my +1
>
> Thanks
> -Vincent
>
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
devs(a)xwiki.org