分享我的设计: jxt (强结构文档数据表示协议)

jxt(json text)是一个技术实验性项目,核心已经完成,目前处于功能迭代中。
源码适时开放,测试地址:http://www.webjxt.cn/

特点:
  • jxt是用于强结构型文档的数据和数据结构的开放性表示协议;
  • jxt的核心价值是机器之间的数据交互协议;
  • 使用json数据格式,相当于json在垂直领域(强结构型文档)的应用;
  • 数据文档主要由扁平结构的自定义标签构成;
  • 支持多种渲染引擎:html(可编辑),text,pdf,word;
  • 所见即所得的html编辑界面;
  • 支持多人同时在线编辑同一个文档。

简介:
     jxt是受markdown的启发而设计的,继承了markdown的数据和样式分离的特点,并且增强了数据结构,增加了可自定义的语义化标签,以便更好表示数据关系。
    jxt的优势是用于强结构型文档,例如:办公类文档,等。这类文档有较高的数据格式要求和较多的数据交换需求。jxt的数据文档主要由扁平的语义化数据节点构成,便于计算机程序解析、构建和交换。
    jxt和其他协议(例如:html)最重要的区别是:html是人机交互协议,目的是将数据和操作用图形界面方式显示出来供人操作,但是程序要解析html中的数据比较困难,因为数据格式随意未标准化。jxt类似于json,属于程序之间的数据表示协议,易于程序解析、构建和交换数据,再通过渲染引擎图形化实现了对人的友好操作。jxt核心以api方式支持多种渲染引擎:html,text,pdf,word,等。其中html引擎是可编辑引擎,支持所见即所得的编辑界面,对用户友好,易于使用。另通过功能扩展,可以支持多人同时在线编辑同一个文档,实时多向显示,支持单数据节点编辑互斥。

脑图:
分享我的设计: jxt (强结构文档数据表示协议)

jxt结构说明:
数据文档:核心级,json数据格式,主要由扁平结构的自定义元素构成,每个元素自我解释,灵活可扩展。
自定义元素:核心级,json数据格式,用户自定义。各元素之间不可见。
图形化渲染核心:关键级,仅维护数据文档结构,自定义元素有自己的渲染器维护。以api方式支持多种渲染引擎:html,text,pdf,word,等。其中html引擎是可编辑引擎,支持所见即所得的编辑界面,对用户友好,易于使用。
自定义元素渲染器:关键级,每个自定义元素都有自己的渲染器,各元素渲染器之间不可见,但是可以配置为复用其他元素渲染器。
自定义元素模板:关键级,每个自定义元素都有自己的模板,可以配置为复用其他元素模板。
消息系统:重要级,为降低自定义元素之间和与系统元素的耦合性而设计的,直接调用变为消息驱动。
路由器:重要级,为元素渲染器可复用并且之间不可见而设计的。

文档结果示例:
分享我的设计: jxt (强结构文档数据表示协议)

jxtQ群:578579546