xwiki介绍-Rendering

作用: 把给定语法的一些文本输入内容转换成另一种语法的输出内容

通用架构

xwiki介绍-Rendering_第1张图片

  • Parser: 解析一个给定的语法的一些文本输入,并生成一个XDOM对象(一个抽象语法树)
  • Renderer: 取XDOM作为输入并产生一些输出
  • Transformation: 取一些XDOM并修改它生成一个修改后的XDOM

特性

  • 解析器多种语法
  • 同时提供一个流API(用于渲染比较大的内容)和基于XDOM的API(产生一个中间抽象语法树用于转换)
  • XWiki Syntax 2.0和XHTML之间往返。该特性允许,比如有一个强大的WYSIWYG编辑器,当编辑wiki页面时不会丢失的信息。另一个用例是以html导入Office文档,并将其转化XWiki Syntax 2.0不会丢失信息
  • 获得解析后结果作为抽象语法树(称为XDOM),可以用于访问解析后得到的所有结构化元素
  • 能通过Transformation改变XDOM
  • 宏支持(可用宏列表)。请注意,宏支持作为一个Transformation来实现
  • 支持链接标签wiki语法即使输入语法不支持
  • 能自动把任何支持的输入语法转换为XWiki Syntax 2.0或XHTML
  • 强大的解析器:
    • 基于语法(JavaCC)
    • 修正用户错误(标签没闭合,重叠的标记元素...)
    • 每个块元素(段落,表格单元格,列表项,表头...)可以分布在多行
    • 支持组,即能在其他内容里包含内容(相对于HTML里的DIV)
    • 所有的元素可以有相关的参数
  • 用于XWiki Enteprise有好几年了,稳定并且高性能
  • 可独立使用,因为它是独立于其他XWiki项目,如XWiki Platform, XWiki Enterprise等等

支持语法

输入语法

这意味着有一个解析器,可以用来解析此语法为XDOM对象

输出语法

这意味着有一个渲染器,可渲染xdom为这个语法

名字 Id 输入语法? 输出语法? 描述
XWiki 2.0 xwiki/2.0  
XWiki 2.1 xwiki/2.1  
XHTML 1.0 xhtml/1.0  
HTML 5.0 html/5.0 XWiki Rendering 6.4+ 可用
HTML 4.01 html/4.01  
Plain Text plain/1.0  
DocBook 4.4 docbook/4.4 XWiki Rendering 3.2+ 可用
XDOM XML Current xdom+xml/curent XWiki Rendering 3.3+ 可用
XDOM XML 1.0 xdom+xml/1.0 XWiki Rendering 3.3+ 可用 
XWiki 1.0 xwiki/1.0  
Confluence confluence/1.0  
Confluence XHTML confluence+xhtml/1.0  
JSPWiki jspwiki/1.0  
TWiki twiki/1.0  
MediaWiki mediawiki/1.0  
Creole 1.0 creole/1.0  
Markdown 1.0 markdown/1.0 XWiki Rendering 3.4+ 可用
Markdown 1.1 markdown/1.1 XWiki Rendering 5.2+ 可用
APT apt/1.0 XWiki Rendering 4.3+ 可用

 

使用XWiki Rendering的项目

  • XWiki Enterprise:肯定了...
  • eXo Platform: 在eXo工具里使用XWiki Rendering和XWiki WYSIWYG Editor来提供简单wiki功能
  • Wikbook: 使用XWiki Rendering把用wiki语法编写的内容生成DocBook
  • Jahia: 在"Jahia Wiki 模块"使用XWiki Rendering
  • Grail XWiki Rendering Plugin:Grails plugin 允许使用XWiki Rendering 转换文本

你可能感兴趣的:(xwiki开发人员指南)