「《成唯識論》及其註釋書之數位資料庫」作業手冊

出自DILA Wiki

簡介及目的

  • 以法相宗所依據的重要論書之一的《成唯識論》(十卷)為主要架構,並依每一卷之論文,連結《成唯識論述記》、《成唯識論掌中樞要》、《成唯識論了義燈》、《成唯識論演秘》對其之註解及說明,進行研究唯識學重要參考資料之整合,完成專案內容之全文搜尋、引用複製、查找等各項功能。

處理範圍

  1. 《成唯識論》:共十卷,為護法等造,唐‧玄奘譯著。收於大正藏冊31。
  2. 《成唯識論述記》:共十卷,為唐‧窺基所撰。收於大正藏冊43。
  3. 《成唯識論掌中樞要》:總分為上、下二卷,為唐‧窺基所撰。收於大正藏冊43。
  4. 《成唯識論了義燈》:共七卷,為唐‧惠沼所著。收於大正藏冊43。
  5. 《成唯識論演秘》:共七卷,為唐‧智周所撰。收於大正藏冊43。

作業環境準備

安裝軟體

  • oXygen (XML 編輯器)
  • Notepad++ (純文字編輯器)
  • Free commander (檔案管理)
  • Ruby (以後需要執行果睿寫的程式時會用到)

作業環境

  • 主要在 oXygen(XML編輯器) 裡面做,有些特殊字元在 oXygen 裡編輯可能有問題,需要時換至 Notepad++進行。
  • oXygen(XML編輯器)並非絕對的作業環境,如果找到更好的編輯方式亦可。

核心資料 XML 概述

過濾 CBETA 資料

XML 取自 CBETA XML P5a,去除 div, p 等標記,因為這些標記會跨越釋文區塊,造成違反巢狀結構。

其他的 lb, 校勘 等標記都保留。

schema 也是沿用 CBETA 的 cbeta-p5a.rnc,有一些 TEI P5 已允許的標記,但在 cbeta-p5a.rnc 裡還沒有定義,則會視需求修改 schema.

科判

以 div 下的 head 元素來記錄科判,例如 main.xml 中第一層的科判:

<body>
  <div><!-- 卷首資訊 --></div>
  <div><head>宗前敬序分</head>...</div>
  <div><head>依教廣成分</head>...</div>
  <div><head>釋結施願分</head>...</div>
  <div><!-- 後序 --></div>
</body>

XML 中並未記錄:壹、一、㊀ 等科判編號,這些編號會在將 XML 轉為 HTML 時才加上,以保留變動的彈性。

釋文對照

如前述本專案包含主要的《成唯識論》以及四部釋文,這五部著作分別對應至 CBETA 的五部典籍, 另有一本《會本成唯識論》已將論文與釋文穿插對照, 本專案根據《會本成唯識論》,將釋文自各別檔案中取出,合成一個包含對照關係的大 XML 檔。

例如 1-1.xml:

<div>
  <div type="CL">  
    <p>稽首唯識性、滿、分清淨者<anchor corresp="#n1"/></p>
  </div>
  <div xml:id="n1">
    <div type="SJ">
      <!-- 《述記》的文字 -->....
      <div type="YM">
        <!-- 《演密》 -->....
      </div>
    </div>   	    
    <div type="SJ">
      ....
    <div>
    ....
  </div><!-- end of n1 -->
</div>

最外層的 div 是《成唯識論》論文與釋文的對照。

<div type="CL"> 裡面是《成唯識論》論文,裡面有一個 <anchor corresp="#n1"/> 指到後面對應的釋文。

<div xml:id="n1"> 是釋文,這個 div 裡可能有多個 div,依序為各個不同的釋文。這裡的 ID n1 跟前面的 anchor 元素的 corresp 屬性對應。

<div type="SJ"> 是《述記》的文字,包在這個 div 裡的 <div type="YM"> 則是解釋這段述記的《演密》文字。

include 分檔

合併後的 XML 比較大,所以使用 XML 的 include 機制分成多個檔,例如 main.xml:

<div>
  <head>宗前敬序分</head>
  <xi:include href="1-1.xml"/>
  <xi:include href="1-2.xml"/>
</div>

名詞解釋

在 XML 檔中以 term 元素標記名詞:

<term>稽首</term><term>唯識性</term>

對應的解釋放在另一個「master-data/text/成唯識論_名詞解釋.txt」裡面:

稽首
以頭觸地,表示禮敬之意。

唯識性
梵文為vijñapti-mātratva,依《述記》說唯識性可略分為虛妄及真實二種。虛妄唯識性即指遍計所執性;真實唯識性即是圓成實性。又唯識性可有另外兩種分別,世俗與勝義。世俗唯識性即指依他起性;勝義唯識性即指圓成實性。

執行作業

標逗

  • 主要在 oXygen(XML編輯器)中的 Author mode 中作業。

標記

經名、卷名、作者的標記

● 經名、卷名、作者這些系統程式已設定,不須另外標記。

● 關於經名、卷名、作者等前面是否空格的問題:段落前內縮的空格一律不保留,由程式在輸出時控制。除非那個地方的空格不是標準的,才需要特別標示。例如:假設我們規定每個段落首行內縮兩格,這兩個空格,不必用空格直接打進去,程式會自動加,在 XML 裡會像這裡:

段落文字開頭不加空格??

;除非某個段落特別,不是空兩格,而是不要空格,這時才改標記為:

....

偈頌的標記

不必處理空格之標記,程式會自動加, 除非偈頌中間是加標逗,就直接加。

樹狀目錄(科判)的標記(以《成唯識論》為主)

  • 樹狀目錄以《成唯識論》為主。
  • 樹狀目錄的進行:切勿在word檔先作科判表,應在XML中進行。
  • 範例:
壹﹑宗前敬序分
  (壹)以頌彰釋論之因
    一、歸敬福田
    二、敘釋論意
  (貳)以長行明本論主造論之意 
    一、安慧等悟斷得果解
    二、火辨等達空悟性義
    三、護法等破執顯理解
貳、依教廣成分
  (壹)明唯識相
    一、略釋難標
      (一)將發論端寄問徵起
      (二)舉頌依義正答
      (三)長行釋
    二、隨標廣釋
      ………
  (貳)明唯識性
    ………
參﹑釋結施願分
  (壹)………
  (貳)………
  (參)………

● 標記方法:

<text>
  <body>
    <div>
      <head>宗前敬序分</head>
      <div>
        <head>以頌彰顯釋論之因</head>
        <div>
          <head>歸敬福田</head>
        </div>
        <div>
          <head>敘釋論意</head>
        </div>
      </div>
      <div>
        <head>以長行明本論主造論之意</head>
        <div>
          <head>安慧等悟斷得果解</head>
        </div>
        <div>
          <head>火辨等達空悟性義</head>
        </div>
        <div>
          <head>護法等破執顯理解</head>
        </div>
      </div>
    </div>
    <div>
      <head>依教廣成分</head>
      <div>
        <head>明唯識相</head>
        <div>
          <head>略釋難標宗</head>
          <div>
            <head>將發論端寄問徵起</head>
          </div>
          <div>
            <head>舉頌依義正答</head>
          </div>
          <div>
            <head>長行釋</head>
          </div>
        </div>
        <div>
          <head>隨標廣釋</head>
          …………
        </div>
      </div>
      <div>
        <head>明唯識性</head>
        …………
      </div>
    </div>
    <div>
      <head>釋結施願分</head>
      …………
    </div>
  </body>
</text>

以上科判例舉至第四層,以此類推。

對應科判內文之標記

●對應科判之內文處理重點:

  1. 對應科判之內文的範圍。
  2. 該對應科判內文範圍中,有其對應之註釋內文的符號。如 4.2.4.1 及 4.2.4.2 範例中的 ①、② 、③……等。


對應內文為長行之標記

●例舉:

稽首①唯識性、滿、分清淨者②,

●標記方法:

<div type="CL">
  <p>稽首<anchor corresp="#n1.1"/>唯識性、滿、分清淨者<anchor corresp="#n1.2"/></p>
</div>

【註】例句中的①、②,表示在對應此科判的論文中,該二處有其對應之註釋論文,因此標記以<anchor corresp="#n1.1"/> 及 <anchor corresp="#n1.2"/>記錄。

對應內文為偈頌之標記

●範例:

由假說我、法①,有種種相轉②。
彼依識所變③ , 此能變唯三④:
謂異熟、思量  及了別境識⑤。

●標記方法:

<div>
  <head>舉頌依義正答</head>
  <div type="CL">
    <lg type="CL">
      <l>由假說我、法<anchor corresp="#n2.1"/></l>
      <l>有種種相轉。<anchor corresp="#n2.2"/></l>
      <l>彼依識所變,<anchor corresp="#n2.3"/></l>
      <l>此能變唯三:<anchor corresp="#n2.4"/></l>
      <l>謂異熟、思量<anchor corresp="#n2.4"/></l>
      <l>及了別境識。<anchor corresp="#n2.5"/></l>
    </lg>
  </div>
</div>

【註】例句中的 ①、②、③、④、⑤,表示在對應此科判的論文中,該五處有其對應之註釋論文,因此標記以<anchor corresp="#n2.1"/>……<anchor corresp="#n2.5"/>記錄。

科判內文中之對應註釋論文的標記方法

對應之註釋論文為相同層次時的標記方法

●範例: 稽首1唯識性、滿、分清淨者2,

●標記方法:(續前4.2.3.1長行標記方法)

<div>
   <div type="CL">
   <p>稽首<anchor corresp="#n1.1"/>唯識性、滿、分清淨者<anchor corresp="#n1.2"/></p>
   </div>  
   <div xml:id="n1.1">
      <div type="SJ"><p>述曰:.....(《述記》的內文)</p>
      </div>
      <div type="YM"><p>演秘:.....(《演秘》的內文)</p>
      </div> 
   </div>
   <div xml:id="n1.2">
     <div type="SJ"><p>述曰:....(《述記》的內文)</p>
     </div>
     <div type="SY"><p>樞要:....(《樞要》的內文)</p>
     </div>
   </div>
</div>

對應之註釋論文為不同層次時的標記方法

●範例: 稽首1唯識性、滿、分清淨者2,

●標記方法:(續前4.2.3.1長行標記方法)

<div>
   <div type="CL">
   <p>稽首<anchor corresp="#n1.1"/>唯識性、滿、分清淨者<anchor corresp="#n1.2"/></p>
   </div>  
   <div xml:id="n1.1">
      <div type="SJ"><p>述曰:.....(《述記》的內文)</p>      
          <div type="YM"><p>演秘:.....(《演秘》的內文)</p>
          </div>
      </div> 
   </div>
   <div xml:id="n1.2">
     <div type="SY"><p>樞要:....(《樞要》的內文)</p>
        <div type="YM"><p>演秘:....(《演秘》的內文)</p>
        </div>
     </div>
   </div>
</div>

註解的標記

註解分兩大類,一種是 <note resp="bolang">,一種是 <note type="gloss">。

<note resp="bolang"> 在呈現時會直接插入行中,幫助理解。

<note type="gloss"> 在呈現時會另開視窗,或以其他類似方式呈現,不干擾閱讀。

resp="bolang"

●應在text中作業。

●標記規則:<note resp="加注解者">X</note> (X表示注解的內容)

●舉例:

例1:

(原文)今造此論,為於二(我、法或云生、法)空有迷謬者,生正解故。
(標記方法)今造此論,為於二<note resp="bolang">(我、法或云生、法)</note>空有迷謬者,生正解故。

例2:

(原文)又為開示謬執我、法,迷唯識者,令達〔我、法〕二空,於唯識理如實知故。
(標記方法):又為開示謬執我、法,迷唯識者,令達<note resp="bolang">〔我、法〕</note>二空,於唯識理如實知故。

●說明:

  1. ()及〔〕括號亦為注解內容。
  2. 或可在text中→crl+e→選note可接在上面鍵入注解內容。

type="gloss"

原文

我今釋彼(世親)說

標記方法

<note type="gloss">《述記》謂「我」指安慧,然《測疏》「我謂護法」二者不同。</note>今釋彼(世親)說

特殊名詞解釋的標記

●標記規則:

  1. 將 X mark起來→ crl+e → 在視窗中選term → <term> Y</term>(X為需解釋的特殊名詞,Y為釋文內容)
  2. 於text中作業,將內容填入。

例:
(原文) 稽首唯識性、滿分清淨者 (「稽首」為須解釋的的名詞)
(標記方法)將「稽首」mark 起來→ crl+e →在視窗中選term → <term>以頭觸地,表示禮敬之意。</term>

●說明:

  1. 可在text中→crl+e→選term可接在上面鍵入注解內容。
  2. 初期可以先進行規則1的作業,可待文獻處理資訊工程師將所有特殊名詞列出後,屆時再個別將解釋的內容鍵入。

●特殊情況的標記方法:

1.當需解釋的名詞相同,但屬性及其內容不同時:

例:
(原文)「我今釋彼(世親)說」中的「我」(下面以「我1」表示)與「我謂主宰」中的「我」(下面以「我2」表示),兩處的屬性不同;其中「我1」是指安慧,應與第一句之指示代名詞「彼」(世親)相同,是指涉特定的人;而「我2」乃指佛學中的ātman,則是屬於特殊名詞解釋。
(標記方法)「我1」的標記方法為:「我<note type="gloss">X</note>今釋彼(世親)說」(其中X表示對於「我1」的說明內容);而「我2」則同前面所述之正規的標記方法。 

2.當文本需解釋的特殊名詞(如:遍淨)與釋文詞條(如:遍淨天)不符合時:

例:
(原文)「謂有異生伏遍淨貪,……」,此中「遍淨」為需解釋的特殊名詞,其所對應的釋文詞條為「遍淨天」。
(標記方法)<term key="遍淨天">遍淨</term>

3.當需解釋的特殊名詞重複出現,且每一名詞所對應的釋文詞條不同時:
(確認後補充說明)

行中夾註及雙行夾註的標記

(後續補充)

圖表的標記

表格的標記方式

● 在text中作

●表格在網頁的呈現有兩處:
(1)原文或釋文處以視窗呈現
(2)點選「圖表展開」後於該科判論文及釋文結束處呈現
※下列例舉中之k1、k2、k3…,乃標記者自行給予圖表之對應編號。

● 表格的呈現方式有二類:

1.一般常規性的表格,舉例如下:

(空白) a b
c d e

於網頁呈現有二處,其標記方法如下:

(1)原文或釋文處:

例如:

(原文):稽首唯識性、滿、分清淨者。

標記方法:

稽首唯識性、滿、分清淨者。<ref type="figure" target="#t.k1"/>

(2)該科判論文及釋文結束處:

<note resp="bolang"><table xml:id="t.k1">
  <head>表格名稱</head>
    <row>
      <cell></cell>
      <cell>a</cell>
      <cell>b</cell>
    </row>
    <row>
      <cell>c</cell>
      <cell>d</cell>
      <cell>e</cell>  
    </row>
</table></note>

2.內含合併儲存的表格,舉例如下:

a b
c d e f
g h
i j
k
l m n
o p

於網頁呈現有二處,其標記方法如下:

(1)原文或釋文處:

例如:

(原文):稽首唯識性、滿、分清淨者。

標記方法:

稽首唯識性、滿、分清淨者。<ref type="figure" target="#t.k2"/>

(2)該科判論文及釋文結束處:

此類之標記規則為:

<note resp="bolang"><table xmi:id"t.k2">
  <head>表格名稱</head>
    <row>
      <cell cols="2">a</cell>
      <cell cols="2">b</cell>
    </row>
    <row>
      <cell>c</cell>
      <cell>d</cell>
      <cell>e</cell>
      <cell>f</cell>
    </row>
    <row>
      <cell cols="2">g</cell>
      <cell cols="2">h>/cell>
    </row>
    <row>
      <cell rows="2" cols="2">i</cell>
      <cell cols="2">j</cell>
    </row>
    <row>
      <cell cols="2">k</cell>
    </row>
    <row>
      <cell rows="2">l</cell>
      <cell cols="2">m</cell>
      <cell>n</cell>
    </row>
    <row>
      <cell rows="2">o</cell>
      <cell>p</cell>
    </row>
</table></note>

● 表格內容的特殊需求(此項需求為編輯者自行加註):

1.內容須條列且呈現「序號」時:

例如:

(文本資料)俱有因乃俱有果之因,分為二種:互為果俱有因、同一果俱有因。
(頁面呈現)俱有因乃俱有果之因,分為二種:
           1.互為果俱有因。
           2.同一果俱有因。

此類標記方法為:

<note resp="bolang"><table>
   <row>
     <cell>
        <p>俱有因乃俱有果之因,有分為二種:</p>
        <list rend="numbered">
           <item>互為果俱有因。</item>
           <item>同一果俱有因。</item>
        </list>
     </cell>
   </row> 
</table></note>

2.文本為長行,但頁面須於特定處以分行呈現,此時則須"強制"換行:

例如:

(文本資料)顯阿賴耶識之流轉、還滅義。「由此有諸趣」:顯流轉義。「及涅槃證得」:顯還滅義。
(頁面呈現)顯阿賴耶識之流轉、還滅義。
      「由此有諸趣」:顯流轉義。
          「及涅槃證得」:顯還滅義。

此類標記方法為:

<table>
  <row>
    <cell>顯阿賴耶識之流轉、還滅義。<lb/>「由此有諸趣」:顯流轉義。<lb/>「及涅槃證得」:顯還滅義。</cell>
  </row>
</table>
圖的標記方式

圖的標記方式分兩種:

1.屬於cbeta經論原文的圖

(圖檔的檔案名稱為:sy1.k1.svg)

其標記規則為:

   
<figure>
  <graphic url="sy1.k1.svg"/>
</figure>

2.為編輯者自行繪製的圖,於網頁呈現有二處,其標記方法如下:

(1)原文或釋文處:

例如:

(原文):稽首唯識性、滿、分清淨者。

標記方法:

稽首唯識性、滿、分清淨者。<ref type="figure" target="#f.k3"/>

(2)於該科判論文及釋文結束處

例如:(圖檔之檔名為:k3.svg,圖檔的名稱為:造論目的)


其標記規則為:

<note resp="bolang"><figure xml:id="f.k3">
  <head>造論目的</head>
  <graphic url="k3.svg"/>
</figure></note>
表格輸出時的特殊情形

TEI標記的表格若以word格式輸出時,部份合併儲存格有失真的情況,此時則將該表格重新繪製svg圖檔,並於xml表格標記處標註<figure><graphic url="該表之圖檔名"></graphic></figure>

例如:

原來表格的標記為:

<note resp="bolang"><table xml:id="t.k1685">
<head>三斷門</head>
 ………
</table></note>

表格重繪svg後的標記方法為:

<note resp="bolang"><table xml:id="t.k1685">
<figure><graphic url="k1685.t.svg"></graphic></figure>
<head>三斷門</head>
 ………
</table></note>	
※上列“k1658.t.svg”為該表格重繪svg的檔名。

校勘處理之相關問題

1. 引用複製時校勘資訊未出現
由於CBETA的校勘資訊中,會以[1]、[2]……等表示,點選即可顯示校勘內容,若有多筆校勘內容相同時,則僅會於第一次出現其校勘訊息,其後出現者皆以[*]表示,點選[*]即可出現相同之校勘內容。此種情況在xml中,其校勘內容亦只會於第一次出現時完整呈現,並給予note的標記,note中除了校勘內容之外,亦會有一屬於此校勘的號碼,其後相同內容的校勘訊息則給予指涉至此號碼的標記。本專案在部分文獻處理時會將某段文字刪除,其刪除的文字中可能包含此note的標記及號碼,導致在引用複製時校勘資訊無法出現。此時的處理方式,即是將被刪除的note標記複製到原處即可。

例如:

原文為:

<lb n="0597a07" ed="T"/>論。如何善<note n="0597001" resp="Taisho" place="foot text" type="orig">逝=遊【甲】*</note><app n="0597001"><lem wit="【大】">逝</lem><rdg resp="Taisho" wit="【甲】">遊</rdg></app>有有餘依。述曰。善<app type="star" corresp="#0597001"><lem wit="【大】">逝</lem><rdg resp="Taisho" wit="【甲】">遊</rdg></app>者佛。
<lb n="0597a08" ed="T"/>有餘三者理可知故。為此問者。若佛有有
<lb n="0597a09" ed="T"/>餘依。應苦依未盡。
(上列粗體部分為刪掉之文字)


處理方式為:

<lb n="0597a07" ed="T"/>述曰。善<note n="0597001" resp="Taisho" place="foot text" type="orig">逝=遊【甲】*</note><app type="star" corresp="#0597001"><lem wit="【大】">逝</lem><rdg resp="Taisho" wit="【甲】">遊</rdg></app>者佛。
<lb n="0597a08" ed="T"/>有餘三者理可知故。為此問者。若佛有有
<lb n="0597a09" ed="T"/>餘依。應苦依未盡。
(上列粗體部分即為複製貼回之內容)

XML 轉 HTML

轉出的 HTML 在 out/html 資料夾裡,科判都要自動加上編號。

編號基本型態定義在 number-types.json 裡面,有15種,例如「會計中文數字」(壹貳參)、「中文數字」(一二三)、「圓圈數字」(①②③)等等。

各層次使用哪種編號定義在 kp-number.rb 裡面,目前定義了25層科判編號,除了定義使用哪種編號,還可定義前置字元、後置字元。例如:

{ name: '會計中文數字', after: '、' },
{ name: '會計中文數字', before: '(', after: ') '},

分別表示以下兩種科判編號:

  • 壹、貳、參⋯⋯
  • (壹)(貳)(參)⋯⋯

校對用

轉檔程式 cwsl.rb

  • 成唯識論:只列印 成唯識論,不含釋文,檔案:cwsl.html。
  • 科判:只列印科判,不含內文,檔案:cwsl-kp.html。
  • 名詞解釋:terms.html。

Web UI

轉檔程式 x2h.rb

  • 全文:main.html
  • 科判:kepan.json

檔案名稱

●五部論各別一個檔名。

存檔方式

●直接存檔 →上傳到dropbox

校對、修訂

●完成標逗的檔案逐字逐句校對。 ●完成標記的檔案的校對。 ●有錯誤者直接在其原本的作業環境中修訂。

其他注意事項