• 沒有找到結果。

三、 以視覺化軟體開發網站應用程式系統分析

3.2 視覺化軟體開發環境架構分析

3.2.2 XForms

圖 15 XForms Model 之應用 參考資料:W3C XForms 1.0 [8]

由於 1993 年出現的 Web Form 逐漸不能滿足日益增加的需求,於是乎 就有很多專家向 W3C 提出新一代 Web Form 的看法。然後由 W3C 的 HTML Working Group 的一個小組在 1999/4/22 ,提出 xForms 需求書(Forms

Requirement),而該小組日後即改組成今天的 XForms Working Group,負責 日後有關 xForms 規範的發展[9],XForms 已在 2003 年 10 月被 W3C 列入 Recommendataion[8]。

誠如 2002/11/12 的 xForms Version 1.0 的摘要中所述,xForms 是下一 代的 Web Forms,其主要目的是要解決目前 Web Forms 所不能滿足在 Web Application 和電子商務應用上的需求。

優點:

‹ 支援各種設備,如手持式設備,電 視,電腦上的各種流覽器,此 外尚支援印表機,掃描器等,將來一般使用者將可使用除電腦以外 的資訊設備,如資訊家電,進入網際網路的世界。表格的設計也應 考慮由紙張列印出來後, 填入資料,再由掃瞄機掃瞄輸入系統。

‹ 為因應滿足各式需求,提供更豐富的人機介面

‹ 將資料、表單邏輯和畫面顯示分開,XForms 的設計將清楚劃分為

‹ 支援暫停(Suspend)與恢復(Resume)的功能,在日常生活中,

常有填寫表格需參考其他資訊的情況,以致中斷表格填寫。例如申

(Scalable Vector Graphics)、SMIL(Synchronized Multimedia Integration Language)。同時也可使用樣式表(Style Sheet)語言,

如 CSS(CascadingStyle Sheet)或 XSL(eXtensible Stylesheet Language)來調整版面效果。有關 XHTML 和 CSS

XForms 之定位應是作為所有其他的資料輸入之角色,只要某一規 範需從外界接收資料,就需要到 xForms。其與 XML Family 成員的關聯如 下:

圖 16 Xforms 與 XML Family 成員之關聯 參考資料:W3C Xforms 1.0 [8]

1. XHTML

XForms 會被整合至 XHTML 中的一個模組 2. Privacy Preferences Project (P3P)

xForms 可以和 Privacy Preferences Project (P3P)一起使用,而 P3P 主 要目的是能讓使用者在流覽網站時對自己個人資料有更佳的主控權。

3. Web Accessibility Initiative (WAI)

XForms 能讓發展 WAI 更加容易 4. CSS & XSL

可以直接以 CSS & XSL 來格式化 5. VoiceXML

應可支援在語音流覽器上使用 6. SMIL

Xforms 需可和同步媒體結合 7. Scaleable Vector Graphics(SVG)

Xforms 需和可延伸性向量圖形技術結合 8. DOM

Xforms 需和 W3C 的文件物件模型(DOM)一致 9. XML Sschema

Xforms 需和 XML Schema 相配

圖 17 XForms 之組成方式 參考資料:W3C XForms 1.0 [8]

XForms 主要將 Form 的 Model 定義在<head>、</head>間,資料顯示的 部份則置於<body>、</body>間,以下為採用 XForms 設計之表單:

<?xml version="1.0" encoding="iso-8859-1"?>

<html

xmlns="http://www.w3.org/1999/xhtml"

xmlns:xforms="http://www.w3.org/2002/xforms/cr" >

<head>

<title>Schema Driven Forms</title>

<link rel="stylesheet" href="../main.css"

type="text/css" />

<!–開始定義資料模型 -->

<theDate xsi:type="xsd:date">2001-06-04 </theDate>

<theNumber xsi:type="xsd:int">976</theNumber>

</instanceData>

<xforms:label>Please enter your date of birth:<br/>

</xforms:label>

<xforms:hint>Enter date of birth </xforms:hint>

<xforms:alert>日期格式錯誤!</xforms:alert>

</xforms:input>

XForms 分割為三個層次:資料層(data layer)、邏輯層(logic layer)

和呈現層(presentationlayer)。資料層讓使用者定義表格的資料模式(data model),也就是表格的抽象結構(abstract structure)。使用者可以利用已 有的或自行定義資料型態(datatype)來描述表格資料。

邏輯層可讓使用者敘述表格欄位間的關係,例如欄位值的加總。

XForms 將支援簡單的運算語法(expression syntax),且這些語法是建立在 廣泛使用且熟悉的試算表功能上。當然,若要更彈性地使用 XForms,也可 呼叫程序語言(script language)。

呈現層包含了表格控制(form controls)的標誌(markups)和 HTML 標誌,而每一表格控制限於資料模式中的一個欄位。使用者可依自己喜好,

利用 getter 和 setter 功能(methods)呈現資料,如日期(dates)、貨幣(currencies)

等。如此一來,資料內在的表現方式仍然不變,卻簡化表格的處理。

有了 XForm 我們就可以用來定義完整的 HTML Form 元件,未來可以 直接適用在新一代的瀏覽器上,現在則可以根據 XForms 來實作 HTML Form 的 Render,用來產生網站應用程式的使用者元件的畫面。

相關文件