Thứ Năm, 31 tháng 7, 2014

Use Xpath

Demo: In an organization, five hundred employees are working. Out of which some are apprentices. The Delivery Unit Head of that organization gave you the responsibility to develop a software, with which you can find the details of apprentices. Use the below files to develop the application: 
1. The EmployeeDatabase.xml file holds the data of all employees. 
2. Use XPath expressions. 
In this application, the apprentices are defined in the trainee namespace while all other employees are defined in the default namespace. This application should count the number of apprentices and print their details on the user console.

Bước 1: Tạo new project



Bước 2: Tạo file EmployeeDatabase.xml có sử dụng Namespace


Bước 3: Viết code cho file main
code tạo Document kêt nối XML


code kiểm tra Namespace


Code tạo Xpath


Kết quả:


Demo: https://drive.google.com/file/d/0B-EFzewQLSMDd2Zpa2Z5QnN3UG8/edit?usp=sharing

Nhận xét :
-Hiện nay, Xpath có vai trò rất quan trọng trong quá trình trao đổi thông tin, dữ liệu
-Sử dụng Xpath, ta sẽ dễ dàng truy cập vào các node trong XML bằng cách viết các câu lệnh đơn giản và đặt điều kiên trong các câu lệnh
-Cú pháp khai báo cũng khá đơn giản và ngắn gọn
-Xpath cho phép ta chọn lựa những thông tin, dữ liệu nào mà ta muốn chuyển


Use Trax to tranform xml document

Demo : Create an application, which accepts an XSLT file as its first argument and XML document as second argument. Then, create an application using the following classes, which transforms a Source and sends the output to a Result object. 
1. Use the TransformerFactory class and its methods. 
2. Use the Transformer class and its methods.

Bước 1: Tạo new project



Bước 2: Tạo file employees.xml



Bước 3: Tạo file employeesStyle.xml
code CSS:



code sắp xếp dữ liệu theo username



code lấy dữ liệu



Bước 4: Viết code cho file main


Kết quả




Demo: https://drive.google.com/file/d/0B-EFzewQLSMDLV9KQjFkWjNXM2c/edit?usp=sharing

Nhận xét
-Việc chuyển đổi XML thành các định dạng khác là rất cần thiết và quan trọng hiện nay
-Nó được coi là một trong những đặc tính cơ bản của file XML.
-Việc chuyển đổi cũng khá dễ dàng và nhẹ nhàng
-Việc chuyển đổi sẽ rất có ích khi bạn muốn gửi dữ liệu cho ai đó

Thứ Tư, 30 tháng 7, 2014

Apply XQuery

Demo:Read all username in file tomcat-users.xml

Nếu bạn chưa có file nux 1.6. Bạn có thể download tại đây https://code.google.com/p/tntien/downloads/detail?name=nux-1.6.tar.gz&can=2&q= .Sau khi download và giải nén các bạn sẽ được nhưng tập tin trong folder lib như hình sau:



Bước 1: Tạo new project



Bước 2: Tạo file tomcat-users.xml



Bước 3: Add tất cả các thư viện như hình sau



Kết quả



Bước 4: Viết code trong file main



Kết quả:



Demo https://drive.google.com/file/d/0B-EFzewQLSMDbHJXbTlPSWhaUk0/edit?usp=sharing

Nhận xét
-XQuery lấy dữ liệu từ file XML dựa trên XPath, bạn phải chỉ rõ vào vị trí dữ liệu muốn lấy, điều này hơi khó khăn
-XQuery lấy dữ liệu bằng Web Services, đòi hỏi lập trình viên phải có kiến thức về Web Service
-XQuery có thể transfrom dữ liệu từ XML sang XHTML rất dễ dàng
-Bạn phải viết đúng tên các thẻ, các element

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

1. XML như Database

 -Sử dụng xml như một cơ sở dữ liệu
 -Dùng để lưu trữ thông tin, hỗ trợ chúng ta truy xuất, quản lý thông tin một cách dễ dàng nhất
 -Lưu trữ dữ liệu ở xml rất đơn giản
 -Định dạng xml vô cùng phổ biến
 -Convert dữ liệu từ xml sang các định dạng khác đơn giản

2. Phân loại XML
  -XML-Enabled : hỗ trợ sử dụng XML
  -Native XML : thực sự lưu trữ dữ liệu dưới dạng XML

3. Mục đích sử dụng CSDL XML
 -Không phụ thuộc vào bất kỳ nền tảng công nghệ nào
 -Bản thân XML đã dùng để mô tả thông tin
 -Toàn bộ thông tin được mô tả dưới dạng Node
 -Có thể lồng nhau thoải mái, nhiều thông tin trùng lặp với nhau được
 -Lưu trữ được nhiều

4. Tổ chức CSDL XML
- Data-Centric Documents: Tổ chức dữ liệu theo cấu trúc (Soap)
- Document-Centric Documents: XML không có cấu trúc chặt chẽ như Data-Centric Documents mà có thêm những thứ khác như tài liệu HTML…

5. Object
- Những dữ liệu trong tài liệu XML được lưu trữ dưới dạng node
- Một node có thể biến đổi thành object dễ dàng
- Có các thư viện để biến đổi tài liệu XML sang object và ngược lại

6. Native XML Databases
- Mọi thông tin được lưu trữ dưới dạng XML
- Hỗ trợ truy xuất cơ sở dữ liệu bằng query
- Dùng XSLT để lấy dữ liệu từ trong file XML
-Hỗ trợ việc cập nhật dữ liệu

7. Mapping giữa  CSDL ở dạng quan hệ và CSDL XML

 -Mapping rất đơn giản
 -Truy xuất cũng rất đơn giản

8.Mapping CSDL XML và object


-Mapping phức tạp hơn

Nhận xét
-Chúng ta có thể lấy dữ liệu, quản lý, cập nhật, truy xuất CSDL trong XML dễ dàng
-Định dạng xml hiện nay được dùng  rất phổ biến
-Biến đổi dữ liệu từ định dạng xml sang các định dạng khác rất đơn giản, chi phí thấp

Thứ Ba, 29 tháng 7, 2014

Use TreeWalker to read xml file

Demo : 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.

Bước 1: Tạo new project


Bước 2: Tạo file employees.xml

Bước 3: Viêt code cho file chạy chương trình

-code lấy dữ liệu DOM tree


-code chạy chương trình


Kết quả:


Demo: https://drive.google.com/file/d/0B-EFzewQLSMDMzVYdVVpM3B1ckU/edit?usp=sharing

Nhận xét: So sánh NodeIterator và  TreeWalker

Giống:
-Cả 2 đều rất năng động, dễ thao tác.
-NodeIterator và TreeWalkers đều thể hiện cái nhìn về một cây tài liệu

Khác: 
-NodeIterator trình bày một cái nhìn phẳng của cây con như một chuỗi các lệnh của các nút, được trình bày theo thứ tự tài liệu.
-Ngược lại, một TreeWalker duy trì các mối quan hệ thứ bậc của cây con, cho phép chuyển hướng của hệ thống phân cấp này
-Như vậy ,TreeWalkers là tốt hơn để thể hiện cấu trúc của tài liệu xung quanh các node được chọn sẽ được thao tác . NodeIterators lại tốt hơn cho công việc mà tập trung vào các nội dung của mỗi node được lựa chọn.

User NodeIterator to read XML file

Demo: 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 NodeInterator interface to traverse through all the nodes present in the DOM tree and print the value of the nodes.

Bước 1: Tạo new project



Bước 2: Tạo file employees.xml

Bước 3: Viết code cho file chạy chương trình


Kết quả:


Demo : https://drive.google.com/file/d/0B-EFzewQLSMDQWhGWVMtUzBudDQ/edit?usp=sharing

Nhận xét
-Giao diện NodeIterator và NodeFilter rất dễ sử dụng, mạnh mẽ
-Traversal có thể chọn lọc các nội dung của tài liệu để hiện thị rõ ràng
- Phương thức nextNode () của iterater trả về node đầu tiên của cây con; trong nhiều trường hợp , khi các node của cây con không tìm thấy nữa, thì phương thức nextNode () sẽ trả về null. Điều này giúp chương trình làm việc với file XML dễ dàng và an toàn.


Describe overview of DOM Level 2

1. DOM Level 2 là gì?
-DOM Level 2 là DOM được xây dựng dựa trên DOM Level 1
-DOM Level 2 có 6 module khác nhau
   + Traversal giúp di chuyển trên cái cây dễ dàng hơn.
   + Range giúp cắt một đoạn trên file XML
   + Event giúp xử lý các event
   + Views, HTML , Style.
 
2. Các interface của Core và Range
 - Core: DOMImplementation, DocumentFragement, Document, NodeList, Attr, Element
 - Range: Range, DocumentRange



3.Module Event
  -được xây dựng dựa trên module DOM Level 1
  -không bắt buộc phải có
  -giúp chúng ta đăng ký, định nghĩa thêm các event khác nhau

4.Event Flow
-Khi  bắt đầu đọc thẻ HTML là một event, còn khi kết thúc sẽ là một event khác



5. Traversal Module
-có 3 interface :TreeWalker, Nodelterator, NodeFilter
-giúp di chuyển dễ dàng hơn trên một cái cây DOM 

6. CSS Module
-có các interface: CSSStyleSheet, CSSRuleList, CSSHediaRule, CSSStyleDeclaration.
-giúp chúng ta làm việc với các style

Nhận xét
-Vì DOM Level 2 được xây dựng dựa trên DOM Level 1 nên DOM level 2 có những tính năng vượt trội hơn DOM Level 1.
-Tính bảo mật của DOM Level 2 sẽ cao hơn và an toàn hơn

Thứ Hai, 28 tháng 7, 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 project



Bước 2: Tạo file student.xml

Bước 3: Viết code cho file chạy chương trình


Kết quả:


Demo: https://drive.google.com/file/d/0B-EFzewQLSMDX0tUTldZc3VGSEk/edit?usp=sharing

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 project



Bước 2: Tạo file employees.xml


Bước 3: Viết code cho file chạy chương trình

Kết quả:

Demo https://drive.google.com/file/d/0B-EFzewQLSMDa0dRRWxYdk1MR0E/edit?usp=sharing

Nhận xét:

-DOM có đầy đủ các chưc năng hơn SAX
-Code rất chặt chẽ, dễ hiểu
-Tính năng bảo mật sẽ đước nâng cao hơn
-DOM có thể truy xuất vào bất kỳ phần nào trong file XML