在 HTML 中,根據 W3C 的規範,body 節點下面的標籤主要可以分為兩 類。一類為 Inline-level 的標籤;另一類為 Block-level 的標籤。
詳細請參閱附錄。
Inline-level 的標籤主要是用在文字資料的修飾,如:b(粗體)、em(強 調)、font(變更字型或顏色)、span(進行文字風格的設定)…。使用 這些標籤並不會產生畫面上的斷行。此類標籤多半屬於傳統型編輯配 對,我們稱這些節點為 G-node。以比較淺色的節點表示。
Block-level 的標籤主要是用於畫面上的排版、版面配置,如:
table(表格)、ol(有序列)、form(表單)、h1(標題)、p(分段)…。使 用這些標籤在畫面上會產生與前後標籤的分隔行。此類標籤多半屬於 限制型編輯配對,我們稱這些節點為 C-node。以比較深色的節點表 示。
在我們的觀察中,我們發現文字型的資料適合使用傳統型編輯配對。
舉例如下:
比如說我們今天在我們的網頁上有一行字為"Browser-oriented data extraction system"。在製作網頁的時候很可能我一開始要強 調的是"data extraction system",所以我把這三個字使用另一種 字型表示。但是下次修改網頁時,我可能要強調"Browser-oriented data extraction"這種技術,所以我把這幾個字加粗體。
下圖表示我們使用傳統型編輯配對。可以發現在傳統型編輯配對下,
每一個文字節點都能配對成功,且原先的 font 標籤被刪除了,後來 的樹則插進了一個 b 標籤。
圖表3.1 文字資料使用傳統型編輯配對 此在 Block-level 的標籤比文字型資料更具有結構上的考量,因此用 限制型編輯配對所找出的結果是更接近於實際 HTML 改版的操作。
GGeneneerraall EEddiitt MMaappppiinngg
Browser-oriented
p
font
data extraction systems Browser-oriented data extraction systems
p
data extraction systems Browser-oriented data extraction systems
b p
3.1 我們的目標
在我們的觀察裡,我們已經可以看出來,在一份樹狀結構的文件中,
不一定所有的節點都適用於單一的一種編輯配對。因此,我們要提出 一個新的混合型編輯配對以符合現實生活中所遭遇到的狀況。也就是 說,在一份文件中,可能有部分的節點是適用於傳統型編輯配對;而 另外有一部分的節點適用於傳統型的編輯配對。至於哪些節點屬於傳 統型編輯配對,哪些節點又屬於限制型編輯配對,這需要視文件的類 型及使用者的需求而定,在本論文中,我們主要以 HTML 文件為例來 說明。
本論文所要解決的問題乃是在已知有兩份樹狀節構文件 S 與 T 中(二 者皆為有序標籤含根樹),已知有某些標籤屬於傳統型編輯配對,另 有標籤屬於限制型編輯配對的情況下,欲求由 S 轉換成 T 的的最小成 本。
在本篇論文中,使用傳統型編輯配對的節點稱為 G-node,圖形上以 淺色節點表示;使用限制型編輯配對的節點稱為 C-node,圖形上以 深色節點表示。
3.2 混合型編輯配對(Hybrid Editing Mapping)
混合型成本模型與上述兩種編輯配對具有對樹相同的操作,包括刪除 一節點(Delete)、插入一節點(Insert)、更換兩節點的標籤
(Relabel),細節如上所述。
我們定義
(M ,S,T)
H 為 S 到 T 的混合型編輯配對。一個合法的混合型編輯配對(M ,S,T) ,應符合下列規範: H
‧ 一對一配對
– 配對
(M ,S,T)
H 中任何兩個配對組合(i ,j ),(i ,j )
1 1 2 2 ,若1 1 2 2
i =j ⇔i =j 。
‧ 保留兄弟節點的順序
– 配對
(M ,S,T)
H 中任何兩個配對組合(i ,j ),(i ,j )
1 1 2 2 ,若i
1節點 在j 的右邊1 ⇔ 節點在i2 j 的右邊。 2‧ 保留祖先節點與後代節點的順序
– 配對
(M ,S,T)
H 中任何兩個配對組合(i ,j ),(i ,j )
1 1 2 2 ,若i
1節點 為i 節點的祖先2 ⇔ j 節點為1 j 節點的祖先。 2‧ 保留最近的限制型共同祖先的(Constrained Least Common Ancestor)關係
Constrained Editing Mapping
font
國文 英文 數學 音樂
國文 英文 數學 音樂
圖表3.4 使用混合型編輯配對
四個項目(li)都配對成功,因為它們都在同一個 clca(標籤 ol)下,
也就是在同一個 C-node 的子樹下。
ol
li li
b
li li
ol li
li li li
Hybrid Editing Mapping
font
國文 英文 數學 音樂
國文 英文 數學 音樂