簡要評測SDL Trados Studio 2019的第二代XML處理引擎

簡談SDL Trados Studio 2019的第二代XML處理引擎

在最新版本的SDL Studio 2019 SR2版本中加入了第二代XML處理引擎,同時此版本保留了第一代引擎,因爲第二代目前還是測試階段,目前官方文檔中也沒有對第二代引擎做過多的描述,只是說第二代和第一代處理結果一致,長遠來看未來第二代肯定會全線替換第一代引擎。

第一代引擎起源於Trados Studio的第一個版本2009,距今已有近10年的歷史,期間一直在打補丁,隨着漫長的時間 補丁難度越來越大 代碼越來越臃腫,SDL不得已終於決定痛改這個引擎,推出了第二代引擎。
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

首先由於XML的開放性因此XML引擎是很多文件解析器的基礎例如DITA,RESX,ITS等

我們來直觀對比一下
現在的新建類型的選擇是非常多的
在這裏插入圖片描述
第一代
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述在這裏插入圖片描述
在這裏插入圖片描述

第二代
在這裏插入圖片描述在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述從圖片可見,第二代引擎的設置上最顯著的一個變化是將文件類型的決定步驟,包括根節點xml命名空間等,放在了TAG設置的前面,這樣是更爲合理的,之前第一代是先設置TAG再決定文件類型。

另外一點第二代引擎單獨給出一套模板支持帶命名空間的XML,這樣優化了設置。
在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述
在這裏插入圖片描述我這裏採用了一個接近2MB的大型XML文件約25W字進行試驗
試驗結果表明
第二代處理引擎文件轉換的速度要比第一代慢
但是後續的文件分析和預翻譯速度要比第一代快
另外第一代引擎生成的sdlxliff文件大小是16MB而第二代生成的sdlxliff是12MB,同樣的文件體積小了4MB,有了更好的優化

再看xml嵌入內容的處理

第一代引擎的嵌入內容最開始是整合在Parser中的,根據CDATA或Document Structre Information使用規則處理
在這裏插入圖片描述
在2014還是2015版引入了獨立的Embedded Content Processor作爲升級版
在這裏插入圖片描述
在第二代引擎中,這個功能得到了很大的改進,沿用Embedded Content Processor但是可以根據CDATA或Document Structre Information或者指定單獨TAG(XPATH)選取和使用規則
在這裏插入圖片描述
在這裏插入圖片描述

另外對於XML實體設置頁面也進行了優化更直觀的顯示和選擇,並且可以單獨指定一個實體的讀取和寫入規則

舊版
在這裏插入圖片描述
新版
在這裏插入圖片描述

我們進一步從架構上來分析看看

在這裏插入圖片描述第二代引擎的程序集就是這些

第一代引擎屬於Sdl.FileTypeSupport下的Native 類(Sdl.FileTypeSupport下分Native 和Bilingual兩個類別)文件集是 Sdl.FileTypeSupport.Native.Xml_1_2.dll
其中XmlParser繼承自AbstractNativeFileParser, INativeContentCycleAware, ISettingsAware, ISubContentPublisher

第二代引擎獨立出來在Sdl.FileTypeSupport.Filters下面文件集是 Sdl.FileTypeSupport.Filters.Xml_2.dll
其中XmlParser繼承自AbstractNativeFileParser, INativeContentCycleAware, ISettingsAware, ISubContentPublisher
AbstractBilingualFileTypeComponent, IBilingualParser, IParser, IDisposable, IBilingualFileTypeComponent, INativeContentCycleAware, ISettingsAware, IPublishSubcontent, ISubContentPublisher
也就是說屬於Bilingual兩個類別,這是本質的區別

左邊是一代右邊是二代
在這裏插入圖片描述
從引用關係中看到第一代引擎使用了 net.xmlcatalog庫和CodePlex.XPathParser,但是在第二代中沒有看到這些引用

從代碼結構來看第二代引擎更抽象,因此基於次引擎的擴展會更容易,並且未來的補丁和修正要比第一代容易,總來來說第二代引擎替換第一代是未來趨勢,第一代不久後肯定會被放棄,勸大家早日熟悉和使用第二代引擎。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章