Vincent Massol wrote:
> On Apr 16, 2009, at 8:25 PM, Vincent Massol wrote:
> 
>> Hi,
>>
>> We've had an interesting discussion with Thomas about the need to  
>> introduce a new onRawText() event in the rendering module to replace  
>> the current begin/endXML() events.
>>
>> Here's the need (discovered by Ludovic):
>> * In some cases we want to inject rendered content directly in the  
>> renderer's output. For example there are some cases where we want to  
>> inject HTML directly (in order to bypass parsing)
>>
>> What we propose:
>> * Remove the current XML events
>> * Add a onRawText(Syntax syntax) event and a corresponding RawBlock  
>> block. A raw text is text injected directly in the rendered output  
>> without any parsing/modification. Note that the content depends  
>> completely on the rendered used hence the Syntax parameter.
>> * Add a new {{raw syntax="syntaxId"}} macro so that users can inject  
>> content in the few cases where it's needed
>> * Modify the HTML Macro to use RawBlock blocks instead of XMLBlock.  
>> Also add a new "clean=true|false" parameter (defaut is to clean).  
>> When clean = true, we pass the content to the HTML cleaner.
>>
>> <Implementation note>We still need to parse the content when  
>> wiki=true. We generate RawBlock blocks when we have startElement/ 
>> endElement/CDATA/Comment xml parser events.</Implementation note>
> 
> Revised Implementation:
> * Always generate a single onRawText() event
> * In the case of wiki=true we 2 choices:
> ** remove this feature. I'm not sure we have any valid use cases for it
> ** if we keep it, then call the XHTML renderer to generate XHTML out  
> of wiki syntax so that we can aggregate all HTML and generate a single  
> onRawText() event
> 
> -Vincent
> 
>> This solves a number of issues:
>> * We have a generic way to inject rendered content directly for the  
>> special cases when it's needed (ex: the user really wants to inject  
>> invalid HTML such as META tags in the body content)
>> * We remove the XML events which were a bit weird to have in the  
>> first place.
>>
>> Note that we'll probably need to add some new events in the future  
>> such as one for demarcating a set of blocks (which would translate  
>> in DIV or SPAN in the XHTML renderer for example). This is needed  
>> for example for the Box Macro which is currently using XMLBlock but  
>> that's not completely correct.
>>
>> WDYT?

I agree that we need a mechanism for entering raw content, but:
- I don't think that it applies only to HTML.
- I don't agree that it should be used instead of (or as the base for) 
the current HTML macro
- what's the relation to the verbatim syntax? Could this be just one 
parameterized macro, with escapeXml as a parameter?

-- 
Sergiu Dumitriu
http://purl.org/net/sergiu/

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

Reply via email to