5.1 模型與模型之間的轉換規則
5.1.1 網頁應用程式導引精靈模型轉換規則
國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
50
5.1.1 網頁應用程式導引精靈模型轉換規則
首先從平台無關的導引精靈結構開始,圖 5.1 為對應於網頁應用程式導引精靈的頁面結 構轉換規則示意圖,iWizard 會被轉換成 Web 模型,用來收集網頁應用程式導引精靈的 所有內容,接著依序將 iPage 與 iPageName 分別轉換成 WPage 與 WPageName 模型完成 網頁應用程式導引精靈的頁面結構轉換,最後包含在 iPage 裡所有繼承 Question 類別的 問題描述模型,都會被轉換成 ComponentSet 模型進行接下來問題描述模型的轉換。
圖 5.1:網頁應用程式導引精靈的頁面結構轉換示意圖。
ComponentSet 是用來收集在 WPage 上描述一個資料收集問題所需的使用者介面元 件集合,所以不同的問題描述模型經過轉換後都會產生一組特定的使用者介面元件集合,
我們將從四種不同的問題描述超模型來進行轉換規則的介紹,分別是 TextInput、
MultipleChoice、Dialog 與 GroupQuestion:
TextInput
圖 5.2 為 TextInput 對應於網頁應用程式導引精靈的轉換示意圖,TextInput 對於不 同的「style」屬性轉換結果也會有所不同,主要分成以下兩種類型:
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
51
圖 5.2:TextInput 的網頁應用程式導引精靈轉換示意圖。
• textfield:產生 Label 與 Input 模型,Label 用來顯示資料收集問題的標題,Input 則是在「type」屬性給予 text 值,產生一個用來收集單行文字資料的欄位。
• textarea:產生 Label 與 TextArea 模型,Label 用來顯示資料收集問題的標題,TextArea 則是用來收集多行文字資料的欄位。
MultipleChoice
圖 5.3 為 MultipleChoice 與 MenuItem 對應於網頁應用程式導引精靈的轉換示意圖,
MultipleChoice 對於不同的「style」屬性轉換結果也會有所不同,主要分成以下三種類 型:
• radiobutton:產生一個 Label 模型用來顯示資料收集問題的標題,接著根據 MenuItem 個數產生對等數量的 Input 與 Label 模型,Input 在「type」屬性給予 radio 值,產生 radiobutton 讓使用者進行選取,根據 MenuItem 產生的 Label 則是用來 顯示 radiobutton 的標題。
• checkbox:與上述類型相似,一樣產生一個 Label 模型用來顯示資料收集問題的標 題,接著根據 MenuItem 個數產生對等數量的 Input 與 Label 模型,但不同的地方在 於 Input 的「type」屬性是給予 checkbox 值,用來產生 checkbox 讓使用者進行選 取。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
52
圖 5.3:MultipleChoice 的網頁應用程式導引精靈轉換示意圖。
• dropdownmenu:產生一個 Label 模型用來顯示資料收集問題的標題,然後產生 Select 模型作為下拉式選單的框架,接著根據 MenuItem 個數產生對等數量的 Option 模型 作為下拉式選單的選項。
Dialog
圖 5.4 為 Dialog 對應於網頁應用程式導引精靈的轉換示意圖,Dialog 對於不同的
「style」屬性轉換結果也會有所不同,但目前在本系統上只提供一種類型 filebrowser,
此類型透過轉換後會產生 Label 與 Input 模型,Label 用來顯示資料收集問題的標題,Input 則是在「type」屬性給予 file 值,產生一個可以開啟文件瀏覽器的按鈕,並且透過文 件瀏覽器進行檔案的選取。
圖 5.4:Dialog 的網頁應用程式導引精靈轉換示意圖。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
53
GroupQuestion
圖 5.5 為 GroupQuestion 對應於網頁應用程式導引精靈的轉換示意圖,經過轉換後 會 產 生 FieldSet 模 型 用 來 收 集 相 同 性 質 的 ComponentSet 集 合 , 接 著 將 包 含 在 GroupQuestion 裡的問題描述模型,轉換成 ComponentSet 模型繼續進行問題描述模型的 轉換並且儲存於 FieldSet 裡。
圖 5.5:GroupQuestion 的網頁應用程式導引精靈轉換示意圖。
最後是平台無關導引精靈的資料驗證模型轉換,主要包含 ErrorMessage 與 Validation 兩個部分,圖 5.6 為 Question 裡 helpmsg 屬性對應於網頁應用程式導引精靈的轉換示意 圖,在此部分的 helpmsg 是問題描述模型的輔助訊息屬性,因此經過模型的轉換後會產 生 HelpMsg 模型,用來在網頁上顯示輔助訊息。接著圖 5.7 為 Validation 對應於網頁應 用程式導引精靈的轉換示意圖,經過轉換後產生 WValidation 模型,用來在網頁上產生 啟動資料驗證的按鈕,包含在 Validation 裡的 ErrorMessage 模型是屬於在資料驗證過程
圖 5.6:Question 裡 helpmsg 屬性的網頁應用程式導引精靈轉換示意圖。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
54
圖 5.7:Validation 的網頁應用程式導引精靈轉換示意圖。
中出現錯誤時用來提醒使用者的錯誤訊息,所以經過模型轉換後會產生 ErrorMsg 模型並 且儲存於 WValidation 裡。