文件編碼組織 文件編碼交換格式指引 選錄版
TEI Lite: An Introduction to Text Encoding for Interchange


17. 科技文獻

雖然本文獻的焦點是用TEI架構對已存在的「未電子化」文獻編碼,但是同一架構也可以用在新文獻的編碼。在新文獻(例如本文獻)的預製上,XML有多處可資推薦:文獻結構可清楚的呈現,而且同一電子文本可依不同目的重覆使用──例如,提供線上超文件或可瀏覽的版本,以及一般媒體使用的規格化排版本。

為簡化起見,TEI Lite收錄了一點附加元素為主TEI DTD作擴充,用來標誌一般科技文獻,以及特殊的XML相關文獻特徵。

17.1. 為科技文件而設的附加元素

下列元素或可被用來標誌科技文獻的特徵:

<範例>/<eg>
標誌討論中的技術主題所舉的一則短例,例如:程式的片斷或是SGML編碼的樣本。
 
<程式碼>/<code>
標誌使用正規語言(通常是程式語言)的程式片斷。
 
<識別詞>/<ident>
標誌某種識別名稱,例如,XML元素或屬性的名稱及其異稱。
 
<類名識別>/<gi>
標誌識別名稱的特殊類型:XML的通用識別或是元素名稱。
 
<關鍵術語>/<kw>
標誌某種正規程式語言中的關鍵詞。
 
<公式>/<formula>
標誌數學或化學公式,可選用部分非XML的標記法。屬性包括:
標記法/notation
標示用來表示公式本體的標記法。預設值是tex,意為行公式使用TeX計算機表示系統呈現。

下例顯示這些元素如何為福傳(Fortran)程式語言的課程簡介中的段落編碼:


<段落>用下列程式來介紹一種語言是傳統:
<範例>
   CHAR*12 GRTG
   GRTG = 'HELLO WORLD'
   PRINT *, GRTG
   END
</範例></段落>
<段落>這個簡單的例子首先在<code>CHAR*12 GRTG</code>這一行中以宣告變數
<ident>GRTG</ident>,它識別了<ident>GRTG</ident>是由12個位元組組成,
類型為<kw>CHAR</kw>(文字)。這個變數的值隨後被指定為<指涉>HELLO WORLD
</指涉>。接著是一個<kw>PRINT</kw>(列印)指令及一個<kw>END</kw>(結束)
指令。

在上面的文本中,一個格式的運用,可以適切地架構成格式範例(例如,保留空行,或是使用醒目的字體)。相同的,<識別詞>(<ident>)與<關鍵術語>(<kw>)之類標記的使用,對建構有用的索引大有幫助。

應使用元素<公式>(<formula>)將文本中的數學或化學公式標誌成特殊項目。因為公式通常包含一般文本不會出現的大量特殊印刷排版特徵,通常必須以特殊的標記法呈現公式的本體。所用的記符法應以屬性標記法(notation)標明,如下例所示:


<公式 標記法="tex">
  \(E = mc^{2}\)
</公式>

Tex並非TEI Lite DTD裡已定義的標記法,因此必須在DTD的子集裡由記符法宣告定義。

當XML編碼即為討論主題的科技文獻本身就以XML編碼時,就會出現特殊的問題。在這類的文獻中,最基本的部分顯然就是從標誌文獻的內容以及高度相似的終止標記中,清楚地區辨範例出現的標誌。簡單的解決方案之一是使用預先定義的實體參考「lt」,來表示以一個「<」字元標記XML標誌範例的起始。較常用的解決方案是將每一例範例的整體切分出來視之為內含資料,當檢查器檢查文件時,這部分不會被當做XML標誌來掃瞄。這是以被稱為字元資料(CDATA)標誌區段的特殊XML結構來包覆記錄,如下例所示:


<段落>一個列表應編碼如下:
<範例><![ CDATA [
   <列表>
   <項目>表列第一項</項目>
   <項目>第二項</項目>
   </列表>
]]>
</範例>
<類名識別>列表</類名識別>元素由一系列<類名識別>項目</類名識別>組成。

上例中使用的元素<列表>(<list>),將不會被視為正文的正規部分,因為它被嵌在標誌的區段中(以特殊的標誌「<![CDATA[」宣告起始並以「]]>」結束)。

也要注意元素<類名識別>/<gi>在標誌參照文本內容中的元素名稱(或通用識別)的使用。

17.2. 自動產生區段

大多數的現代文獻製作系統都有自動產生完整的目次或是索引的能力。TEI Lite架構提供一個元素來標誌這類自動產生區段的位置。

<自動產生區段>/<divGen>
標示由文字處理應用程式自動產生的文字區段的位置。屬性包括:
類型/type
標示產出的文本為何種類型(例如,索引、目次等)。參考值包括:索引(index,自動產生並插入在這個點上的索引)、目次(toc)、圖形表列(figlist)、表單表列(tablist)

元素<自動產生區段>(<divGen>)可依其章節的合理性插在任何位置,如下例所示:


<正文前資訊>
<題名頁> ... </題名頁>
<自動產生區段 類型="目次"/>
<文字區段 類型="前言"><標頭>前言</標頭> ... </文字區段>
</正文前資訊>
<正文> ... </正文>
<正文後資訊>
<第一層><標頭>附錄</標頭> ... </第一層>
<自動產生區段 類型="索引" 識別號="索引"/>
</正文後資訊>

上例同時展示使用屬性來區辨不同類型的自動產生章節:首先為目次,其次是索引。

對既有的索引或目次進行編碼時(相對於自動產生者),應使用章節「12. 列表」所討論的元素<列表>(<list>)。

17.3. 產生索引

從標誌良好的文獻中產生目次,對自動化文書處理器來說通常不是問題,但是,製作高品質的索引,通常需要更仔細的標誌。雖然抽取所有出現過的<專有名詞>(<term>)或<名稱>(<name>)元素對索引來說是一個好的出發點,但是,簡單地以某種特殊方法製造一個被標誌部分的總表是不夠的。

TEI DTD 提供一個特殊功能的<索引>(<index>)標記,可用來標誌文獻中應被索引的部分,及索引產生的方式。

<索引>/<index>
標誌一個因某種目的而被索引的位置。屬性包括:
主要款目/level1
索引的主要款目。
第二層複分/level2
索引的第二層複分,需要時可採用。
第三層複分/level3
索引的第三層複分,需要時可採用。
第四層複分/level4
索引的第四層複分,需要時可採用。
索引/index
標示索引款目屬於哪一個索引(若有多個索引)。

例如,本章節的第二段可標誌如下:

...
TEI選錄版也提供具特殊目的<類名識別>索引</類名識別>標記
<索引 主要款目="索引"/>
<索引 主要款目="索引(標記)" 第二層複分="用來產生索引"/>
可能被用在…

元素<索引>也可以提供詮釋或分析資訊的形式。例如,在「奧維德」(Ovid)的研究中,要做文體比較研究,可能需要記錄詩所參照的所有不同角色。下例兩行取自變形記(Metamorphoses),這類研究會記錄詩人參照朱彼特(Jupiter,同宙斯(deus)、同祂se、及懺悔(confiteor)的主詞〔由第227號的語尾變化而來〕),參照朱彼特化成公牛(公牛形象的化身(imago tauri fallacies)與載(teneo)的主詞)等等。[1]

<詩行 識別號="3.001"> iamque deus posita fallacis imagine tauri
<詩行 識別號="3.002">se confessus erat Dictaeaque rura tenebat</詩行>
(譯註:詩的大義為宙斯化身公牛的形象,載歐羅芭到了狄克特之岸)

這些需求可適用章節「7. 附註」中所討論到的元素<附註>(<note>),或章節「16. 詮釋與分析」中所討論的元素。此處展示如何使用元素<索引>(<index>)來滿足此一需求。

假設物件會產生一或多個索引:一個是神名索引(稱為dn),另一個是專有名詞索引(稱為on),第三個是代名詞索引(稱為pr),餘以此類推。可行的記錄方法之一如下所示:

<l 識別號="3.001">iamque deus posita fallacis imagine tauri
     <索引 索引="dn" 主要款目="朱彼特" 第二層複分="宙斯"/>
     <索引 索引="on" 主要款目="朱彼特(白色公牛)"
                        第二層複分="公牛形象的化身"/>
</詩行><l 識別號="3.002">se confessus erat Dictaeaque rura tenebat
     <索引 索引="pr" 主要款目="朱彼特" 第二層複分="祂"/>
     <索引 索引="v"  主要款目="朱彼特" 第二層複分="懺悔 (v227)"/>
     <索引 索引="mons" 主要款目="狄克特" 第二層複分="狄克特之岸"/>
     <索引 索引="regio" 主要款目="克里特島" 第二層複分="狄克特之岸"/>
     <索引 索引="v"  主要款目="朱彼特(白色公牛)"
                        第二層複分="載(v9)"/></詩行>

上例中每一個元素<索引>(<index>),都會在相對位置產生索引款目,屬性主要款目(level1)的值為主標目,屬性第二層複分(level2)的值為第二關鍵字,所包含引用字的形式為主格。實際的參考資料取自元素<索引>(<index>)中出現的脈絡,例如,上例中元素<詩行>(<l>)所包含的識別代碼。


上一章 回到目次 下一章


[1] apply-templates select="text//note[@place='foot']" mode="printnotes"/>


譯自TEI官方網站的TEI Lite網頁:http://www.tei-c.org/Lite/
網頁內容未經任何校訂,恐有疏漏,請勿任意轉載引用
若有任何疏漏及錯誤之處,歡迎來信指正:sofia@gate.sinica.edu.tw