本篇設計患者資料 XML 模型、建立 XForms 輸入表單、加入 XML Schema 驗證與 CSS 樣式,並實作 Rails 後端解析 XML 存入 DB2 pureXML。
定義患者資訊結構:姓名、年齡、保險商、證號(格式 ###-##-####)、保單持有人、自付額、症狀。對應 XML Schema 定義資料型別與限制。
建立 patient.xhtml,綁定模型實例欄位,使用 xf:input、xf:select1、xf:textarea 等元素。提交動作指向 kiosk/create。
在模型引用 patient.xsd,並加入 CSS 針對 :required、:invalid 偽類標示錯誤(黃底)。瀏覽器即時驗證,無需撰寫 JavaScript。
產生 Scaffold:ruby script/generate scaffold patient kiosk。修改 Patient 模型加入 information= 方法將 XML 字串化儲存。修改 Kiosk 控制器 create 方法,使用 REXML 解析 params[:Info] 重建 XML 文件後存入模型。
測試送出表單,資料成功寫入 DB2 並顯示於 Scaffold 列表頁(如下圖)。
