FirstPolyglotWiki

Last modified by Vincent Massol on 2019/06/11 10:11

Jan 02 2009

We're just finishing rewriting from scratch the XWiki rendering engine (it's already usable in XWiki Enterprise 1.7 and will be completely finished in 1.8). We were using Radeox but it's been dead for several years and it was just too limitating and slow (based on regex) for our need. As a consequence we now have a state of the art rendering engine that supports multiple wiki syntaxes, hence making XWiki the first Polyglot Wiki.

Supported syntaxes other than the XWiki syntax are: Confluence, JSPWiki, MediaWiki, TWiki, Creole and HTML/XHTML (for the intrepid ones). In addition we'll be adding new syntaxes as we progress since it's now very easy to do so.

syntax.png

What this means is that if you like XWiki and you want to switch to it but you don't want to learn another wiki syntax, you will be able to switch and keep using your favorite syntax. XWiki is even able to convert on the fly between one syntax and another (currently implemented only for some syntaxes).

Technically we have parsers for each syntax which transforms text into an internal representation using Java Objects (called XDOM) which we then traverse and render using one the available Renderers (XHTML Renderer, XWiki Syntax 2.0 Renderer to convert to XWiki Syntax 2.0, PDF/RTF Renderer, etc), as shown in the diagram below.

rendering-architecture.png

Note: Not all syntax elements are fully implemented for all syntaxes and we still have lots of fine tuning to work on so don't expect something perfect yet for syntaxes other than XWiki 1.0, XWiki 2.0 or HTML/XHTML syntaxes. In term of Renderers we currently have the XHTML and XWiki 2.0 Syntax ones implemented. The others are planned for later.

Created by Vincent Massol on 2008/12/21 10:33