Xem điểm thi Đại Học 2010 miễn phí tại Học vui
Advanced Search

New Reply

Author Topic: Tùm lum tùm la về XML  (Read 1521 times)

0 Members and 1 Guest are viewing this topic.

Tùm lum tùm la về XML
« on: April 16, 2009, 08:48:16 AM »

HTML=”Hyper Text Markup Language” nghĩa là đây chỉ là một kiểu định dạng Formating của văn bản theo các tag , máy nó không thể hiểu được nội dung của trang này đang nói cái gì, thành ra khi chúng ta tìm kiếm thông tin, chúng ta chỉ có thể tìm chính xác theo kiểu KeyWord

.....<body>
<table>
<p>
Tâm Huyết là những con người có nhiệt huyết với một việc gì đó
</p>
<p>
Tâm Huyết là tác giả của phần mền PhoneSoft
</p>
</table>
</body>....

Còn XML thì tổ chức thông tin theo kiểu ngữ nghĩa Meaning, nghĩa là máy tính nó sẽ hiểu và xử lí được thông tin theo đúng ý đồ của chúng ta tới mức cỏ thể cho chúng ta biết là thông tin nào là tin cậy hơn cả


<?xml version="1.0" encoding="unicode"?>
<interpreting>
Tâm Huyết là những con người có nhiệt huyết với một việc gì đó
</interpreting>
<author>
Tâm Huyết là tác giả của phần mền PhoneSoft
</author>


Nếu như trước đây một vị khách hàng muốn đi du lịch thì người này sẽ thông qua một Browser để gửi yêu cầu của mình tới Website của một Tour Agent nào đó và chờ đợi thông tin phản hồi từ hãng. Khi nhận được yêu cầu từ phía khách thì hãng du lịch phải liên hệ với AirLine, Hotel, Car Rental..... rồi mới phản hồi thông tin cho khách hàng. Mặc dù đều là giao dịch qua mang, nhưng thời gian diễn ra khá lâu, và vẫn cứ có sự tham gia một cách thủ công của các nhân viên hãng du lịch và khách hàng. Vậy vấn đề đặt ra là ta phải tổ chức thông tin như thế nào để mà người khách chỉ cần gởi thông tin rồi máy sẽ tự tim ra các hãng AirLine, Hotel, Car Rental..... và tư vấn là hãng nao OK nhất mà không cần thông qua Tour Agent. Như vậy thông tin được phản hồi một cách nhanh chóng

Nếu như đã tìm hiểu XML thì chúng ta cũng nên tìm hiểu xem Web Sevices hay cao hơn là Semantic Web Services là cái gì (Semantic: understand and process)
Web Sevices là những Procedure hay Method mà được cung cấp ở trên mạng mà chúng ta có thể sử dụng chúng. Khó hiểu phải không ? Không sao, giả sử ta có đoạn Code như sau:

#include<stdio.h>
void main()
{
clrscr();
printf(“Hello world ! I am Tân”);
getch();
}

Web Sevices là những hàm như clrscr(),printf(),getch()...trong thư viện include<stdio.h> , đấy quí vị chẳng cần quan tâm xem nội dung Code của mấy hàm này như thế nào chỉ biết là có thì xài thế thôi. Những hàm này được lưu trú trên mạng.
Giả sử như bây giờ quí vị muốn cộng 2 ma trận lại với nhau, lúc này chúng ta chỉ việc sử dụng Web Services. Nhưng rủi như có rất nhiều Web Services viết về hàm cộng hai ma trận, hàm nào là hàm mà chúng ta tin tưởng hơn cả. Lúc này ta sẽ thấy XML quan trọng như thế nào và lúc này Web Services gọi là Semantic Web Services


bookmark_facebook    bookmark_google    bookmark_twitter    bookmark_yahoo    bookmark_baihay    bookmark_linkhay    bookmark_tagvn    bookmark_zingme


Re: Tùm lum tùm la về XML
« Reply #1 on: April 16, 2009, 09:18:57 AM »

XML có thể sử dụng để lưu trữ dữ liệu có cấu trúc. Ví dụ như bạn muốn lưu danh sách các quyển sách:
<books>
  <book id="1">
    <title>Lập trình C++ trong 21 ngày<title>
    <author>Nguyễn A</author>
  </book>
  <book id="2">
    <title>XML toàn tập<title>
    <author>Trần B</author>
  </book>
</books>

nhưng mà để thao tác với loại CSDL này thì mình củng chỉ mới tìm hiểu, nguồn của lao5t bài viết này đều trên Google!

Để dọn đường cho các đồng chí dấn thân vào nghiên cứu Semantic Web, hôm nay tôi cung cấp một tài liệu về ngôn ngữ truy vấn XML XQuery, một ngôn ngữ khá đơn giản, dễ dùng và hiện đang được đề xuất để trở thành chuẩn ngôn ngữ truy vấn các tài liệu XML.

I. XQuery là gì?

XQuery (XML Query) là một ngôn ngữ truy vấn thông tin trong XML, cho phép các chương trình ứng dụng truy vấn các dữ liệu quan hệ hay dữ liệu có cấu trúc dạng XML. Đây là một ngôn ngữ mạnh mẽ, ngắn gọn và được thiết kế để xử lý dữ liệu XML.

XQuery có thể được sử dụng nhằm mục đích lấy thông tin để sử dụng trong một dịch vụ Web, tạo các báo cáo tổng hợp, biến đổi dữ liệu XML thành XHTML hoặc tìm kiếm các tài liệu Web, từ đó cho ra các thông tin có liên quan dựa trên các cặp thẻ XML. XQuery cũng có thể được sử dụng để sản sinh ra các cấu trúc RDF hay truy xuất thông tin trên những nền tảng dựa trên XML. Vì bản thân các ngôn ngữ như RDF hay OWL cũng được biểu diễn thông qua XML nên chúng ta cũng có thể sử dụng XQuery để truy vấn thông tin trong các ontology được biểu diễn bởi RDF/OWL.
II. Các biểu thức đường dẫn trong XQuery

XML xác định các nút thông qua các đường dẫn tới các nút đó, với "đầu đường" là phần tử gốc (root element), tiếp theo là các phần tử ...kỵ, cụ,  ông, cha, và kết thúc là nút cần truy xuất.

Các biểu thức đường dẫn được sử dụng để định vị các nút và ràng buộc biến đổi.

Ví dụ 1. Biểu thức đường dẫn tìm kiếm trong tài liệu "books.xml" và trả về tất cả các phần tử con là tiêu đề (title) của các nút chapter của tài liệu:

document("books.xml")//chapter/title

Sử dụng các cấu trúc dựa trên cú pháp XML có thể sinh ra các cấu trúc XML trong XQuery.

Ví dụ 2. Cấu trúc sau sinh ra một phần tử "thesis" đối với mỗi giá trị tiêu đề trả về bởi biểu thức đường dẫn $b/title:
<thesis>
{$b/title}
</thesis>

III. Các biểu thức FLWOR


Một trong những tiện ích mạnh mẽ nhất của ngôn ngữ truy vấn XQuery là các biểu thức FLWOR (For, Let, Where, Order by, Return). Biểu thức này tương tự như cấu trúc SELECT - FROM - WHERE của SQL về nhiều mặt. Chúng có thể được dùng để kết nối dữ liệu tới các biến, duyệt qua danh sách, lọc, trình diễn, tái cấu trúc các biến…

Các mệnh đề For và Let được sử dụng để nối kết các biến tới các dữ liệu trung gian; nối kết giữa hai tài liệu, hay hai dãy của các phần tử (item) hoặc sinh ra các luồng dữ liệu.

Mệnh đề Where được sử dụng trong các biểu thức FLWOR để lọc các luồng dữ liệu theo những giới hạn trong các biến của các mệnh đề for và let.

Ví dụ:
for $b in doc("books.xml")//book
where $b/@year = "2000"
return $b/title

Kết quả trả về là các phần tử tiêu đề như:
<title>Data on the Web</title>

Mệnh đề Order by được sử dụng để chỉ định thứ tự các kết quả được trả về bởi mệnh đề where sẽ được xử lý bởi mệnh đề return.

Mệnh đề Return: Sau khi mệnh đề Order by được sử dụng để sắp xếp kết quả, các kết quả này được chuyển sang mệnh đề return, được đánh giá lại một lần nữa và trả về cho người dùng.
IV. Biểu thức điều kiện: if-then-else

Biểu thức điều kiện sẽ cho phép lọc ra một danh sách theo những điều kiện định trước.

Ví dụ:
   for $x in doc("books.xml")/bookstore/book
   return   if ($x/@category="CHILDREN")   
      then <child>{data($x/title)}</child>   
      else <adult>{data($x/title)}</adult>

Các biểu thức so sánh

Trong XQuery có 2 cách để so sánh giá trị:
1.   So sánh chung: =, !=, <, <=, >, >=
2.   So sánh giá trị: eq, ne, lt, le, gt, ge

Ví dụ:

$bookstore//book/@q > 10

Biểu thức trên trả lại true nếu bất kỳ thuộc tính q có giá trị lớn hơn 10

$bookstore//book/@q gt 10

Biểu thức trên trả lại true nếu chỉ có một thuộc tính q trả lại bởi biểu thức, và giá trị của nó lớn hơn 10. Nếu hơn một q được trả lại, một lỗi xuất hiện.
V. Các hàm trong XQuery

Các hàm dựng sẵn trong XQuery

XQuery cung cấp hơn 100 hàm dựng sẵn,các hàm các giá trị chuỗi, số, so sánh ngày và tháng, …

Ví dụ 1: Gọi hàm dựng sẵn trong một thành phần

<name>{uppercase($booktitle)}</name>

Ví dụ 2: Gọi hàm dựng sẵn trong vị từ của một biểu thức đường dẫn
doc("books.xml")/bookstore/book[substring(title,1,5='Harry')]

Ví dụ 3: Gọi hàm dựng sẵn trong mệnh đề let
let $name := (substring($booktitle,1,4))

Các hàm người dùng định nghĩa

Cú pháp
declare function prefix:function_name($parameter AS datatype)
AS returnDatatype
{
(: ...function code here... Smiley
};
Ví dụ:
declare function local:minPrice(
   $price as xs:decimal?,
   $discount as xs:decimal?)
   AS xs:decimal?
{
   let $disc := ($price * $discount) div 100
   return ($price - $disc)
};
   (: Dưới đây là một ví dụ về cách gọi tới hàm ở trên Smiley
   <minPrice>{local:minPrice($book/price,$book/discount)}</minPrice>

Re: Tùm lum tùm la về XML
« Reply #2 on: July 12, 2009, 10:35:41 AM »

Mình cũng muốn nói một ít về XML

  XML đơn giản chỉ là các lớp đối tượng được cung cấp để bạn xử lý các dữ liệu theo định dạng mới
   Ví dụ như là : SQL Apdater , SQL Command , Data Set ,XML Reader , XML Wirter ...



Diễn đàn http://hocvui.net  mình sử dụng MySQL để làm cơ sở dữ liệu
SỐNG LÀ KHÔNG CHỜ ĐỢI !

http://www.diendandac.tk

New Reply
 

With Quick-Reply you can write a post when viewing a topic without loading a new page. You can still use bulletin board code and smileys as you would in a normal post.

Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.

Name: Email:
Verification:
Một với 1 là mấy!? (trả lời = chử, VD: chín):

Thích hợp với các trình dyệt:

Firefox - Opera- Google Chrome

Diễn đàn Lê Thánh Tôn

Dạy học trực Tuyến Bacgiang gifted high school 4upro.info Driver4Vn