所以這篇文章的標題可能有點誤導,但這是我能想到的最好的。我正在研究一個使用TEI編碼文本的項目。我當前工作的一個要求是編寫XSL轉換以將XML編碼的文本呈現爲HTML。大多數情況下,沒有問題。我有點被困在這個問題上,雖然:帶重疊元素的XSLT?
<l>There is <delSpan spanTo="A1"/>deleted text spanning</l>
<l>multiple lines here.<anchor xml:id="A1"/> More text...</l>
或者,在其他情況下:
<delSpan spanTo="A2"/>
<l>Several deleted lines -- the delspan marker can appear </l>
<l>outside of an l element.... </l>
<anchor xml:id="A2"/>
(如果你不熟悉的TEI:L =文本行; delSpan =包含多於1行,頁面或更小單元的已刪除文本的範圍。)
目標是顯示delSpan(A1)及其相應錨點(A1)之間的文本 - 「刪除的文本跨越/多行這裏「 - 用一些格式來表示刪除(例如,text-decoration =」line-through「)。現在,有一個用於處理大多數文本格式的「l」元素模板 - 或者至少調用其他模板來完成它。
但這些單身標籤是一個異常;所有其他的格式化/標記都是通過標籤來完成的,這些標籤實際上包含了要格式化的文本。我是否認爲我需要在「l」模板中處理delSpan和錨點元素?處理這個問題並處理僞重疊元素的最優雅方式是什麼?
對不起,如果這是一個noob問題,或者如果我沒有提供足夠的信息。我主要是一個C/C++程序員,只有很少的XSLT經驗,所以我很欣賞任何建議。
從我+1爲好的答案! – 2010-08-16 22:23:17
謝謝!這簡單而優雅,現在對我來說非常有意義。我很享受XSLT的速成課程。 – 2010-08-17 01:54:59
@Andrew Forrester:你好!隨時詢問。 – 2010-08-17 13:06:00