Chủ Nhật, 10 tháng 8, 2014

Describe xml database, it types and mapping xml schema and database schema

I.Định nghĩa :
XML đóng vai trò như một database. Có thể truy xuất, cập nhật , quản lí thông tin một cách dễ dàng.Với XML, lưu trữ dữ liệu không khó khăn và nó rất phổ biến.
II.Phân loại:
-XML-Enabled : giúp sử dụng XML
-Native XML : lưu trữ dữ liệu dưới dạng XML
III.Tác dụng :
-Dùng để mô tả thông tin dữ liệu.

IV.Tổ chức cơ sở dữ liệu: 
A.Gồm có 2 loại
-Data-Centric Document: tổ chức dữ liệu theo cấu trúc.
-Document-Centric Documents: XML không có cấu trúc chặt chẽ được như Data-Centric Documents
-Dữ liệu trong file XML được lưu dưới dạng node
-Node có thể biến thành Object và tồn tại thư viện có thể biến object thành XML và ngược lại 
B.Native XML Databases
-Các thông tin được lưu trữ dạng XML
-Hỗ trợ truy xuất dữ liệu = query
-Giúp đỡ cập nhật dữ liệu
-Mapping giữa  CSDL dạng quan hệ và CSDL XML
-Mapping và truy xuất đơn giản
Mapping giữa CSDL XML và object phức tạp hơn CSDL dạng quan hệ và CSDL XML :
Nhận xét :
-Việc quản lí cơ sở dữ liệu với XML không khó khăn.
-XML không phụ thuộc vào nền tảng công nghệ.
-Thông tin có thể trùng nhau.

Use TreeWalker to read xml file

Create an XML document containing the employee details of an organization. Then create an application, which uses the DOM parser to parse the XML document into a DOM tree and traverses through it. The application should implement the TreeWalker interface to traverse all the nodes present in the DOM tree and print the value of the nodes.
Tạo Java Application với file xml như sau

Code main class

Kết quả 
Demo tại đây

 Nhận xét :
-Thể hiện tốt cấu trúc tài liệu thông qua các node.
-TreeWalker duy trì các mối quan hệ thứ bậc của nhánh con, cho phép chuyển hướng của hệ thống phân cấp này.

Use NodeIterator to read xml file

Create an application demonstrating traversal of a DOM tree using theTreeWalker interface. Create an XML document containing the employee details of an organization. Then create an application, which uses the DOM parser to parse the XML document into a DOM tree and traverses through it. The application should implement the TreeWalker interface to traverse through all the nodes present in the DOM tree and print the value of the nodes.
Tạo Java Application và file XML như trên.

Code main class

Kết Quả
Demo tại đây


Nhận xét :
-Làm việc với file XML dễ dàng và an toàn hơn.
-Dễ sử dụng và rất mạnh mẽ

Describe overview of DOM

SAX có nhược điểm là không thể trực tiếp đọc tại một vị trí ngay lập tức mà sẽ phải đọc từ trên xuống dưới nên với việc tìm kiếm chi tiết thì với SAX sẽ rất phức tạp.
SAX không hỗ trợ DTD và không nhiều thông tin về Lexical.
SAX không cập nhật được thông tin file XML.

DOM:
Có các ưu điểm giống SAX nhưng ngoài ra có thể truy xuất cùng 1 lúc nhiều tài liệu , truy cập ngẫu nhiên đến 1 thành phần trong file XML , có thể cập nhật thông tin file XML.

Thành phần của DOM
Cấu trúc của DOM là cấu trúc rẽ nhánh . Bắt đầu từ Document sau đó đến thẻ root vớt nhiều thẻ nhỏ hơn ở bên trong
Làm việc với DOM
Nếu SAX có parser thì DOM có Documentbuilder , XML data , Document builder factory . DOM cũng gần tương tự như làm việc với SAX
Interface trong DOM

Nhận xét

-DOM có tất cả các ưu điểm của SAX nhưng được thêm nhiều hơn , hoàn thiện hơn
-DOM phân tích dữ liệu nhanh và toàn bộ dữ liệu trong bộ nhớ trong khi SAX chỉ 1 phần nhỏ

Thứ Ba, 5 tháng 8, 2014

Use Dom to work with XML

Demo 1 : Create a student list student.xml. Write a program for a teacher to count the number of students in a class. Create a DOM tree for parsing the student.xml :

Bước 1 : Tạo new Java Application trong đó có một file xml như trên

Code trong main class.

Kết quả thu được.
Demo tại đây.

Demo 2 : Create an XML document parser application. The application should use a DOM parser to parse an XML document containing the names of employees of an organization, ABC Apparels Ltd, and then print the names of all the employees.
Bước 1 : Tạo new java application và tạo file xml như trên 

Code trong main class

Kết quả.

Demo tại đây


 NHẬN XÉT:
-Sử dụng Dom cho phép chúng ta truy xuất sau tới từng thẻ dễ dàng hơn SAX
-Code của Dom dễ hiểu và nó có đầy đủ chức năng

Comparing XmlReader to SAXParser

So sánh điểm tương đồng và khác nhau giữa xmlReader và SAXParser :

I.SAXParser :
-Dùng mô hình đẩy , đọc file xml từ trên xuống nên sẽ không tốn nhiều bộ nhớ.
-Chỉ đọc được xml chứ không thể chỉnh sửa dữ liệu trong file
-Đơn giản và ít code
-Các phương thức chủ yếu để truyền và phân tích dữ liệu

II.XML Reader :
-Dùng mô hình kéo để xử lí nội dung phức tạp.
-XMLReader duyệt phần tử XML cùng lúc nên nó tiêu thụ bộ nhớ ít.
-Cần tạo vòng lặp để gọi phương thức đọc của lớp XMLReader.
-Code để xử lí nhiều hơn.

NHẬN XÉT :
-Qua bài tìm hiểu chúng ta biết được về đặc điểm của riêng SAXParser và XMLReader để có thể dxuwr dụng phù hợp vào từng bài.

Thứ Sáu, 1 tháng 8, 2014

Validate XML in SAX

Demo 1: Create an application, which demonstrates the generation of an error during parsing an XML document. Write the code for handling different types of errors and exceptions. Define an endDocument() method to override the contentHandler. Declare a method to override the error method of errorhandler.
Tạo file xml

Code class Handler

Code main Class

Kết quả

Demo tại đây

Demo 2: Create an application, which demonstrates the implementations of DTDHandler interface methods. As the DefaultHandler implements the DTDHandler interface, you need to override the desired methods of DTDHandler interface.


Tạo file xml

Code class handler

code main class

Kết quả

 Demo tại đây

Demo 3: Create an XML file Report.xml that contains the sales data for this financial year. Create an application that demonstrates the implementations of LexicalHandler interface methods .The application should display the number of entities, CDATA, and comments in the Report.xml document.
tạo file xml


Code main class

Kết quả

Demo tại đây


NHẬN XÉT :
-Kiểm soát lỗi tốt với các override method của Default Handler và SaxException
-Xây dựng các ứng dụng đơn giản một cách dễ dàng