Skip to main content

Metaschema Architecture using Mermaid

Mermaid is a notation for producing graphics from abstract node/network descriptions

The following is the Mermaid notation for the chart above:

graph TB
  ms1[module] -- include --> ms
  ms2[module] -- include --> ms
  xmp1[example] -- cite --> ms
  xmp2[example] -- cite --> ms
  ms[main Metaschema] -- compile metaschema --> cms
  cms -- extract documentation --> xmldocsh[XML docs / HTML]
  cms((Compiled metaschema)) -- translate --> sch(XML Schema)
  cms -- xdm::object map --> xj{xml to json XSLT}
  cms -- object::xdm map --> jx{json to xml XSLT}
  cms -- translate --> jsch(JSON Schema)
  cms -- extract documentation --> jsondocsh[JSON docs / HTML]

classDef metasch fill:skyblue,stroke:blue,stroke-width:12px,stroke-opacity:0.2
classDef xml fill:gold,stroke:#333,stroke-width:2px;
classDef json fill:pink,stroke:#333,stroke-width:2px
classDef html fill:lightgreen,stroke-width:2px
classDef md fill:lightgreen,stroke-width:4px,stroke-dasharray:2,2

class cms,ms,ms1,ms2,xmp1,xmp2 metasch
class sch,xj xml
class jsch,jx json
class xmldocsh,jsondocsh html
class xmldocmd,jsondocmd md

This page was last updated on January 9, 2020.