WikiWikiWeb là trang đầu tiên được gọi là wiki. Ward Cunningham bắt đầu phát triển WikiWikiWeb vào năm 1994, và cài đặt nó trên miền c2.com vào 25/03/1995. Ông đã đặt tên nó theo tên một chiếc xe buýt mang tên “WikiWiki”. Theo Cunningham, “Tôi chọn wiki-wiki là một cụm từ điệp âm thay thế cho từ ‘quick’ để tránh khỏi việc đặt tên này là ‘quick web’”. Wiki Wiki là từ láy của wiki, từ tiếng Hawaii có nghĩa "nhanh". Từ wiki gọi tắt cho wiki wiki. Đôi khi từ này được giải thích là từ cấu tạo ngược (backronym) của "cái mà tôi biết là như thế" (what I know is), cách giải thích đó miêu tả các chức năng đóng góp, lưu giữ, và trao đổi kiến thức.
Cunningham được gợi ý tham gia nhóm HyperCard của Apple. Apple đã thiết kế một hệ thống cho phép người dùng tạo ra các “ngăn xếp thẻ” (card stack) ảo cung cấp các đường link giữa các thẻ khác nhau. Cunningham đã phát triển ý tưởng của Vannevar Bush bằng cách cho phép người dùng có thể “tạo các lời chú thích và thay đổi các bài viết của người khác”. Trong những năm 2000, wiki ngày càng được áp dụng trong doanh nghiệp trong vai trò phần mềm tương tác, thường dùng để hỗ trợ truyền thông các dự án, xây dựng intranet và tài liệu, bắt đầu là những người dùng kỹ thuật. Ngày nay, một số công ty sử dụng wiki như là phần mềm tương tác duy nhất của họ và thay thế cho các intranet cứng nhắc.
115 trang |
Chia sẻ: tuandn | Lượt xem: 2879 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đồ án Tìm hiểu về Semantic Wiki và ứng dụng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Mục lục
Chương 1 - Wiki
I.Định nghĩa
Một trang wiki hay một tập các trang web được thiết kế cho phép bất kỳ ai cũng có thể truy cập vào nó để tạo hoặc thay đổi nội dung, sử dụng ngôn ngữ HTML. Wiki thường được dùng để tạo ra các website tương tác và làm tăng tính cộng đồng của website.
Trang bách khoa toàn thư Wikipedia là một ví dụ điển hình của wiki. Wiki được sử dụng trong kinh doanh cung cấp mạng nội bộ như hệ thống quản lý tri thức (Knowledge Management System), Ward cunningham, tốt nghiệp trường đại học Purdue, nhà phát triển phần mềm wiki đầu tiên – WikiWikiWeb, đã miêu tả wiki là “cơ sở dữ liệu trực tuyến đơn giản nhất có thể hoạt động”
II.Lịch sử
WikiWikiWeb là trang đầu tiên được gọi là wiki. Ward Cunningham bắt đầu phát triển WikiWikiWeb vào năm 1994, và cài đặt nó trên miền c2.com vào 25/03/1995. Ông đã đặt tên nó theo tên một chiếc xe buýt mang tên “WikiWiki”. Theo Cunningham, “Tôi chọn wiki-wiki là một cụm từ điệp âm thay thế cho từ ‘quick’ để tránh khỏi việc đặt tên này là ‘quick web’”. Wiki Wiki là từ láy của wiki, từ tiếng Hawaii có nghĩa "nhanh". Từ wiki gọi tắt cho wiki wiki. Đôi khi từ này được giải thích là từ cấu tạo ngược (backronym) của "cái mà tôi biết là như thế" (what I know is), cách giải thích đó miêu tả các chức năng đóng góp, lưu giữ, và trao đổi kiến thức.
Cunningham được gợi ý tham gia nhóm HyperCard của Apple. Apple đã thiết kế một hệ thống cho phép người dùng tạo ra các “ngăn xếp thẻ” (card stack) ảo cung cấp các đường link giữa các thẻ khác nhau. Cunningham đã phát triển ý tưởng của Vannevar Bush bằng cách cho phép người dùng có thể “tạo các lời chú thích và thay đổi các bài viết của người khác”. Trong những năm 2000, wiki ngày càng được áp dụng trong doanh nghiệp trong vai trò phần mềm tương tác, thường dùng để hỗ trợ truyền thông các dự án, xây dựng intranet và tài liệu, bắt đầu là những người dùng kỹ thuật. Ngày nay, một số công ty sử dụng wiki như là phần mềm tương tác duy nhất của họ và thay thế cho các intranet cứng nhắc.
II.Các đặc điểm
Ward Cunningham và đồng tác giả cuốn The Wiki Way: Quick Collaboration on the Web miêu tả bản chất của khái niệm wiki như sau:
Một wiki cho phép tất cả người dùng thay đổi bất kỳ trang nào hoặc tạo ra các trang mới trong Website wiki, chỉ sử dụng trình duyệt Web mà không cần bất kỳ phần mềm phụ nào (add-ons).
Wiki khuyến khích các đề tài có ý nghĩa kết hợp giữa các trang khác nhau bằng cách tạo ra các liên kết và dễ dàng chỉ ra được là đích đến có tồn tại hay không.
Một Wiki không phải là một trang thử nghiệm cho những người thăm không chủ ý. Thay vào đó, nó phục vụ cho những khách truy cập trong một quá trình tạo và cộng tác liên tục làm thay đổi trang web.
Một wiki cho phép các tài liệu được viết một cách cộng tác, trong một ngôn ngữ đánh dấu đơn giản sử dụng một trình duyệt web. Một trang đơn trong một wiki website được đề cập như là một “trang wiki”, và các trang web được liên kết với nhau bởi các siêu liên kết (hyperlink) gọi là wiki. Một wiki thực chất là một cơ sở dữ liệu để tạo ra, truy cập và tìm kiếm các thông tin.
Việc định nghĩa các đặc tính kỹ thuật của wiki đơn giản với các trang có thể được tạo ra và cập nhật. Thông thường, không cần xem xét trước khi các thay đổi có thể được chấp nhận. Rất nhiều wiki mở cho phép thay đổi bởi mọi người mà không yêu cầu họ đăng ký tài khoản. Thỉnh thoảng việc yêu đăng nhập một phiên làm việc là cần thiết để tạo ra một “chữ ký wiki” cookie để việc thay đổi một cách tự động. Tuy nhiên nhiều chỉnh sửa có thể được tạo ra trong thời gian thực và hiển thị trực tuyến ngay lập tức. Điều này có thể khiến hệ thống bị lợi dụng. Các máy chủ wiki yêu cầu thẩm định người dùng trước khi cho họ thay đổi trang web và thậm chí là đọc chúng.
1.Thay đổi trang wiki
Thông thường, kiến trúc và định dạng của trang wiki được chỉ định bởi một ngôn ngữ đánh dấu đơn giản hay “wikitext”. Ví dụ, bắt đầu một dòng chữ với dấu “*” thì dòng chữ đó sẽ được in đâm. Kiểu mẫu và cú pháp này của wikitext có thể khác nhau nhiều trên các ứng dụng wiki khác nhau, một số còn cho phép cả các thẻ HTML.
Lý do nói về điều này là HTML có rất nhiều thẻ khó hiểu, làm cho người sử dụng khó khăn trong việc chỉnh sửa. Wiki do đó sử dụng công cụ thay đổi plaintext, với ít thẻ hơn và đơn giản hơn HTML để chỉ ra các kiểu mẫu và kiến trúc.
Cú pháp MediaWiki
Ứng với HTML
Kết quả hiển thị
"Take some more [[tea]]," the March Hare said to Alice, very earnestly."I've had nothing yet," Alice replied in an offended tone: "so I can't take more.""You mean you can't take ''less''," said the Hatter: "it's very easy to take ''more'' than nothing."
"Take some more tea ," the March Hare said to Alice, very earnestly.
"I've had nothing yet," Alice replied in an offended tone: "so I can't take more.""You mean you can't take less," said the Hatter: "it's very easy to take more than nothing."
"Take some more tea," the March Hare said to Alice, very earnestly.
"I've had nothing yet," Alice replied in an offended tone: "so I can't take more."
"You mean you can't take less," said the Hatter: "it's very easy to take more than nothing."
Mặc dù giới hạn truy cập bằng các thẻ HTML và CSS (Cascading Style Sheet) của người dùng nhằm thay thế các kiến trúc và định dạng của nội dung wiki nhưng vẫn có các thuận lợi. Giới hạn truy cập vào CSS làm thay đổi giao diện hiển thị và vô hiệu các đoạn mã Javascipt sẽ bảo vệ người dùng khỏi việc thực thi các đoạn mã nguy hiểm.
Hơn nữa, wiki tạo ra giao diện sửa chữa WYSIWYG (“What you see is what you get”) giúp người dùng dễ dàng thao thác trên bài viết của mình mà không cần phải nhớ các thẻ wiki. Ví dụ như nút B sẽ in đậm đoạn văn bạn chọn. Tuy nhiên WYSIWUG không cung cấp hết tất cả các chức năng mà wikitext hỗ trợ.
Rất nhiều ứng dụng của wiki (như wikitext) cho phép người dùng cung cấp một “thay đổi tổng thể” khi họ thay đổi trang web. Đây là một đoạn chữ ngắn (thường là một dòng) tổng kết các thay đổi. Nó không được thêm vào bài viết nhưng được chứa theo bài viết để được xem lại, cho phép những người dùng có thể biết được cái gì đã xảy ra và tại sao.
Hầu hết wiki giữ một bản theo dõi các thay đổi được tạo ra với trang wiki, thường mọi phiên bản của trang được lưu lại. Điều này cho phép tác giả có thể kiểm tra lại các phiên bản cũ hơn của trang, nó cần thiết do có thể có các lỗi xảy ra trong các phiên bản mới.
2.Sự điều hướng
Bên trong văn bản của hầu hết các trang thường chứa một lượng lớn siêu văn bản liên kết đến các trang khác. Hình thức điều hướng không đường thẳng này tự nhiên với wiki hơn là các hệ thống điều hướng có kiến trúc hoặc định dạng. Người dùng cũng có thể tạo ra bất kỳ chỉ mục hoặc bảng nội dung nào của trang với các nhóm tin hoặc các dạng tổ chức định dạng mà họ muốn. Các trang wiki thường cung cấp một hoặc nhiều các để tổ chức các nhóm tin hoặc đính địa chỉ và các trang để hỗ trợ việc duy trì các chỉ mục này.
Hầu hết các wiki thường hỗ trợ chức năng blacklink, hiển thị tất cả các trang mà liên kết đó cung cấp.
Thông thường trong một wiki tạo ra một liên kết đến một trang mà chưa tồn tại, nó sẽ nhờ người dùng chia sẻ các thông tin mà người này biết một khái niệm với wiki.
3.Liên kết và tạo trang
Các liên kết được tạo ra sử dụng một cú pháp cụ thể gọi lại hình mẫu liên kết (link pattern).Thông thường hầu hết các wiki sử dụng CamelCase để đặt tên trang và tên đường liên kết. Chúng được tạo ra bằng cách viết hoa các từ trong một cụm từ và loại bỏ các khoảng cách giữa chúng (CamelCame chính nó cũng là một ví dụ). Trong khi CamelCase tạo ra liên kết khá đơn giản, nó cũng làm các liên kết đã được viết theo định dạng này hiểu khác đi với cách nói thông thường. Có thể phát hiện các wiki sử dụng CamelCase do chúng có nhiều liên kết với những tên như TableOfContentss và BeginnerQuestions. Nhiều wiki ngày nay cho phép các liên kết tự do sử dụng các dấu đóng mở ngoặc và một số mặc định vô hiệu CamelCase.
IV.Tính đáng tin và bảo mật
1.Điều khiển các thay đổi
Các wiki thường được thiết kế với nguyên lý để nó có thể dễ dàng sửa lỗi, hơn là làm cho nó khó tạo ra lỗi. Do đó, trong khi các wiki khá phổ biến, chúng cung cấp một phương tiện để kiểm tra và thẩm định các phần thêm gần đây vào trang. Dễ thấy nhất trên hầu hết các wiki là trang “Những thay đổi gần đây”, một danh sách chỉ ra các thay đổi gần đây hoặc danh sách các thay đổi tạo ra trong một khung thời gian cho trước. Một số wiki có thể thay thể lọc danh sách để loại bỏ các chỉnh sửa không quan trọng và các chỉnh sửa được tạo ra bởi các đoạn mã thêm vào tự động.
Từ bảng theo dõi thay đổi, các chức năng khác có thể truy cập trong hầu hết các wiki: chức năng lịch sử chỉ ra các phiên bản trước và chức năng so sánh chỉ ra các thay đổi giữa hai bản sửa. Sử dụng chắc năng lịch sử, một người sửa có thể hiển thị và phục hồi các phiên bản trước của bài viết. Chức năng so sánh có thể được sử dụng để quyết định xem nó có cần thiết hay không. Một người dùng wiki thông thường có thể hiển thị các diff của một thay đổi được hiển thị theo danh sách trên trang “những thay đổi gần đây”, và nếu nó là một bản thay đổi không chấp nhận được, tham khảo lịch sử bài viết, khôi phục phiên bản trước, quá trình này theo dòng trước hoặc sau phụ thuộc vào phần mềm wiki được sử dụng.
Trong trường hợp các thay đổi không thể chấp nhận được bị mất trong trang “Những thay đổi gần đây”, một số kỹ thuật wiki cung cấp thêm điều khiển nội dung. Nó thể được theo dõi để chắc chắn trong trang này, hoặc tập trang này, được chất lượng. Một cá nhân muốn thay đổi các trang này sẽ được thông báo về các thay đổi của trang web, cho phép người đó kiểm tra và thẩm định các thay đổi mới một cách nhanh chóng.
2.Tìm kiếm
Hầu hết các wiki đều cho phép chức năng tìm kiếm, ít nhất là ở nội dung và một số là tìm kiếm toàn bài. Không gian tìm kiếm phụ thuộc vào công cụ wiki sử dụng cơ sở dữ liệu. Truy cập cơ sở dữ liệu đã được đánh mục rất cần thiết cho tốc độ tìm kiếm nhanh trên các wiki lớn. Một phương pháp thay thế, các công cụ tìm kiếm ngoài như Google thỉnh thoảng có thể được sử dụng trong wiki với các chức năng giới hạn tìm kiếm để có được kết quả chính xác hơn. Tuy nhiên, một công cụ tìm kiếm đánh chỉ mục có thể quá hạn (ngày, tuần, tháng) với nhiều trang web.
3.Kiến trúc phần mềm
Phần mềm wiki thường là một phần mềm cộng tác chạy trên một hệ thống wiki, cho phép các trang được tạo và thay đổi trên các trình duyệt thông thường. Nó thường được ứng dụng như là một ứng dụng chủ chạy trên một hoặc nhiều máy chủ web. Nội dung được chứa trong các tệp hệ thống, và các thay đổi trên nội dung được chứa trong hệ quản trị cơ sở dữ liệu quan hệ. Một sự lựa chọn khác, các wiki cá nhân chạy như một ứng dụng độc lập trên một máy vi tinh. Ví dụ, WikiPad.
4.Tính đáng tin
Khả năng chỉnh sửa công cộng của các hệ thống wiki cho thấy các hệ thống này có thể dễ dàng bị phá rối, trong khi những người đề xướng mong muốn người dùng có thế phát hiện ra các nội dung không tốt và sửa chúng. Lars Aronsson, một nhà phân tích hệ thống dữ liệu, đã tổng kết những tranh luận như sau:
“Hầu hết mọi người, khi lần đầu tiên họ học về khái niệm wiki, miễn là trang web đó có thể được thay đổi bởi bất kỳ ai có thể bị sửa lại bởi các đầu vào không có kiến trúc. Nói như là bụi trên bức tường bê tông màu nâu. ”
5.Tính bảo mật
Nguyên lý mở của hâu hết các wiki, cho phép mọi người thay đổi nội dung, không chắc chắn rằng mọi người sửa đều có ý tốt. Sự phá phách có thể là một vấn đề lớn. Trong các trang wiki lớn, như các hệ thống wiki chạy trên nền Wikimedia, sự phá phách có thể tồn tại trong một khoảng thời gian. Các wiki do bản chất của chúng rất tự nhiên dễ mắc phải sự phá hoại mang tính toàn cầu (trolling). Các wiki có xu hướng sử dụng một phần mềm bảo mật để tiếp cận với giải quyết vấn đề phá phách, phá hoại dễ dàng hơn là sửa lại càng dễ hơn nỗ lực chống lại các phá hoại. Các wiki lớn hơn thường áp dụng các phương pháp phức tạp, như “bot” tự động nhận ra và khôi phục và các mã Javascrip cải thiện hiển thị các ký tự đã được thêm vào trong mỗi bản sửa. Theo cách này, sự phá phách có thể bị giới hạn đến mức nhỏ hoặc lén lút trong khi các ký tự được thêm hoặc loại trừ rất ít mà các bot không nhận ra chúng và người dùng không phải quan tâm nhiều đến chúng.
Lượng phá phách trên trang wiki phụ thuộc vào mức độ mở của wiki. Ví dụ, một số wiki cho phép những người dùng không đăng ký, được chỉ ra bởi các địa chỉ IP của họ, để thay đổi nội dung, trong khi số khác lại giới hạn chức năng này chỉ dành cho những thành viên đã đăng ký. Hầu hết các wiki cho phép người dùng nặc danh thay đổi nội dung mà không cần tài khoản đăng ký, nhưng cho phép những người đã đăng ký thêm các chức năng chỉnh sửa. Trên hầu hết các wiki, trở thành một người dùng thành viên chỉ là một quá trình đơn giản, nhanh chóng. Một số wiki yêu cầu chờ đợi một thời gian để tăng thêm truy cập vào các công cụ có sẵn. Ví dụ, trên trang English Wikipedia, các người dùng đã đăng ký chỉ có thể thay đổi tên trang nếu tài khoản của họ đã qua 4 ngày. Các wiki khác như Portuguese Wikipedia sử dụng yêu cầu thay đổi thay vì thời gian thay đổi, việc cung cấp thêm các công cụ sau khi người dùng đã tạo ra một số chỉnh sửa đáng tin và hữu ích. Về cơ bản các wiki đóng thường bảo mật hơn và đáng tin hơn nhưng lại lớn lên chậm hơn. Trong khi các wiki mở lại lớn lên nhanh chóng nhưng lại dễ trở thành mục tiêu cho các đối tượng phá phách.
V.Tính cộng đồng
Hầu hết các cộng đồng wiki là riêng tư, thường trong một tổ chức. Chúng thường được sử dụng như là một tài liệu trong cho những hệ thống và ứng dụng trong một nhóm, tổ chức. Tính mở với mọi người và tất cả những tính tự nhiên của Wikipedia là những nhân tố quan trọng giúp nó lớn lên trong khi có các wiki khác mang tính chuyên môn hóa cao.
Cũng tồn tại WikiNode trong đó các trang trên wiki miêu tả các wiki liên quan với nhau. Chúng thường được tổ chức như là những hàng xóm hoặc người ủy nhiệm. Một wiki hàng xóm là một wiki có thể thảo luận nội dung tương tự hoặc thích thú với. Một wiki ủy nhiệm là một wiki chấp nhận có các nội dung được ủy nhiệm đến wiki đó.
Những người thích tạo những wiki của chính họ, có các wiki có sẵn, một số có thể tạo ra những wiki cá nhân, có mật khẩu bảo vệ. Pbwiki, Socialtext, Wetpaint và Wikia là các ví dụ phổ biến của các dịch vụ này.
Chương II - Semantic web
I.Vấn đề
1.Giới hạn của HTML
Thế hệ Web ngày này hoạt động dựa trên ngôn ngữ đánh dấu siêu văn bản HTML mà các thông tin được lưu trữ giữa các cặp thẻ HTML như hình ảnh, âm thanh, ... đi cùng với tài liệu HTML đó. HTML là một ngôn ngữ đơn giản chỉ để hiển thị thông tin và đưa ra các liên kết đến nội dung thông tin chứa trong một file HTML khác thông qua địa chỉ URL. Sự đơn giản của HTML đã nảy sinh ra những hạn chế như không biểu diễn được ngữ nghĩa mà dữ liệu nó mang theo. Từ đó dẫn đến trường hợp trong quá trình tìm kiếm, các hệ thống tìm kiếm phải tìm dựa thoe thừ khóa, không tìm theo ngữ nghĩa hay ý nghĩa của tài liệu, kết quả là nhiều tài liệu quan trọng bị bỏ sót, nhưng không có tài liệu nào liên quan đến nội dung lại xuất hiện trong kết quả tìm kiếm.
Cho đến khi Portal xuất hiện, dữ liệu đã được chuẩn hóa một phần và có thể được trao đổi với nhau giữa các hệ thống thông qua định dạng XML, một định dạng đánh dấu tài liệu mở rộng cho phép bổ sung một số chú thích thông qua các cặp thẻ để các hệ thống có thể hiểu một phần thông tin và xử lý được trong một số trường hợp nhất đinh. Nhưng kỹ thuật XML cũng có một số hạn chế: Các hệ thống máy tính chỉ có thể đọc được nội dung dữ liệu XML chứ hoàn toàn không thể hiểu được nội dung tài liệu đó. Việc xử lý tự động dữ liệu chỉ gói gọn trong những chuẩn đã được thiết lập bởi con người và qua đó mới chỉ xử lý được một tập rất ít dữ liệu.
2.Giải pháp web ngữ nghĩa
Để giải quyết những khuyết điểm của HTML và XML, các nhà khoa học đã bắt tay vào việc thiết lập một thế hệ Web tiếp theo, dựa trên các công nghệ hiện tại nhưng cho phép máy tính có thể hiểu được dữ liệu và qua đó có thể tự động xử lý được dữ liệu và qua đó hỗ trợ con người trong quá trình xử lý dữ liệu. Thế hệ đó gọi là Web ngữ nghĩa.
Web ngữ bao gồm việc tạo ra các ngôn ngữ được thiết kế một cách đặc biệt cho dữ liệu: RDF – Resource Description Framework, OWL – Web Ontology Language, và XML – Extensible Markup Language. HTML miêu tả các tài liệu và liên kết giữa chúng. RDF, OWL và XML để có thể miêu tả tất cả mọi sự vật sự viêc như con người, khoa học ...
Các kỹ thuật này được kết hợp lại với mục đích cung cấp những mô tả bổ sung hoặc thay thế nội dung của tài liệu web. Do đó, nội dung có thể rõ ràng như dữ liệu được lưu trong cơ sở dữ liệu Web hoặc đánh dấu trong tài liệu. Các phương tiện đọc được miêu tả giúp các nhà quản lý nội dung có thể thêm vào ý của của nội dung này, ví dụ miêu tả cấu trúc kiến thức chúng ta có về nội dung này. Theo cách này, thiết bị có thể xử lý tri thức theo cách của nó, thay vì văn bản, sử dụng những phép xử lý giống như con người phân tích các lý do và kết luận, do đó lấy được nhiều kết quả có ý nghĩa hơn và giúp thuận tiện trong việc tự động gom nhóm và tìm hiểu thông tin bằng máy tính.
II.Các thành phần
Cấu trúc của Semantic Web được miêu tả như sau :
Hình 1 – Cấu trúc của Semantic Web
1.URI và Unicode
Unicode là chuẩn cho việc mã hóa các tập kí tự quốc tế và nó cho phép tất cả ngôn ngữ loài người có thể được sử dụng (đọc và viết) trên web sử dụng chung một chuẩn.
URI – Uniform Resource Identifier là chuối dạng chuẩn cho phép xác định các tài nguyên duy nhất. Một dạng của URI là URL – Uniform Resource Locator, cung cấp kỹ thuật truy cập và xác định vị trí của một tài liệu, ví dụ như : Một dạng khác của URI là URN, cho phép xác định tài nguyên mà không kèm theo vị trí và phương tiện để lấy nó, ví dụ urn:isbn:0-123-45678-9. Sự sử dụng của URI là rất quan trọng cho hệ thống phân phát Internet do nó cung cấp sự xác định hiểu được tất cả các tài nguyên.
2.XML và XML schema
2.1.XML
XML là ngôn ngữ đánh dấu mở rộng được phát triển dựa trên tính đơn giản, dễ dùng của HTML và tính phức tạp nhưng đa chức năng của SGML. XML được thiết kể để cho phép máy tính có thể trao đổi tài liệu với nhau thông qua Web.
Một tì liệu XML bao gồm một tập các cặp thẻ được lồng vào nhau, mỗi thẻ có một cặp các thuộc tính và giá trị. Ví dụ
Ngô duy Hiếu
CNPM A
Cấu trúc tài liệu XML
Một tài liệu XML có thể được chia làm hai phần chính, mỗi phần có thẻ có các thành phần theo quy định khác nhau:
-Phần đầu chứa các khai báo cho tài liệu XML như: các chỉ thị xử lý, định nghĩa cho kiểu tài liệu, chú thích, phiên bản đang sử dụng, cách thức mã hóa dữ liệu, báo cáo các chỉ thị xử lý cho ứng dụng.
-Phần thân chứa nội dung tài liệu, bao gồm một hay nhiều phần tử, mỗi phần tử được chứa trong một cặp thẻ, phần tử đầu tiên của tài liệu gọi là phần tử gốc.
Một tài liệu XML được coi là hợp khuôn dạng nếu nó tuân theo các quy tắc sau:
-Khai báo XML cần được đặt tại dòng đầu tiên của tài liệu như khai báo phiên bản hay các chỉ thị xử lý XML
-Mỗi tài liệu XML chỉ có các thành phần gốc chứa mọi thành phần khác trong tài liệu. Các thành phần có thể đứng trước phần tử gốc là chú thích, chỉ thị xử lý và định nghĩa DTD (Nếu khai báo ở phần khởi đầu của tài liệu).
-Mỗi phần tử của tài liệu được nằm trong một cặp thẻ, nếu là phần tử rỗng thì thẻ phải được kết thúc bằng “/>”. Ví dụ “”
-Các thành phần trong tài liệu XML, khác các thành phần gốc đều nằm giữa cặp thẻ gốc và phải lồng nhau một cách hợp lý, tức là không có thành phần phủ, tập hợp thẻ này không được chồng lên tập hợp thẻ kia, mỗi tập hợp phải nằm trong một tập hợp lớn hơn kết tiếp.
-Các cặp thẻ phải được viết chính xác như nhau kể cả chữ hoa hay chữ thường.
-Các giá trị của các thuộc tính phải nằm giữa hai ngoặc kép.
2.2.XML schema
XML schema là một tài liệu XML được viết dưới dạng thức thuần văn bản với phần mở rộng “.xsd”. Tài liệu này với phần mở đầu khai báo chuẩn XML, tiếp theo dùng tiếp đầu ngữ xsd: để kai báo không gian tên XML Schema theo cú pháp sau:
.........
Để chương trình xử lý XML có thể sử dụng tập tin lược đồ xsd cho tài liệu XM