微信公众号 CCBible/Bible101/DBible 微博@基督徒百科@Bible101@歌珊地圣经引擎@如鹰展翼而上 QQ群 4619600/226112909/226112998 同步推送#今日真道圣言#
OSIS2.1用戶手冊:第五章
OSIS開放聖經信息標準2.1用戶手冊翻譯
OSIS 2.1 用戶手冊 第五章 XML和OSIS聲明declaration
編碼成OSIS的所有文本需要儘量被標識才能起作用。編碼聲明decalration告訴語法分析器parser(負責讀入該文件的這部分軟體)正在閱讀的文檔的類型。
第一行:
<?xml version="1.0" encoding="UTF-8"?>
有三部分:
? xml
? version="1.0"
? encoding="UTF-8"
前兩個,xml version=」1.0」標識該文檔為XML文檔並且告知其XML版本號。第三個encoding=」UTF-8」告訴語法分析器(負責讀入該文件的這部分軟體)該文檔使用哪個字符集character set。請把字符集理解成可以在該文檔中顯示的字符的集合。也可以使用其他的編碼聲明,不過這個聲明卻是最常用的。
從第三行開始有很長的一個開始標記是OSIS文檔最外面的標記,<osis>。OSIS文檔中所有的元素必須要在OSIS命名空間namespace中聲明。命名空間是由XML標準定義的一個方法,用來聲明一個文檔中元素的來源。XML 標準允許來自不同定義的元素組合在一個文檔中。也允許使用不同的方法定義元素,甚至包括在一個模式中沒有任何的定義。為了處理這麼多種情況,所有的基於XML的問的那個必須要有一個命名空間的聲明。
使用OSIS命名空間有兩種方法。不需要全部背下來,只要選擇如下兩種方法之一即可,需要記住的是要使用OSIS2.1.1來開始文本編碼。
OSIS命名空間方法1:複製如下在<?xml version="1.0" encoding="UTF-8"?>之後的行:
<osis
xmlns="http://www.bibletechnologies.net/2003/OSIS/namespace"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.bibletechnologies.net/2003/OSIS/namespace
http://www.bibltechnolgologies.net/OSIS/osisCore.2.1.1.xsd">
OSIS命名空間方法2,複製如下在<?xml version="1.0" encoding="UTF-8"?>之後的行:
<osis:osis
xmlns:osis="http://www.bibletechnologies.net/2003/OSIS/namespace"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.bibletechnologies.net/2003/OSIS/namespace
http://www.bibltechnolgologies.net/OSIS/osisCore.2.1.1.xsd">
請注意在第二個方法中,最後的結束元素必須是: </osis:osis>. 第一種方法更簡單一些,不過兩種方法都是合理的。
將來參考:
前一個方法聲明了OSIS命名空間是默認命名空間。後一個則允許在使用該命名空間以前,用」osis」前綴的來使用OSIS命名空間。命名空間繼承於其父元素,所以它不會影響如何出版一個OSIS文檔。
將來參考:
請注意這裡給出了OSIS模式的URL地址。這表示要驗證該文檔,必須要連接到網際網路。對於本地使用,必須在該文檔相同的目錄下有該模式文件的本地副本。這時候,http://www.bibltechnolgologies.net/OSIS/osisCore.2.1.xsd" 就要換成osisCore.2.1.xsd"。
從現在開始,OSIS文檔就開始了。OSIS文檔既可以是多個工作work(聖經)的文集,也可以只是單一的文本,例如KJV聖經。這個示例是一個簡單的文檔哥而不是一系列文檔的集合(這時候需要用<osisCorpus>元素開始,且其中有多個<osisText>元素),所以下面一個要展開的元素就是osisText:
<osisText osisIDWork="CEV" osisRefWork="Bible" xml:lang="en" canonical="true">
osisText元素有比上例中更多的屬性attribute,不過這裡的屬性卻是一個基本的OSIS文檔中最常用的。(osisText或者其他元素的屬性的完整列表請參見附錄A OSIS元素 中的列表)
每個osisText元素都需要提供一個osisIDWork屬性和值。值是在編碼的名字的縮寫(短名),本例中是當代英文版本Contemporary English Version, or CEV。短名在文本的著作聲明work declaration中定義,稍後詳談。
每個osisText元素都指定了其中的osisRef要參考的參考reference或者章節versification。它可以在或者不在相同的著作work中。根據你區分不同對象的精度的不同,有幾個主要的章節傳統versification tradition,以及無數的精細顆粒度的變體。對於目前來講,我們定義並且保留了這些主要的傳統參考系統的名字:
? NRSVA New Revised Standard Version with Apocrypha 新修訂標準版帶旁經
? NA27 Nestle-Aland, 27th Edition of the Greek New Testament Nestle-Aland希臘文新約第27版
? KJV King James Version or Authorized Version (AV) 英王版或者欽定版
? LXX Septuagint 七十士版
? MT Masoretic Text. Hebrew tradition varies in several respects, the best known being that it numbers
what is given as a title for Psalms in most English translations as verse 1,and the beginning of the
psalm in such a translation as verse 2. 馬所拉抄本。希伯來文的傳統有幾個方面的不同變種,其中最著名的是給Psamls的標題進行數字編號,在多數英文譯本中是第一節,而在這個譯本中詩篇的開頭卻是第二節。
? SamPent the Samaritan Pentateuch used a quite different numbering system. 薩瑪利亞五經使用非常不同的編號系統
? Synodal Russian Synodal 俄文譯本
? Vugl Vulgate 拉丁文譯本
? Loeb This system is used for most classical literature, though many major works have other systems
as well. 這個系統使用最傳統的文本,雖然很多主要的著作work使用其他的系統。
OSIS模式可以正式的聲明多個章節系統,也可以聲明其他的系統。這樣程序就可以在不同系統之間進行映像。不過目前我們只保留了已知的如上的一些基本且重要系統的命名。
所有的osisText元素都需要xml:lang屬性。儘管在osisWrok元素中的語言元素允許大範圍的語言分類系統,我們還是需要注意xml:lang卻有更多的限制。xml:lang屬性只認識如下兩個列表中的值:
? ISO 639: http://lcweb.loc.gov/standards/iso639-2/langhome.html, 或者
? IANA: ftp://ftp.isi.edu/in-notes/iana/assignments/languages/tags
這些代碼標識了文檔中所用的語言。ISO 639是國際標準化組織ISO的標準,並且如果使用這個屬性的其他的東西,需要在值的前面加上」x-」。例如,要為英語使用使用SIL民族語言代碼,』eng』,需要寫成』xeng』。所有的屬性中都有經典canonical的值。有一個』默認值』,這樣如果默認值被接受就不需要額外輸入編碼器了。在這裡osisText的默認值是true,這樣讀者就可以看到他是如何操作的。
當canonical="true"時,她表示該元素的內容是正在編碼的文本的一部分。例如聖經的「文本text」包括書卷book、章chapter、節verse,但是不包由編輯和譯者添加的括注釋note、段落標題section-heading等等。因此,對於例如是注釋note等元素的默認值就是false,因為該元素的內容是被疑為編輯或者是作者在對文本進行編碼的時候加進去的。必須要明確指明,經典canonical屬性不應該用來反映對於文本內容的神學判斷,只能用於區分是不是額外添加的文本。
在多數情況下使用經典canonical屬性是非常直接的,而其值也差不多總是表示該有的結果。不過,也有很困單的情況出現:例如,有人會將古代帶有注釋annotation的文本連同文本本身一起編碼。這是,這些注釋note就可能是經典canonical,而現代編輯加進去的則不是。在這種情況下,確實可行的方法和原則應該是在該著作work文檔中進行清楚地說明。
用戶需要注意的canonical屬性的值的一個常見情況是在詩篇中使用的<title>標題上。<title>元素的經典canonical屬性的默認值是false,但是在一些詩篇中,該值應該是true。默認值設置成false是因為段落的標題等在多數情況下都是在實際文本之外添加的。
所有的元素都有經典canonical 屬性。該屬性的值是繼承的,也就是說,如果一旦設置,則繼承它的所有的子元素也就有了相同的設定。例如:
<osisText osisIDWork="CEV" osisRefWork="Bible" canonical="true"
xml:lang="en">
<header>…header elements omitted…</header>
<title canonical="false">Queen Vashti Disobeys King Xerxes</title>
<verse sID="Esth.1.1-Esth.1.2" osisID="Esth.1.1 Esth.1.2" n="1-2"/> King Xerxes of Persia lived in his capital city of Susa and ruled one hundred twenty-seven provinces from India to Ethiopia. <verse eID="Esth.1.1-Esth.1.2"/> 標題title元素中的經典canonical屬性設置為false,因為問題的標題並沒有出現在聖經文本中。如果title元素包含其他元素,他們也被認為其經典canonical屬性也設置為false。 其後的p元素,是osisText元素的子元素,就繼承了’true『的值。因為這種繼承關係,編碼器很少顯示定義該屬性。在osisText中該屬性設置了一個默認值」true」,而在頭header、注釋note、和參考reference中需要覆蓋設置該屬性為「false」。 在非聖經書卷中,也有類似的區分:希羅多德Herodotus的歷史Histories必須要包含在canonical屬性設置為」true」的元素中,而注釋notes、頭數據header data和其他的東西則必須要將該屬性設置為「false」。 在多數情況下使用經典canonical屬性是非常直接的,而其值也差不多總是表示該有的結果。不過,也有很困單的情況出現:例如,有人會將古代帶有注釋annotation的文本連同文本本身一起編碼。這是,這些注釋note就可能是經典canonical,而現代編輯加進去的則不是。在這種情況下,確實可行的方法和原則應該是在該著作work文檔中的頭header元素中進行清楚地說明。 5.1. osisText元素中允許出現的元素 osisText元素包括如下元素: ? header ? titlePage (optional) ? div