嵌套毒理學數據模型

嵌套毒理學數據模型

嵌套表格是數據的一種呈現方式,嵌套表格呈現方式具體簡單、直觀、可視化等特點。它能夠以單元格行列合併的方式來表示單元格之間嵌套關係。嵌套表格數據模型支持的數據類型不僅僅是傳統二維表格所支持的簡單數據類型如整型、字元型、浮點型等,而且支持複雜層次結構數據,如XML毒理學數據。

基本介紹

  • 中文名:嵌套毒理學數據模型
  • 外文名:Nested toxicology data model
  • 優點:呈現方式具體簡單、直觀、可視化
  • 基本單元:單元格
  • 支持:整型、字元型、浮點型等
  • 套用:處理毒理學數據
嵌套毒理學數據模型,表頭映射方法,表體映射方法,

嵌套毒理學數據模型

嵌套表格是數據的一種呈現方式,嵌套表格呈現方式具體簡單、直觀、可視化等特點。它能夠以單元格行列合併的方式來表示單元格之間嵌套關係。嵌套表格數據模型支持的數據類型不僅僅是傳統二維表格所支持的簡單數據類型如整型、字元型、浮點型等,而且支持複雜層次結構數據,如XML毒理學檔案數據。
XML毒理學檔案是一種具有層次關係的樹狀結構,節點之間存在上下層關係,本質上來說是嵌套與被嵌套的關係,如下圖所示,它表示的是一個具有良好結構的檔案所對應的的樹型數據結構示意圖,其中,節點用矩形表示,數據用正方形表示,表示記錄條數為條,表示記錄條數為多條。
整個嵌套表格數據模型由兩部分構成表頭和表體。表頭表示的是XML毒理學檔案模式,表體表示的是XML毒理學數據,因此可以將XML毒理學檔案到嵌套表格映射分為XML毒理學模式到表頭的映射和XML毒理學數據到表體的映射兩部分完成。
表格是由許多單元格組成的,而每個單元格都是由行和列組成的地址標識的,因此實現XML毒理學檔案向支持嵌套的表格映射,實際就是將XML毒理學的模式信息和數據信息都轉化成為表格中相應的由行列坐標地址標識的表頭單元格信息和表體單元格信息。在表格中是通過上下、左右相鄰單元格的跨行、跨列合併來嵌套地表示XML毒理學模式和數據的層次關係。因此,得出每個用行列坐標標識的的單元格合併信息是解決問題的關鍵。

表頭映射方法

嵌套表格中表頭的顯示就是通過將層次結構DOM樹映射到表格中來實現的。在遍歷XML毒理學Schema時不僅要得到各個元素,而且要獲取它們相應的葉節點和葉節點的個數,因為葉節點個數決定了元素要合併的單元格數,各元素在表格顯示時按從左到右的順序在一行中依次顯示,因此要按照Schema中先後順序的處理,這裡採用佇列機制來處理XML毒理學元素節點,佇列“先進先出”特點恰恰符合處理各元素的順序,佇列中包括三種不同類型,元素節點,用於占位的空格和標記換行的自定義標識。注意各元素入隊前要先進行判斷,同層次的元素如果有相同的則只能有一個入隊處理,因為在表頭中顯示時它們代表的是同一模式,不同的僅僅是元素的文本內容不同。

表體映射方法

首先要獲取所有葉結點,查找這些葉結點的公共父節點,通過公共父節點的路徑得到所有的葉結點的父節點,查找XML毒理學檔案中的所有的數據記錄。獲取每個父節點下的葉結點數據後,即形成一個記錄的數據塊。通過每一個葉節點的路徑找出其父節點下所有重複的葉結點,獲取它們對應的數據,A結點下的數據1,2,3存入ArrayList<String>valueArrayList中,同時將這個數組加入到dataArrayList中,依次循環對每類葉節點的所有數據組成一個二維數組,並添加到dataNodeArrayList中,最終得到存儲整個XML毒理學檔案的全部數據記錄。對數組valueArrayList中的存儲的葉結點數據按層次順序循環處理,先獲得當前葉結點的數據個數,如果數據個數小於當前層數,則說明需要和上層數據合併,並將其合併信息和內容寫入中間數據結構中,否則修改列坐標,處理下一個葉結點,遍歷完每一層的葉結點後同時修改行列坐標。

相關詞條

熱門詞條

聯絡我們