方案演進
- XML + XSL:版面複雜時 XSL 難以維護,客戶端負擔重。
- JavaScript:非所有瀏覽器支援,結構混亂。
- 字串替換:效率低、易錯、難支援版面變更。
最終架構:自訂控件 + 模板解析
靈感來自 ASP.NET:模板內嵌自訂控件,解析識別控件 → 資料綁定 → 輸出靜態 HTML。
有限狀態機解析邏輯
定義 5 大掃描狀態:
- 空狀態
- 尋找控件
- 尋找控件頭部
- 尋找控件內容
- 尋找控件結尾
5 類邊界字元驅動狀態轉換:非邊界、開始邊界、結束邊界、封閉邊界、簡短結束邊界。以堆疊管理控件巢狀結構。
原始碼與部落格
https://homer.cnblogs.com/