TEI Lite 中文譯稿

文件編碼組織 後設資料標誌集 選錄版
TEI Lite


 

17. 科技文獻

雖然本文獻是針對使用TEI架構為已存在的「未電子化」文獻進行編碼,但是同樣的架構也可以用來為新文獻進行編碼。在預製新文獻(例如本文獻)上,XML(對TEI架構)多所推薦:文獻結構可清楚的呈現,而且同樣的電子文獻可因多種目的而重覆使用──例如,可提供線上超文件又可提供瀏覽,同時也為一般媒體提供妥為格式化的排版版本。

為使新文獻的編碼變得容易,TEI Lite包含了一點附加的元素,擴充了TEI的主DTD,特別用在標誌一般及XML相關的科技文獻中的特徵。

 

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

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

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

下例顯示在一個福傳程式語言的課程簡介中,如何使用這些元素為其內容編碼:

<p>It is traditional to introduce a language with a program like the
following:
<eg>
   CHAR*12 GRTG
   GRTG = 'HELLO WORLD'
   PRINT *, GRTG
   END
</eg></p>
<p>This simple example first declares a variable <ident>GRTG</ident>, in
the line <code>CHAR*12 GRTG</code>, which identifies <ident>GRTG</ident>
as consisting of 12 bytes of type <kw>CHAR</kw>.  To this variable,
the value <mentioned>HELLO WORLD</mentioned>
is then assigned. This is followed by a <kw>PRINT</kw> statement and an
<kw>END</kw> statement.

在上述例子的文本中,一個格式的運用,可以適當地做成格式範例(例如,保留空行,或是使用顯目的字體)。相同的,像<識別代碼>(<ident>)與<關鍵語詞>(<kw>)標記的使用,使建構有用的索引變成更容易。

出現在文本中的數學或化學公式,應用元素<公式>(<formula>)標誌成特殊項目。由於公式中通常包含大量且多樣的特殊排版印刷的特徵,而這些特徵在其他的一般文件中不會出現,通常需要用特殊的記符法來呈現公式的本體。使用的記符法應以屬性符記法(notation)標明,如下例所示:

<formula notation="tex">
  \(E = mc^{2}\)
</formula>

記符法TeX並未預先定義在的TEI Lite的DTD裡,因此必須在DTD的子集裡定義一個記符法的宣告。

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

<p>A list should be encoded as follows:
<eg><![ CDATA [
   <list>
   <item>First item in the list</item>
   <item>Second item</item>
   </list>
]]>
</eg>
The <gi>list</gi> element consists of a series of <gi>item</gi>
elements.

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

也要注意到,元素<類名識別>(<gi>)用來標誌參照到文件本體中的元素名稱(或通用識別)。

 

17.2. 自動產生區段

流行的文獻製作系統,通常都有自動產生整個目次或是索引的能力。TEI Lite提供一個可標誌這些自動產生區段所在位置的元素。

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

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

<front>
<titlePage> ... </titlePage>
<divGen type="toc"/>
<div type="Preface"><head>Preface</head> ... </div>
</front>
<body> ... </body>
<back>
<div1><head>Appendix</head> ... </div1>
<divGen type="index" n="Index"/>
</back>

上例同時展示了使用屬性來區辨自動產生章節的不同種類:第一次出現時是目次(toc),其次則是索引。

當一個已存在的索引或目次(相對於自動產生者),因為某種緣故被編碼時,應使用「12. 列表」時所討論的元素<列表>(<list>)。

 

17.3. 產生索引

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

TEI DTD 提供一個具特殊目的的標記<索引>(<index>),可以用來標誌文獻中應被索引的部分,及如何產生索引。

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

例如,本章節的第二段可能包含如下:

...
TEI lite also provides a special purpose <gi>index</gi> tag
<index level1="indexing"/>
<index level1="index (tag)" level2="use in index generation"/>
which may be used ...

元素也可以提供一種詮釋或分析資訊的形式。例如,在奧維德的研究中,可能想要記錄詩歌所參考到的不同角色,來做文體比較研究。下例中的兩行取自變形記,這類研究可記錄詩人參考到朱彼特(as deus, se, and as the subject of confiteor〔由第227號的語尾變化而來〕),到朱彼特假裝成球(as imago tauri fallacis and the subject of teneo)等等。[1]

<l n="3.001">iamque deus posita fallacis imagine tauri
<l n="3.002">se confessus erat Dictaeaque rura tenebat</l>

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

假設被標誌的對象會產生一個以上的索引:一個是神名索引(稱為dn),另一個是專有名詞參考索引(稱為on),第三個是代名詞參考索引(稱為pr),及第四個索引等。要記錄這種狀況的其中一種方法如下所示:

<l n="3.001">iamque deus posita fallacis imagine tauri
     <index index="dn" level1="Iuppiter" level2="deus"/>
     <index index="on" level1="Iuppiter (taurus)"
                       level2="imago tauri fallacis"/></l>
<l n="3.002">se confessus erat Dictaeaque rura tenebat
     <index index="pr"    level1="Iuppiter" level2="se"/>
     <index index="v"     level1="Iuppiter" level2="confiteor (v227)"/>
     <index index="mons"  level1="Dicte" level2="rura Dictaea"/>
     <index index="regio" level1="Creta" level2="rura Dictaea"/>
     <index index="v"     level1="Iuppiter (taurus)"
                          level2="teneo (v9)"/></l>

上例中每一個元素<索引>(<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