Jump to content
切換選單
切換偏好設定選單
切換個人選單
尚未登入
如果您進行編輯,系統將會為您建立一個臨時帳戶。

模組:EntitySchema/doc

出自幻跡百科

此頁面為 模組:EntitySchema 的說明文件


這是什麼?

EntitySchema 是 BenWiki 的通用資料 Schema 解析器。

它描述的是:

某一類實體有哪些正式資料、資料的意義是什麼、重要程度如何。

例如:

EntitySchema/Base
└─ EntitySchema/創作者
   └─ EntitySchema/VTuber

和 Infobox Schema 的差別

這兩種 Schema 不負責同一件事。

模組:EntitySchema
資料本身的 canonical definition。
模組:Infobox/Schema
資料在 Infobox 中如何呈現。

例如「代表圖片」是 Creator 的正式資料,因此它的:

  • key
  • template parameter
  • SMW Property
  • requirement
  • kind
  • canonical order

應由 EntitySchema 定義。

至於:

  • 圖片顯示 300px
  • 資訊欄 bodyClass
  • 哪個 presentation section 顯示在哪裡

則屬於 Infobox Schema。

Requirement

目前欄位可依內容需求描述為:

required
實體成立必須存在的資料。
recommended
強烈建議提供,但缺少時資料仍然有效。
optional
有資料才保存,不應因 UI 展開狀態而額外建立資料。

繼承

Schema 可以:

return {
    extends = '父Schema'
}

解析器會遞迴合併 table,子層只需要描述新增或覆寫的部分。

責任邊界

EntitySchema 應負責:

  • canonical key
  • template parameter
  • SMW Property
  • value kind
  • requirement
  • canonical order
  • collection 結構

EntitySchema 不應負責:

  • CSS
  • Capiunto
  • SMW query
  • Page Forms DOM
  • Citizen Skin
  • 某個欄位如何畫在資訊欄

目前 Creator 定義位於: