On Fri, Sep 17, 2010 at 08:12, Vincent Massol <[email protected]> wrote: > Hi, > > I thought it would be good to summarize the rules I'm implementing/fixing > relative to escaping in link references for both XWiki Syntax 2.0 and the new > XWiki Syntax 2.1 I have started. This will later go in the XWiki Syntax page > on xwiki.org. > > There are 2 set of rules: > - For entity references > - For link references > > Entity References > ============== > > The rules are (independent of the XWiki Syntax): > - if you need a \ in any part of the reference then you need to double it > with \\ > - For a : in a space name it's \: > - For a . in a page name it's \. > - For a @ in an attachment name it's \@ > - For a ^ in an object name it's \^ > - For a . in an object property name it's \. > > Link References > ============= > > For XWiki Syntax 2.0 > ---------------------------- > > The rules are: > > - if the link reference points to a document and you want a ?, #, @ or \ in > any part of the reference you need to escape them with \?, \#, \@ or \\. > > Note that when resolving a link reference to a document the link reference > escapes are first unescaped and then the entity reference is unescaped. For > ex for: [[label>>my\.page]] will result in a link to a page named "my.page" > and [[label>>my\?page]] to "my?page". > > - if link reference points to a mailto then no escaping is performed at all. > Thus [[label>>mailto:[email protected]]] will generate in HTML <a > href="mailto:[email protected]">[email protected]</a> > - same for link refs to URLs > - For link to attachments, only the entity reference escape is performed, no > additional escape is done for the link reference. > - For link to interwiki, if the interwiki path needs a @ then it must be > escaped with \...@. Same for the interwiki alias. Example: > [[label>>wh...@ever@wi...@pedia]] > > For XWiki Syntax 2.1 > ---------------------------- > > The rules are: > > - if the link reference points to a document and you want a ?, # or \ in any > part of the reference you need to escape them with \?, \#, or \\. > - if link reference points to a mailto then no escaping is performed at all. > - same for link refs to URLs > - For link to attachments, only the entity reference escape is performed, no > additional escape is done for the link reference. > - For link to interwiki, no escaping is performed at all (and ":" is not > allowed in the interwiki alias). Example: > [[label>>interwiki:wikipedia:what\\ever]] will generate an interwiki path of > what\\ever > > Open Questions > ============= > > Do we want to allow \\ in any link references (mailto, attach, interwiki, > url, etc) and unescape it to \ or should we keep the rules defined above?
-1, URI/URL standards have there how escaping system so no need to had ours, in interwiki there is nothing to escape unless we allow to have : in interwiki alias which is not really needed IMO > > Thanks > -Vincent > > > _______________________________________________ > 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

