模組: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 定義位於: