淡江大學覺生紀念圖書館 (TKU Library)
進階搜尋


下載電子全文限經由淡江IP使用) 
系統識別號 U0002-2605200511461900
中文論文名稱 XML樹狀編輯器的規劃與實作
英文論文名稱 Design and Implementation of an XML Tree Editor
校院名稱 淡江大學
系所名稱(中) 資訊管理學系碩士班
系所名稱(英) Department of Information Management
學年度 93
學期 2
出版年 94
研究生中文姓名 周敬斐
研究生英文姓名 Ching-Fei Chou
學號 691520091
學位類別 碩士
語文別 中文
口試日期 2005-05-21
論文頁數 66頁
口試委員 指導教授-廖賀田
委員-莊庭瑞
委員-楊欣哲
委員-梁德昭
中文關鍵字 XML  標記語言  樹狀編輯器  物件導向 
英文關鍵字 XML  Markup Language  Tree Editor  Object Oriented 
學科別分類 學科別社會科學管理學
學科別社會科學資訊科學
中文摘要 本論文分析XML文件的結構並提出樹狀模型,依據模型探討XML編輯器在展示與編修上的各種需求,然後據以設計並實作XML樹狀編輯器。

在展示上我們濾掉繁瑣的標籤與縮排用的空白類字元。使用者可以選擇呈現特定種類的節點,將子樹最大化或最小化,並使用子樹的局部捲軸。

在編修上我們提出目前工作樹(CWT)的概念。當游標落在節點資料內時,是以字元或列為編輯單位;當游標落在次級子樹之間,則是以次級子樹為編輯單位。基本編輯動作都是以CWT的編輯單位為基礎。當游標進入(或退出)子樹時,CWT會縮小(或擴大),由於編輯單位隨著CWT變更,文件就得以保持樹狀結構。此外,樹狀編輯器還支援特種編修動作,包括下推、上拉、標記配置、及標記轉換。
英文摘要 In this paper, the structure of XML documents is analyzed, and its tree model is proposed. Based on the model, the functions of an XML editor on displaying and editing are explored. And a Tree editor for XML documents are designed and implemented.

On displaying, all the tedious tags and white spaces for indent are removed. The user can select the types of nodes to display, maximize/minimize a sub-tree, and use the local scrolling bar of a sub-tree.

On editing, the concept of current working tree (CWT) is proposed. While the text cursor is located in node data, the unit of editing is a character or a line. While it is located between next-level sub-trees, the unit of editing is a next-level sub-tree. Elementary editing actions must base on the unit of editing. When the cursor enters or exits a sub-tree, the CWT will shrink or expand respectively. Since the unit of editing changes as well as the CWT, the tree structure of a document will be well preserved. Besides, special editing actions such as pushing down, pulling up, markup labeling, and markup transformation are supported by our tree editor.
論文目次 目 錄

第一章 緒論……………………………………………………………. 1
1.1 研究背景……………………………………………………… 1
1.2 論文組織……………………………………………………… 2
第二章 XML文件模型與展示.……………………………………….. 3
2.1 節點資料與子樹……………………………………………… 3
2.2 展示與觀看…………………………………………………… 4
2.3 子樹的最大化與最小化……………………………………... 6
2.4 局部捲軸……………………………………………………… 7
第三章 樹狀操作……………………………………………………… 8
3.1 目前工作樹(CWT)………………………………………. 8
3.2 基本編修…………………………………………………….. 9
3.3 特種編修…………………………………………………….. 10
第四章 系統實作……………………………………………………… 12
4.1 物件導向樹狀結構…………………….……………………. 12
4.2 編輯窗與XML樹的運作.…………………………………. 14
4.3 剖析器的製作………………………………………………. 16
4.4 效能測試……………………………………………………. 17
第五章 總結與展望………………………………………………….. 18
5.1 總結…………………………………………………………. 18
5.2 後續工作…………………………………………………… 19
參考文獻……………………………………………………………… 21
附錄一 XML文法…………………………………………………… 31

附錄二 類別繼承圖………………………………………………… 37
一、 物件導向樹狀結構………………………………………… 37
二、 編輯窗…………………….………………………………… 38
附錄三 主要類別UML圖….………………………………………… 39
一、 物件導向樹狀結構……………………………………….. 39
二、 編輯窗…………………….……………………………….. 61


圖 目 次

圖1 樹狀結構…………………….…………………………………… 23
圖2 原始碼與精簡形展示…………………….……………………… 23
圖3 選擇性呈現…………………….………………………………… 24
圖4 最大化與最小化子樹…………………….……………………… 24
圖5 局部捲軸…………………….…………………………………… 25
圖6 目前工作樹(CWT)…………………….…………………….. 26
圖7 CWT的進入與退出…………………….……………………….. 27
圖8 CWT中的選取區…………………….………………………….. 28
圖9 下推與上拉…………………….……………………………….. 29
圖10 手動標記配置…………………….……………………………. 30
圖11 標記轉換…………………….…………………………………. 30
圖12 物件導向樹狀結構類別繼承圖…………………….………… 37
圖13 編輯窗類別繼承圖…………………….………………………. 38

類 別 圖 目 次

類別圖1 SyntaxNode…………………..……………………………… 39
類別圖2 Type1Node, Type2Node…………………….………………. 40
類別圖3 AttlistDecl…………………….……………………………… 41
類別圖4 DoctypeDecl…………………….…………………………… 42
類別圖5 ElementDecl…………………….…………………………… 43
類別圖6 EntityDecl…………………….……………………………… 44
類別圖7 ExtSubset…………………….………………………………. 45
類別圖8 NotationDecl…………………….…………………………… 46
類別圖9 AttlistDecl…………………….……………………………… 47
類別圖10 XMLDecl…………………….……………………………… 48
類別圖11 Attribute…………………….………………………………. 49
類別圖12 CharacterDataImpl…………………….…………………… 50
類別圖13 CDATASection…………………….……………………….. 51
類別圖14 Comment…………………….……………………………… 52
類別圖15 PI…………………….……………………………………… 53
類別圖16 TextGroup…………………….…………………………….. 54
類別圖17 DocumentNode…………………….……………………….. 55
類別圖18 DoumentNode(續) …………………….…………………… 56
類別圖19 Element…………………….……………………………….. 57
類別圖20 Element(續) …………………….………………………… 58
類別圖21 EntityReference…………………….……………………… 59
類別圖22 ExtPE…………………….…………………………………. 60
類別圖23 TreeWin…………………….……………………………… 61
類別圖24 TreeWin(續) …………………….…………………………. 62
類別圖25 TreeFrame…………………….……………………………. 63
類別圖26 NodeDataArea…………………….……………………….. 64
類別圖27 LeafTypeTreeWin…………………….…………………… 65
類別圖28 BranchTypeTreeWin…………………….………………… 66
參考文獻 [1] Aho, Alfred V., "Compilers, principles, techniques, and tools", Wesley, Mar 1988.
[2] Altova GmbH, "XMLSpy 5.0 Enterprise Edition", http://www.altova.com/.
[3] IDM Computer Solution, Inc., "UltraEdit 9.10", http://www.idmcomp.com/2002/.
[4] K.Arnold, J.Gosling and D.Holmes, "The Java Programming Language 3rd Edition", Addison Wesley, June 2000.
[5] K.Walrath and M.Campione, "The JFC Swing Tutorial", Addison Wesley, June 1999.
[6] Microsoft Corporation, "Microsoft Internet Explorer 6.0", http://www.microsoft.com/IE/.
[7] Microsoft Corporation, "Microsoft Office Word 2003", http://office.microsoft.com/word/.
[8] Microsoft Corporation, "Windows XP Professional", http://www.microsoft.com/windowsxp/.
[9] Netscape Communications Corporation, "Netscape 7.2", http://www.netscape.com/.
[10] Recordare LLC. , "MusicXML Definition 1.0" , http://www.recordare.com/xml/samples/xmlsamples.zip, 2005.
[11] Sun Microsystem, Inc. "Java 2 Platform, Standard Edition (J2SE) Version 1.4.2", http://java.sun.com/j2se/1.4.2/.
[12] SyncRO Soft. Ltd., " XML Editor 5.0", http://www.oxygenxml.com/, 2004.
[13] W3C (World Wide Web Consortium), "Document Object Model (DOM) Level 2 Core Specification", http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/, 2000.
[14] W3C (World Wide Web Consortium), "Extensible Markup Language (XML) 1.0 Third Edition", http://www.w3.org/TR/2004/REC-xml-20040204/, Feb 2004.
[15] W3C (World Wide Web Consortium), "XML Schema Part 0: Primer Second Edition", http://www.w3.org/TR/xmlschema-0/, Oct 2004.
[16] 翁浩廷, "XML編輯器的規劃與實作", 淡江大學資訊管理學系碩士論文,民國91年6月。
論文使用權限
  • 同意紙本無償授權給館內讀者為學術之目的重製使用,於2007-06-07公開。
  • 同意授權瀏覽/列印電子全文服務,於2007-06-07起公開。


  • 若您有任何疑問,請與我們聯絡!
    圖書館: 請來電 (02)2621-5656 轉 2281 或 來信