1. Trang chủ
  2. » Luận Văn - Báo Cáo

TÌM HIỂU HTML và CÔNG NGHỆ XML xây DỰNG TRÌNH BIÊN DỊCH HTML SANG XML

109 295 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 109
Dung lượng 3,85 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tim nghĩ rằng có thể thực hiện bằng cách sử dụng siêu văn bản, cách liên kết các tài liệu lại với nhau là sử dụng những cái nút trên màn hình, chúng ta chỉ đơn giản nhấp chuột vào đó để

Trang 1

TRƯỜNG ĐẠI HỌC MỞ T.P HỒ CHÍ MINH KHOA CÔNG NGHỆ THÔNG TIN

ª©

Luận Văn Tốt Nghiệp Cử Nhân Tin học

Đề Tài:

TÌM HIỂU HTML VÀ CÔNG NGHỆ XML XÂY DỰNG TRÌNH BIÊN DỊCH HTML SANG

Trang 2

LỜI CẢM ƠN

Trong quá trình tìm hiểu và hiện thực ứng dụng, em đã đựơc sự giúp đỡ hết sức tận tình của thầy Nguyễn Văn Hiệp Thầy đã định hướng, cung cấp những kiến thức hết sức quý báu, làm kim chỉ nam cho em với tất cả nhiệt huyết của mình Ngòai ra thầy cũng đã tạo điều kiện thuận lợi nhất cho em báo cáo Với tất cả lòng biết ơn em xin chân thành cảm ơn thầy Nguyễn Văn Hiệp

Em cũng xin chân thành cám ơn quý Thầy Cô trong Khoa Công Nghệ Thông tin đã tận tình giảng dạy, trang bị cho chúng em những kiến thức căn bản quý báu trong những năm học vừa qua

Con xin chân thành cảm ơn Ông Bà, Cha Mẹ đã luôn động viên, ủng hộ vật chất lẫn tinh thần trong thời gian qua

Đồng thời, em muốn gửi lời cảm ơn đến các bạn đã cùng em thảo luận trong quá trình tìm hiểu công nghệ

Mặc dù đã cố gắng hoàn thành luận văn trong phạm vi và khả năng cho phép nhưng chắc chắn sẽ không tránh khỏi những thiếu sót Em rất mong nhận được sự thông cảm, góp ý và tận tình chỉ bảo của quý Thầy Cô, để em

có thể phát triển luận văn hơn nữa cho mục đích học tập của mình

Sinh viên thực hiện Nguyễn Khánh Ngọc

Trang 3

LỜI MỞ ĐẦU

Thế kỷ 21 – thể kỷ của sự bùng nổ công nghệ thông tin, các công nghệ tiên tiến phát triển như vũ bão, mang lại một một luồng gió mới thổi vào nhận thức của mỗi người Internet ra đời đánh dấu một bước tiến dài trong việc chia sẻ thông tin trên thế giới thông qua máy tính Bên cạnh sự phát triển mạnh mẽ của Internet, XML đang dần dần trở thành một chuẩn chung cho việc trao đổi dữ liệu cho những ứng dụng chạy trên môi trường Internet

XML dễ dàng chia sẻ thông tin qua những định dạng khác nhau thông qua môi trường web XML được thiết kế dành cho mọi người, được mọi người sử dụng Trong quá trình trưởng thành và phát triển, XML đã đối mặt và đương đầu với nhiều thử thách trong việc thuyết phục các nhà lập trình rằng XML là sự lựa chọn hàng đầu vì nó dễ dàng để hiểu, dễ dàng để đọc, và dễ dàng thực hiện

Nhận thấy tầm ảnh hưởng rộng lớn của XML trong ngành Công Nghệ Thông Tin Em quyết định tìm hiểu công nghệ XML và xây dựng ứng dụng trình biên dịch HTML thành XML

Trang 4

MỤC LỤC

Chương 1: Nội dung và yêu cầu đề tài 1

1.1 Nội dung đề tài 1

1.2 Yêu cầu đề tài 1

Chương 2: KIẾN THỨC NỀN TẢNG 2

2.1 HTML 2

2.1.1 Lịch sử phát triển 2

2.1.2 Danh sách các thẻ trong Html 9

2.2 Công nghệ XML 16

2.2.1 Lịch sử phát triển 16

2.2.2 Giới thiệu 17

2.2.3 Các đặc điểm của XML 18

2.2.4 Mục tiêu ra đời và lợi ích và nhược điểm khi sử dụng XML 19

2.2.5 Khuôn dạng tài liệu XML 23

2.2.6 Những thành phần của một tài liệu XML 24

2.2.7 Một tài liệu XML hợp lệ 24

2.2.8 Cách sử dụng một tài liệu XML 25

2.2.9 Nhận xét về XML 28

2.3 DTD (Document Type Definition) 29

2.3.1 Tạo khai báo và định nghĩa kiểu tư liệu DTD 29

2.3.2 Định nghĩa DTD ngoại 30

2.3.3 Thực thể 31

2.3.4 Thuộc tính 32

2.3.5 Nhúng dữ liệu phi XML vào tài liệu 34

2.3.6 Nhúng nhiều thực thể phi định dạng vào tài liệu 34

2.4 Lược đồ Schema 35

2.5 Xpointer 38

2.6 Xpath 41

2.7 XSLT 45

2.7.1 Giới thiệu 45

2.7.2 Đặc điểm cơ bản của XSLT 46

2.8 DOM và SAX 46

2.8.1 DOM 46

2.8.2 SAX 56

2.9 So sánh giữa DOM và SAX 59

Chương 3: Phân Tích Ứng Dụng 61

3.1 Giới thiệu ứng dụng 61

3.2 Cách tiếp cận bài toán 62

3.3 Xác định nhóm chức năng 64

Chương 4: Thiết Kế Ứng Dụng 65

4.1 Môi trường phát triển 65

4.2 Chức năng quản lý file 65

4.3 Chức năng quản lý thư mục 65

4.4 Chức năng sọan thảo HTML 65

4.4.1 Soạn thảo bằng văn bản thuần túy 65

4.4.2 Soạn thảo một cách trực quan 65

Trang 5

4.5 Chức năng biên dịch một tài liệu HTML sang tài liệu XML 68

4.5.1 Quan hệ giữa tài liệu HTML và thành phần bên trong nó 68

4.5.2 Quan hệ giữa các node trong tài liệu HTML 69

4.5.4 Quan hệ giữa node và attribute (thuộc tính) 70

4.5.5 Tổng hợp các mối quan hệ trong một tài liệu HTML 72

4.5.6 Hiện thực các lớp HtmlDocument, Node, Attribute 74

4.6 Chức năng tạo file XSL 81

CHƯƠNG 5: Hiện Thực Ứng Dụng 83

5.1 Danh sách chức năng 83

5.2 Màn hình ứng dụng 83

5.2.1 Màn hình chính 83

5.2.2 Các chức năng trong menu File 84

5.2.3 Chức năng open file 85

5.2.4 Chức năng in tài liệu Html 87

5.2.5 Các chức năng trong menu Edit 89

5.2.6 Các chức năng trong menu View 90

5.2.7 Các chức năng trong menu Insert 93

5.2.7 Chức năng chuyển sang chế độ soạn thảo Html trực quan 96

5.2.8 Các chức năng trong menu convert 97

Chương 6: Kết Luận Và Hướng Phát Triển 103

6.1 Kết Luận 103

6.1.1 Về mặt nghiên cứu lý thuyết 103

6.1.2 Về mặt ứng dụng 103

6.2 Hướng phát triền 103

TÀI LIỆU THAM KHẢO 104

Trang 6

Chương 1: Nội dung và yêu cầu đề tài

1.1 Nội dung đề tài

Ngôn ngữ Đánh dấu Siêu văn bản – HTML là ngôn ngữ xuất bản điện tử thành công nhất, song nó vẫn còn khá sơ sài Vì HTML không quan tâm đến chữ hoa-chữ thường nên trình duyệt web chịu áp lực rất nhiều để hiển thị

XML ra đời nhằm mục đích giải quyết được các rắc rối của HTML XML ngày càng

có ảnh hưởng to lớn trong ngành Công Nghệ Thông Tin Ngay từ khi xuất hiện, XML lập tức thu hút sự quan tâm đặc biệt của cộng đồng mạng vì những lợi ích to lớn mà nó mang lại Dữ liệu được lưu trữ và trao đổi trên Web dần dần được chuyển thành dạng XML Các chương trình có khả năng đọc hiểu văn bản XML nhanh chóng hình thành trên mọi lĩnh vực của đời sống xã hội Trên cở sở đó đề tài trình biên dịch HTML sang XML được xây dựng nhằm mục đích chuyển các trang HTML sẵn có thành XML

1.2 Yêu cầu đề tài

1.2.1 Về mặt lý thuyết:

• Nắm được cơ sở lý thuyết chung về HTML và XML

• Tìm hiểu các linh kiện phần mềm hỗ trợ duyệt các trang HTML và các trang XML

Trang 7

có thể tải về máy tính cá nhân Theo cách hiểu khác, cũng có thể là những tham khảo chéo từ một trang trong tài liệu nghiên cứu tới một trang khác Những tài liệu thuộc về khoa học và toán học có thể được trình bày như những dòng thông tin lưu trữ ở dạng điện tử trên máy vi tính Tim nghĩ rằng có thể thực hiện bằng cách sử dụng siêu văn bản, cách liên kết các tài liệu lại với nhau là sử dụng những cái nút trên màn hình, chúng ta chỉ đơn giản nhấp chuột vào đó để đi từ trang này đến trang khác Trước khi đến CERN, Tim đã phát triển hệ thống siêu văn bản đầu tiên của ông, ‘Enquire’ vào năm 1980, chỉ có ông sử dụng

1990: Giai đoạn trưởng thành cho phát minh của Tim

Ngay từ khi bắt đầu, siêu văn bản (hypertext) đã trở thành mốt và được sử dụng trên máy tính Cuối cùng, hệ thống tên miền mới đã làm cho việc định địa chỉ của một máy tính trên internet dễ dàng hơn

Hypertext: khái niệm siêu văn bản (hypertext) đã được thiết lập bởi các học viện từ những năm đầu 1940 Vào cuối những năm 1980, Bill Atkinson, một lập trình viên xuất

sắc đang làm việc tại Apple Computer đã viết một ứng dụng gọi là Hypercard cho

Macintosh Hypercard cho phép chúng ta xây dựng một loạt các thẻ hồ sơ (filing card) trên màn hình, thẻ hồ sơ chứa thông tin nguyên bản (textual) và giao diện đồ họa (graphical) Người dùng có thể điều hướng bằng cách nhấn các nút trên màn hình để xem các thông tin

Hypercard đặt nền móng cho các ứng dụng dựa trên ý tưởng thẻ hồ sơ (filing card) Toolbook cho PC được sử dụng trong những năm đầu 1990 để xây dựng những khóa đào tạo siêu văn bản có những trang với những cái nút có thể đi tới, đi lui hoặc nhảy tới một chủ đề mới Những cái nút khởi tạo những chương trình nhỏ gọi là kịch bản (script) Những kịch bản nà sẽ điều khiển trang nào được trình bày kế tiếp.chúng có thể chạy một diễn hoạt nhỏ trên màn hình

Tuy nhiên vẫn có một giới hạn lớn: siêu văn bản chỉ có thể nhảy đến những tập tin trên cùng một máy tính Nhảy đến những máy tính trên thế giới vẫn còn vấn đề chưa giải quyết được Chưa ai thực hiện được một hệ thống liên kết siêu văn bản trên phạm vi toàn cầu

Hệ thống tên miền:vào giữa những năm 1980, Internet có một điều mới, hệ thống dễ dàng sử dụng cho việc đặt tên các máy tính Điều nay liên quan tới việc sử dụng ý tưởng tên miền Một tên miền gồm có một loạt các ký tự phân cách bởi dấu’.’, ví dụ: www.erb.org.uk Những cái tên này là một thay thế dễ sử dụng hơn nhiều so với những con số của địa chỉ IP

Trang 8

Một chương trình được gọi là Distributed Name Service (DNS) chuyển các tên miền thành địa chỉ IP DNS là một sự thành công trong việc đưa Internet tới những người không am hiểu nhiều về máy vi tính Trước khi có DNS địa chỉ email là nhugn74 k4 tự khó hiểu để đặc tả đường đi tới một máy tính trên internet Nhờ có DNS mà địa chỉ email trở nên đơn giản hơn

Chọn phương pháp thích hợp để tạo một hệ thống siêu văn bản toàn cầu

Đối với Tim Berbers-Lee, những liên kết siêu văn bản thì dường như là khả thi, nhưng vấn đề là phải tìm cách để thực thi chúng Sử dụng một gói siêu văn bản đang tồn tại có thể là một gợi ý thú vị nhưng điều này không thực tiễn Để bắt đầu, một số công

cụ siêu văn bản (hypertext tool) muốn được sử dụng rộng rãi phải đưa vào bản miêu tả các loại máy tính đang tồn tại được liên kết vào Internet: Máy vi tính cá nhân, hệ máy Macintoshes, UNIX và những thiết bị đầu cuối đơn giản Nhiều phương pháp kỹ thuật chế bản điện tử đã trở thành thịnh hành: SGML, Interleaf, Latex, Microsoft Word, và Troff

Tim đã đưa ra một khái niệm cơ bản, nhưng cách thú vị của việc chế bản văn bản là triển khai một số phần mềm của riêng ông, và giao thức HTTP đơn giản của ông, để nhận những văn bản của tài liệu khác thông qua những liên kết siêu văn bản Giao thức của riêng Tim, HTTP, viết tắt của HyperText Transfer Protocol Định dạng văn bản cho HTTP được đặt tên là HTML (HyperText Markup Language) Bằng cách giữ mọi thứ đơn giản, Tim khuyến khích mọi người xây dựng trên ý tưởng của ông và thiết kế phần mềm để hiển thị HTML, và để cài đặt những tài liệu HTML của chính họ sẵn sàng để truy cập

HTML của Tim dựa trên một phương pháp đánh dấu văn bản truyền thống đang tồn tại

Tim phát minh ra HTML dựa trên SGML (Standard Generalized Markup Language), một phương pháp đánh dâu văn bản thành những đơn vị có cấu trúc như là đoạn (paragraph), tựa đề (heading), danh sách mục chọn (list item) Những phần tử SGML có thể được thực thì trên nhiều hệ máy Ý tưởng là ngôn ngữ được độc lập với trình duyệt hoặc những phần mềm dùng để xem nó Việc sử dụng các cặp thẻ như

<TITLE> và </TITLE> được lấy trực tiếp từ SGML Những phần tử của SGML được

sử dụng trong HTML bao gồm p(paragraph); H1 tới H6(Heading level 1 tới Heading level 6); OL (ordered list); UL(unordered lists); LI(list items) và những phần tử khác Nhưng SGML không có khai niệm liên kết siêu văn bản, ý tưởng sử dụng một phần tử

mỏ neo (anchor element) với thuộc tính HREF là phát minh của Tim

HTML dựa trên SGML là một ý tưởng nổi bật Những người khác cũng đã phát minh ra ngôn ngữ của riêng họ từ mớ hỗn tạp của SGML nhưng cộng đồng Internnet không tin tưởng và không chấp nhận Sự đơn giản của HTML, và việc sử dụng thẻ A để tạo những liên kết siêu văn bản làm cho phát mình của Tim trở nên hữu dụng

Tháng 9 năm 1991: Những cuộc thảo luận về HTML trên Internet bắt đầu

Tim không giữ riên những ý tưởng của ông, mà chia sẻ với mọi người, thảo luận các

ý tưởng đó trên Internet Vào 1992, một nhóm các học viện và những nhà nghiên cứu máy tính tỏ ra rất quan tâm tới những ý tưởng của Tim Dave Raggett từ phòng nghiên cứu của Hewlett-Packard ở Bristol, là một trong những người rất nhiệt tình thảo luận

các ý tưởng của Tim

Dave đã gặp Tim và bàn luận làm thế nào đưa HTML đến với mọi người, cố gắng thấy trước những chức năng mà người dùng hực sự cần Khi trở về Anh, Dave đã quyết tâm viết HTML+, một phiên bản mới mạnh hơn HTML gốc

Trang 9

1992: NCSA quan tâm tới ý tưởng Web

Trong lúc ấy, những ý tưởng của Tim được Joseph Hardin và Dave Thompson rất quan tâm Cả hai đang làm việc tại viện nghiên cứu của trường đại học Illinois tại Champaign-Urbana Họ kết nối tới máy tính của CERN và tải những bản copy của 2 trình duyệt web miễn phí Nhận ra sự quan trọng của trình duyệt web, NCSA quyết định phát triển một trình duyệt gọi là Mosaic

Tháng 12 năm 1992: Marc Andreessen tham gia vào cuộc bàn luận trực tuyến (WWW-talk)

Những người say mê web đã trao đổi ý tưởng trên một cuộc tranh luận trực tuyến gọi là WWW-talk Đây là nơi mà Dave Raggett, Tim Berner-Lee, Dan Connolly và những người khác tranh luận những hình ảnh (những tấm hình, lưu đồ, ảnh minh họa…) nên được chèn vào tài liệu HTML như thế nào Bất ngờ, Marc Andreessen xuất hiện và đưa ra một ý tưởng là sử dụng thẻ IMG của nhóm Mosaic

Lúc đầu mọi người hầu như không thích thiết kế thẻ IMG, những Andressen không

dễ dàng từ bỏ ý tưởng của mình.Nhóm Mosaic gợi ý thực thi thẻ IMG trên biểu mẫu (form) của trình duyệt Mosaic Ngay này trong phiên bản HTML 4, thẻ OBJECT có tiềm năng thay thế thẻ IMG

Tháng 3 năm 1993: Lou Montulli phát hành trình duyệt Lyns phiên bản 2.0a

Lou Montulli là một trong những người đầu tiên viết trình duyệt dựa trên văn bản Trình duyệt Lynx là một trình duyệt cho các thiết bị đầu cuối và những máy tính sử dụng DOS, không phải Windows Lou Montulli được tuyển vào làm việc cho Nescape Communications Corp Sự nhiệt tình cảu Lou và những hiểu biết của ông đã tạo nên sự chuẩn hóa HTML

Đầu năm 1993: Dave Raggett bắt đầu viết trình duyệt của riêng ông

Trong khi Eric Bina và NCSA mosaic làm việc suốt đêm Dave Raggett dành phần nửa thời gian để viết trình duyệt Arena của ông Dave hi vọng thực hiện tất cả các chức năng mới cho HTML

Tháng 4 năm 1993: Trình duyệt Mosaic được phát hành

Vào tháng 4 năm 1993, phiên bản của trình duyệt Mosaic được phát hành cho máy trạm của Sun Microsystems Inc, một máy tính được sử dụng trong sự phát triển phần mềm, đang chạy hệ điều hành UNIX Mosaic đã thừa kế những chức năng được đặc tả bởi Tim Berners-Lee; ví dụ, nó đã chèn những hình ảnh, danh sách lồng và những biểu mẫu (fill-out form)

Cuối năm 1993: Các công ty lớn đã đánh giá sự quan trọng của web

Viết phát triển trình duyệt Arena của Dave Raggett diễn ra rất chậm vì ông phải tự đứng ra đảm trách, không có sự hỗ trợ, không đủ tiền để trả lương cho nhóm phát triển phần mềm

Có một quan niệm sai lầm là Internet chỉ dành cho các học viện Trong một số công

ty, họ quả quyết là những công ty viễn thông sẽ cung cấp kỹ thuật để kết nối toàn cầu Kết quả là những cá nhân đang làm việc tại phòng các phòng nghiên cứu trong lĩnh vực thương mại không dành nhiều thời gian để phát triển web Điều này làm cho các nhà nghiên cứu hơi thất vọng

Dave Raggett nhận ra rằng không đủ giờ làm việc cho ông thực hiện những gì mà ông cảm thấy quan trọng nhất, ông dành thời gian ở nhà để tiếp tục viết trình duyệt của ông Dave đã sử dụng trình duyệt để biễu diễn dòng văn bản xung quanh những hình

Trang 10

ảnh, biểu mẫu tại hội nghị WWW lần đầu tiên tại Geneva vào năm 1994 Sau đó trình duyệt Arena được sử dụng để phát triển công việc ở CERN

Từ trái sang phải: Joseph Hardin từ NCSA, Robert Cailliau từ CERN, Tim

Berners-Lee từ CERN và Dan Connolly

Tháng 5 năm 1994: Hội nghị World Wide Web lần đầu tiên được tổ chức tại Geneva với việc trình diễn HTML+

Tại hội nghị World Wide Web lần đầu tiên do CERN tổ chức với 380 người tham

dự, hầu hết họ đến từ Châu Âu nhưng đa số là người Mỹ Nhưng thật bất ngờ là Marc Andreessen Jim Clark và Eric Bina không tham dự cuộc hội nghị Hầu hết các thành viên tham dự hội nghị đều thuộc các học viện, các viện nghiên cứu

Trong suốt tuần diễn ra hội nghị, những phần thưởng được trao cho các thành tựu đáng chú ý trên web; những phần thưởng này được trao cho Marc Andreesen, Lous Mountulli, Eric Bina, Rob Hartill và Kevin Hughes Dan Connolly, người đã định nghĩa

HTML 2, đã có một buổi trình bày trên tờ chiếu với tựa đề là Interoperability: Why

Everyone Wins, giải thích sự quan trọng của việc web hoạt động với một bản đặc tả

HTML đúng quy tắc

Dave Raggett đang làm việc với một số ý tưởng HTML mới, cái mờ ông gọi là HTML+ Tại hội nghị mọi người đồng ý rằng những chức năng của HTML+ nên được xem xét để đưa tới sự phát triển của một chuẩn HTML 3 Dave Raggett, cùng với CERN đã tiếp tục phát triển trình duyệt Arena Sử dụng Arena, Dave Raggett, Henrik Frystyk Nielsen, Hakon Li, và những người khác đã biễu diễn những dòng văn bản bao quanh một hình ảnh với những lời thuyết minh, những bảng có thể thay đổi kích thước, ảnh nền, toán học và những chức năng khác

Tháng 9 năm 1994: The Internet Engineering Task Force (IETF) thành lập một nhóm làm việc với HTML

Đầu năm 1994, nhóm Internet Engineering Task Force được thành lập thành lập để làm việc với HTML IETF cho phép mọi người trong cộng đồng kỹ sư, những người yêu thích khoa học máy tính có thể trở thành thành viên Có thể tham gia các cuộc tranh luận bằn email Nhóm làm việc HTML gặp nhau 3 lần 1 năm để tranh luận về các chức năng của HTML ở hiện tại và tương lai

Trang 11

Tháng 7 năm 1994: Bản đặc tả của HTML 2 được phát hành

Trong suốt năm 1993 và đầu năm 1994, nhiều trình duyệt thêm một số mã của chúng vào HTML Cố gắng là sắp xếp lại sự hỗn độn đó, Dan Connolly và đồng nghiệp

đã tập hợp tất cả các thẻ HTML đang được sử dụng rộng rãi và sắp xếp chúng vào một tài liệu bản thảo Sau đó nó sẽ được lưu hành qua internet để mọi người chú thích Ong6 cũng viết một Document Type Definition cho HTML 2, một loại bảng chỉ dẫn rõ ràng của ngôn ngữ HTML

Tháng 10 năm 1994: Thành lập Netscape

Trong suốt năm 1993, Marc Andreessen cảm thấy không muốn đảm trách dự án Mosaic Sau khi tốt nghiệp, ông rời khỏi NCSA và chuyển đến California, và ông đã gặp Jim Clark Cùng với nhau, họ đã thành lập Mosaic Communications, sau này trở thành Netscape Communications Corp vào tháng 11 năm 1994

Trình duyệt mà họ thiết kế hết sức thành công, nhiều người còn tưởng nhầm là Netscape đã sáng chế ra web Netscape đã thiết kế trình duyệt tốt nhất để chắc chắn rằng ngay cả những người sử dụng kết nối với băng thông chậm cũng có thể truy cập tới web một cách hiệu quả

Netscape đã bắt đầu sáng chế ra các thẻ HTML của riêng nó Nescape hiếm khi tham gia vào cuộc hội nghị WWW, nhưng dường như nó đang định hướng chuẩn HTML

Cuối năm 1994: The World Wide Web Consortium forms

World Wide Web Consortium thành lập vào cuối năm 1994 để hoàn thành những tiềm năng của Web thông qua sự phát triển của những chuẩn mở Họ có niểm đam mê mạnh mẽ với HTML Consortium đã tuyển mộ nhửng tên tuổi lớn trong cộng đồng web

Đứng đầu là Tim Berners-Lee và một số thành viên khác

Những thành viên của the World Wide Web Consortium Từ trái sang phải là Henrick Frystyk Neilsen, Anselm Baird-Smith, Jay Sekora, Rohit Khare, Dan Connolly, Jim Gettys, Tim Berners-Lee, Susan Hardy, Jim Miller, Dave Raggett, Tom Greene,

Arthur Secret, Karen MacArthur

• Dave Raggett làm việc với HTML; từ Anh

• Arnaud le Hors làm việc với HTML; từ Pháp

• Dan Connolly làm việc với HTML; từ Mỹ

• Henrik Frystyk Nielsen làm việc với HTTP cho phép Web hoạt động nhanh hơn;

từ Đan Mạch

• Hakon Lie làm việc với style sheets; from Norway Ông sống ở Pháp, đang làm việc tại INRIA

Trang 12

• Bert Bos làm việc với style sheets and layout; from the Netherlands

• Jim Miller kiểm tra kỹ thuật, đánh giá nội dung trang Web; từ Mỹ

• Chris Lilley làm với với style sheets and font support; từ Anh

The W3 Consortium được đặt một phần ở phòng thí nghiệm khoa học máy tính ở học viện công nghệ của Massachusetts tại Cambridge, Massachusetts ở Mỹ, và một

phần ở INRIA, the Institut National de Recherche en Informatique et en Automatique

Consortium cũng được đặt ở đại học Keio tại Nhật Chúng ta có thể xem các trang web của Consortium tại địa chỉ ‘www.w3.org’

Trong suốt năm 1995: HTML được mở rộng thêm nhiều thẻ mới

Vào năm 1995 nhiều loại thẻ HTML mới đã xuất hiện Như là thuộc tính BGCOLOR của thẻ BODY và FONT FACE điểu khiển diện mạo văn vản của một tài liệu

Tháng 3 năm 1995: HTML 3 được xuất bản như là một bản thảo Internet

Dave Raggett c1o những ý tưởng mới cho HTML, và ông đã chính thức hóa chúng vào một tài liệu được xuất bản trên bản thảo internet Một thẻ mới để chèn những hình ảnh gọi là FIG, Dave hi vọng nó sẽ thay thế thẻ IMG Ông thêm vào sự hỗ trợ cho Style Sheet bằng cách thêm vào một thẻ STYLE và thuộc tính CLASS

Mặc dù bản thảo HTML 3 được mọi người đón nhận, nhưng thật khó khăn để IETF phê duyệt nó

Tháng 8 năm 1995: Trình duyệt Internet Explorer của Microsoft xuất hiện

Phiên bản 1.0 của trình duyệt Internet Explorer của tập đoàn Microsoft đã được công bố Trình duyệt này cạnh tranh với trình duyệt của Netscape và phát triển những chức năng HTML cảu riêng nó Mirosoft phát triển kinh doanh trên web bằng việc mở rộng các chức năng của HTML Chức năng ActiveX là độc quyền cảu trình duyệt Internet Explorer, và Netscape phát triển một plug-in gọi là Ncompass để đấu với ActiveX

Vào tháng 11 năm 1995, phát hành phiên bản Internet Explorer 2.0 cho hệ điều hành Windows NT và Windows 95

Tháng 9 năm 1995: Netscape đệ trình một bản đề xuất cho của khung (frame)

Vào thời gian này Netscape đệ trình một bản đề xuất về frame, liên quan tới việc chia màn hình thành những khung độc lập Bản đề xuất được thực thi trên trình duyệt của Netscape

Tháng 11 năm 1995: Style sheets cho tài liệu HTML bắt đầu hình thành

Bert Bos, Hakon Lie, Dave Raggett, Chris Lilley từ World Wide Web Consortium

và những người khác đã gặp ở Versailles gần Paris để thảo luận việc triển khai Cascading Style Sheets

Trang 13

Tháng 7 năm 1996: Microsoft dường như quan tâm đến những chuẩn mở hơn lúc đầu

Trình duyệt Internet Explorer đã hiện diện trên những hệ thống Macintosh và Windows 3.1

Trong hội nghị WWW lần thứ 2 được tổ chức tại Darmtadt ở Đức vào năm 1995, Thomas Reardon tỏ ra rất quan tâm tới Web Một năm sau đó, ông lưu ý tới quá trình chuẩn hóa và muốn Microsoft làm theo cách của W3C và IETF Microsoft đã sáng chế

ra thẻ MARQUEE, nó đã làm cho cộng đồng HTML thích thú Thẻ MARQUEE làm cho văn bản nhảy múa trên màn hình

Tháng 1 năm 1997: HTML 3.2 đã sẵn sàng

Vào tháng năm 1997, W3 Consortium phê duyệt HTML 3.2 Tất cả những tổ chức thành viên, bao gồm những nhà cung cấp trình duyệt chính như là Netscape và Microsoft đã xem xét HTML 3.2 Như vậy bản đặc tả (specification) đã ổn định và được mọi người duyệt web chấp nhận Bằng việc mở một diễn đàn trung lập, W3 Consortium

đã thành công trong việc đạt dược sữ đồng tình về một chuẩn của phiên bản HTML HTML 3.2 có các bảng(table), applet,dòng văn bản bao quanh hình ảnh, chỉ sổ dưới(subscript), chỉ số trên (superscript)

Mùa xuân năm 1998: HTML 4.0 ra đời

HTML 4.0 được W3C đề xuất vào năm 1998, nhưng để viết những trình duyệt thực thi HTML 4.0 không phải là chuyện đơn giản

HTML là ngôn ngữ định dạng, hay đánh dấu (mark-up) Thực tế, HTML được viết tắt từ HyperText Markup Language Một tập tin văn bản được đánh dấu bằng các thẻ (tag) HTML cho phép người ta đọc được chúng trên máy tính của mình hay qua mạng bằng phần mềm gọi là bộ duyệt (browser) Thẻ (tag) là một đoạn mã được giới hạn bởi dấu ngoặc nhọn '<' và '>' Bộ duyệt đọc các tag khi thực hiện định dạng tập tin HTML trên màn hình Những tài liệu có trên World Wide Web là các tập tin HTML

HTML không mô tả trang tài liệu theo cách của một số ngôn ngữ máy tính khác Có những ngôn ngữ mô tả từng phần tử đồ họa và vị trí của nó trên trang tài liệu, bao gồm font chữ, kích cỡ, Ngược lại, HTML lại không đưa ra bất cứ mô tả nào về font, hình ảnh đồ họa và chỗ để đặt chúng HTML chỉ "gán thẻ" cho nội dung tập tin với những thuộc tính nào đó mà sau đó chúng được xác định bởi chương trình duyệt để xem tập tin này Điều này giống như một người đánh dấu bằng tay một số đoạn trên bản tài liệu để chỉ cho người thư ký những việc cần thiết như: "chỗ này in đậm", "chỗ này in nghiêng",

"chỗ này là tiêu đề", "chỗ này sang trang"

HTML gán thẻ cho kiểu chữ, chèn file ảnh đồ họa, âm thanh, video vào văn bản, tạo

ra mối liên kết và hình thức gọi là siêu văn bản (hypertext) Siêu văn bản là đặc tính quan trọng nhất của ngôn ngữ HTML Điều này có nghĩa là một đoạn văn bản hay đồ họa bất kỳ nào cũng có thể liên kết với một tài liệu HTML khác

Ngôn ngữ HTML chính thức là một bộ đặc biệt bao gồm các thẻ (tag) mà tất cả các

bộ duyệt đều có thể hiểu được Một số bộ duyệt còn có thể biên dịch được những tag bổ sung ngoài phần chuẩn Theo thời gian, bộ chuẩn được cập nhật những tag mới

Mosaic, một trong số các bộ duyệt thông dụng được phát triển bởi NSCA (Trung tâm ứng dụng máy siêu tính quốc gia Mỹ), lần đầu tiên kết hợp khả năng đồ họa màu với văn bản HTML Ngày nay, Netscape Navigator, do những người từ NSCA trước đây thiết kế, trở thành bộ duyệt được ưa chuộng nhất bởi tốc độ và đặc tính mạnh

Trang 14

2.1.2 Danh sách các thẻ trong Html

2.1.2.1 Các thẻ cơ bản

Document Type <HTML> </HTML> Thẻ gốc, bắt đầu và kết thúc

tài liệu Title <TITLE> </TITLE> Thẻ tiều đề, phải đặt ở đầu

trang Header <HEAD> </HEAD> Thông tin mô tả

Body <BODY> </BODY> Ghi phần thân của tài liệu

2.1.2.2 Các thẻ định dạng

Bold <B> </B> In đậm văn bản

Italic <I> </I> In nghiêng văn bản

Underline <U> </U> Gạch dưới văn bản

Strikeout <STRIKE> </STRIKE> Gạch bỏ văn bản

Strikeout <S> </S> Gạch bỏ văn bản

Subscript <SUB> </SUB> Chỉ sổ dưới, giống như

chú thích cuối trang Superscript <SUP> </SUP> Chỉ số trên, giống như

những số tham khảo chéo Typewriter <TT> </TT> Hiển thị kiểu chử điện báo Width <PRE WIDTH=#> </PRE> Chiều rộng của các ký tự Center <CENTER> </CENTER> Canh giữa văn bản và hình

ảnh Blinking <BLINK> </BLINK> Chữ nhấp nháy, chỉ dành

cho Netscape Font Size <FONT SIZE=?> </FONT> Cỡ chữ cục bộ(từ 1-7) Change Font

Size <FONT SIZE="+|-?"> </FONT> Điều khiển cỡ chữ xuất ra Font Color <FONT COLOR="#$$$$$$">

</FONT> Điều khiển màu sắc xuất ra Select Font <FONT FACE="***"> </FONT> Loại văn bản như là Time

New Roman Point size <FONT POINT-SIZE=#> </FONT> Kích thước văn bản

Weight <FONT WEIGHT=?> </FONT> Đặc tạ độ dày của văn bản Base Font Size <BASEFONT SIZE=#> Kích cỡ của font (từ 1->7,

mặc dịnh là 3) Marquee <MARQUEE> </MARQUEE> Chữ chạy (chỉ dành cho

Trang 15

Link to

Location

<A HREF="URL#***"> </A> Liên kết văn bản và hình ảnh

tới một neo trong tài liệu Link to

Location in

Current Page

<A HREF="#***"> </A> Liên kết văn bản và hình ảnh

tới một neo trong tài liệu hiện hành

Target Window <A HREF="URL"

TARGET="***"> </A>

Liên kết văn bản và hình ảnh tới URL,mở ra trong cửa sổ mới

Location <A NAME="***"> </A> ấn định tên của neo và vị trí của nó trong tài liệu

TOP|BOTTOM|MIDDLE|LEFT|RIGHT>

Canh lề hình ảnh

Alternate <IMG SRC="URL" ALT="***"> Biểu diễn tên hoặc một miêu tả

cho hình ảnh nếu nó không hiển thị

Dimensions <IMG SRC="URL" WIDTH=?

HEIGHT=?> Chiều rộng, chiều cao của hình ảnh, theo pixel Dimensions

% <IMG SRC="URL" WIDTH=% HEIGHT=%> Phần trăm kích thước của hình ảnh so với trang Border <IMG SRC="URL" BORDER=?> Đường viền bao quanh hình ảnh,

theo pixel Image map <IMG SRC="URL" ISMAP> Liên kết của một phần hình ảnh

(cần một script) Movie Clip <IMG DYNSRC="***"

Object <EMBED SRC="URL"> chèn object vào trang

Object Size <EMBED SRC="URL" WIDTH=?

HEIGHT=?> Kích thước theo pixel của object được nhúng vào Object <OBJECT> </OBJECT> Object được nhúng

Parameters <PARAM> Giá trị đặc tính được đặt tên

2.1.2.5 Các thẻ phân đoạn

Paragraph <P> </P> Phân đoạn

Trang 16

ngang Width

Percent

<HR WIDTH="%"> Chiều rộng(theo phần trăm), Solid Line <HR NOSHADE> Đường ngang không có 3D

No Break <NOBR> </NOBR> Không cho xuống dòng

Word Break <WBR> Nơi xuống dòng nếu cần

2.1.2.6 Các thẻ cấu trúc

Heading <H?> </H?> Đầu trang tài liệu(1->6)

Division <DIV> </DIV> Chứa kiểu

Defined

Content <SPAN> </SPAN> Chứa kiểu

Block Quote <BLOCKQUOTE>

</BLOCKQUOTE> Khối trích dẫn dài, thường được thụt lề Quote <Q> </Q> Trích dẫn ngắn

Emphasis <EM> </EM> In nghiêng văn bản

Strong

Emphasis <STRONG> </STRONG> In đậm văn bản

Citation <CITE> </CITE> In nghiêng

Code <CODE> </CODE> Dùng cho danh sach mã lệnh Sample Output <SAMP> </SAMP> Xuất chương trình mẫu

Keyboard Input <KBD> </KBD> Văn bản nên được gõ bởi người

dùng Variable <VAR> </VAR> Biến của chương trình

Definition <DFN> </DFN> Sự định nghĩa

Address <ADDRESS> </ADDRESS> Thông tin tác giả

Large Font Size <BIG> </BIG> Sử dụng cỡ chữ lớn

Small Font Size <SMALL> </SMALL> Sử dụng cỡ chữ nhỏ

Trang 17

Insert <INS> </INS> Đánh dấu văn bản dược chèn

trong phiên bản mới Time of Change <INS DATETIME=":"> </INS> Đánh dấu thời gian

Comments <INS CITE="URL"> </INS> Lời chú thích

Delete <DEL> </DEL> Đánh dấu sự hủy bỏ

Time of Change <DEL DATETIME=":"> </DEL> Thời gian hủy bỏ tài liệu

Comments <DEL CITE="URL"> </DEL> Chú thích về sự hủy bỏ

Acronym <ACRONYM> </ACRONYM> acronyms

Abbreviation <ABBR> </ABBR> Sự tóm tắt

Tạo ảnh nền cho trang

Watermark <BODY BGPROPERTIES=

"FIXED"> ảnh tĩnh Background

Color <BODY BGCOLOR= "#$$$$$$"> Màu nền thuần nhất của trang Text Color <BODY TEXT="#$$$$$$"> Màu của văn bản xuyên suốt

trong trang Link Color <BODY LINK="#$$$$$$"> Màu của những liên kết trong

trang Visited Link <BODY VLINK="#$$$$$$"> Màu của những liên kết đã dược

click Active Link <BODY ALINK="#$$$$$$"> Của liên kết khi đang được chọn

2.1.2.8 Các thẻ tạo danh sách

Unordered

List <UL> <LI> </UL> Danh sách với những mục được đánh dấu

Trang 18

List Item <LI> </LI> ấn định một mục trong danh

sách Bullet Type <UL TYPE=DISC|CIRCLE|SQUARE> Hình dạng của của bullet Bullet Type <LI TYPE=DISC|CIRCLE|SQUARE> Hình dạng của của bullet

cho danh sách cụ thể Ordered

List

<DIR> </DIR> Liên kết thư mục

2.1.2.9 Các thẻ tạo table và frame

Border

<TABLE BORDER=?> </TABLE> Thiết lập độ dày cho đường

viền Cell

Spacing <TABLE CELLSPACING=?> gian cụ thể cho giữa các ô Quy định khoảng không

trong bảng Cell

Padding <TABLE CELLPADDING=?> Quy định khonag3 không gian cụ thể giữa đường viền

và nội dung văn bản Desired

Width <TABLE WIDTH=?> Chiều rộng của bảng theo pixel Width

Percent <TABLE WIDTH=%> phần trăm của trang Chiều rộng của bảng theo Table

Color

<TABLE BGCOLOR="#$$$$$$">

</TABLE>

Màu nền của bảng

Trang 19

Table

Rules <TABLE RULES= NONE| GROUPS| ROWS|COLS|ALL> </TABLE> Điều khiển hiển thị đường ngang và đường dọc Border

Color <TABLE BORDERCOLOR="#$$$$$$"> </TABLE> Màu của đường viền

Table Row <TR> </TR> Hàng của bảng

Alignment <TR ALIGN= LEFT| RIGHT| CENTER|

MIDDLE| BOTTOM>

Canh lề Table Cell <TD> </TD> Ô cụ thể, phải hiển thị trong

hàng Alignment <TD ALIGN= LEFT|RIGHT|CENTER

VALIGN= TOP|MIDDLE|BOTTOM> Canh lề của ô

Cell

<TH> </TH> Thông tin đầu trang

Alignment <TH ALIGN= LEFT| RIGHT| CENTER|

Width <TH WIDTH=?> Chiều rộng theo pixel

Width

Percent

<TH WIDTH="%"> Chiều rộng theo phân trăm

của bảng Cell Color <TH BGCOLOR="#$$$$$$"> Màu nền

Trang 20

Column

Widths <FRAMESET COLS=,,,> </FRAMESET> Danh sách dấu phẩy để chỉ kích thước cột trong

frameset theo pixel hoặc phần trăm

Borders <FRAMESET FRAMEBORDER=

"yes|no"> </FRAMESET> ấn định frame có đường viền hay không Border Width <FRAMESET BORDER=?> Chiều rộng của đường viền

Trang 21

Margin Width <FRAME MARGINWIDTH=?> Khoảng cách giữa nội dung

và lề trái phải của frame Margin

Height

<FRAME MARGINHEIGHT=?> Khoảng cách giữa nội dung

và lề trên dưới của frame

Scroll bar <FRAME

SCROLLING="YES|NO|AUTO"> Ấn định frame có thanh scroll bar hay không Not Re-

sizable

<FRAME NORESIZE> Không cho phép thay đổi

kích thước của frame

Dimensions <IFRAME WIDTH=?

HEIGHT=?> </IFRAME> Kích thước cửa sổ phụ theo pixel Dimensions <IFRAME WIDTH="%"

để trở thành một meta language (siêu ngôn ngữ) – nghĩa là ngôn ngữ dùng để đặc tả cho ngôn ngữ khác

Về sau GML phát triển thành SGML (Standard Generalized Markup Language) Vào năm 1986, SGML được tổ chức ISO công nhận là chuẩn lưu trữ và chuyển đổi dữ liệu SGML được sử dụng để xây dựng những tài liệu như sách vở, báo cáo, hay cẩm

Trang 22

nang tham khảo….Những tài liệu này sẽ được chuyển thành dạng thức biểu diễn được

và sau đó gởi chúng ra thiết bị xuất như máy in, màn hình

Tuy nhiên, trở ngại lớn nhất đối với người dùng SGML là chúng quá phức tạp và tiêu tốn nhiều công sức trong việc hiện thực Vì vậy hầu hết người dùng cá nhân và doanh nghiệp đều không thể đáp ứng những yêu cầu để sử dụng công nghệ hữu dụng này

Năm 1996, Word Wide Web Consortium (W3C) khởi động kế hoạch xây dựng một ngôn ngữ được gọi là XML (eXtensible Markup Language – ngôn ngữ đánh dấu mở rộng) kết hợp được sức mạnh của SGML và tính phổ dụng của HTML Sự xuất hiện của XML mang lại cho người dùng sức mạnh của SGML với tốn kém ít hơn và không phải đối mặt với sự phức tạp của SGML Hơn nữa việc viết parser (bộ phân tích từ vựng và

cú pháp) cho tài liệu XML cũng đơn giản hơn Ngoài ra, XML tương thích với các giao thức Internet và phần mềm xử lý, chuyển đổi dữ liệu XML được xem là một tập con của SGML, vì vậy XML có được khả năng tương thích với những hệ thống dựa trên SGML, giúp nhà phát triển vẫn có thể duy trì được những hệ thống đã được xây dựng trên nền tảng SGML mà không phải tốn kém trong việc chuyển đổi

Tim Bray và C.M Sperberg-McQueen viết hầu hết Specification (bản điều kiện kỹ thuật) nguyên thủy của XML Trước đó, Bray đã có kinh nghiệm nhiều năm quản lý dự

án "New Oxford English Dictionary" Ông muốn XML hội các điều kiện sau:

• Ðơn giản đủ cho lập trình viên áp dụng

• Dễ cho Search Engine (như AltaVista, Yahoo, Infoseek, ) phân loại

• Không giới hạn trong tiếng Anh của nước Mỹ

Chính vì lẽ đó, bản Specification đầu tiên của XML được ra đời vào tháng 11 năm

1996 Tháng 7 năm 1997 Microsoft áp dụng đầu tiên của XML, Channel Definition Format (CDF) Họ dùng CDF để xuất bản các trang Web đến những khách đã đóng tiền tháng (subscribers) CDF là một phần của Internet Explorer 4.0 Tháng 5 năm 1997 Microsoft và Inso Corporation xuất bản XSL (eXtensible Style Language) để làm Style Sheet diễn tả cách trình bày một trang XML

Ðến tháng 1 năm 1998 Microsoft cho ra một chương trình miễn phí tên MSXSL để generate một trang HTML từ một cặp trang XML và XSL Sau này thì Internet Explorer 5.0 có thể hiển thị trực tiếp một trang XML (bên trong có ghi phải tìm trang XSL ở đâu), không cần cho thấy kết quả trang HTML

Vào tháng 2 năm 1998 Tổ hợp Web toàn cầu W3C phê chuẩn cho chính thức thi hành Version 1.0 của XML Specification

2.2.2 Giới thiệu

XML ra đời vào tháng 2/1998, là ngôn ngữ có kiến trúc gần giống với HTML nhưng XML nhanh chóng trở thành một chuẩn phổ biến trong việc chuyển đổi thông tin qua các trang web sử dụng giao thức HTTP Trong khi HTML là ngôn ngữ chủ yếu về hiển thị dữ liệu thì XML lại đang phát triển mạnh về việc chuyển tải, trao đổi và thao tác dữ liệu bằng XML XML đưa ra một định dạng chuẩn cho cấu trúc của dữ liệu hoặc thông tin bằng việc tự định nghĩa định dạng của tài liệu Bằng cách này, dữ liệu được lưu trữ bằng XML sẽ độc lập với việc xử lý Vì vậy XML ra đời sẽ đáp ứng được yêu cầu ngày càng cao của các nhà lập trình trong vấn đề trao đổi và xử lý thông tin

Trang 23

2.2.3 Các đặc điểm của XML

XML cung cấp một phương tiện dùng văn bản (text) để mô tả thông tin và áp dụng

một cấu trúc kiểu cây cho thông tin đó Tại mức căn bản, mọi thông tin đều thể hiện

dưới dạng text, chen giữa là các thẻ đánh dấu (markup) với nhiệm vụ ký hiệu sự phân chia thông tin thành một cấu trúc có thứ bậc của các dữ liệu ký tự, các phần tử dùng để chứa dữ liệu, và các thuộc tính của các phần tử đó

Đơn vị cơ sở của XML là các ký tự theo định nghĩa của Universal Character Set (Bộ

ký tự toàn cầu) Các ký tự được kết hợp theo các tổ hợp chuỗi hợp lệ để tạo thành một tài liệu XML

Sự phổ biến của các phần mềm soạn thảo văn bản (word processor) đã hỗ trợ việc soạn thảo và bảo trì tài liệu XML một cách nhanh chóng Trước XML, có rất ít ngôn ngữ mô tả dữ liệu với các đặc điểm đa năng, thân thiện với giao thức Internet, dễ học và

dễ tạo Thực tế, đa số các định dạng trao đổi dữ liệu thời đó đều chuyện dụng, có tính độc quyền, và có định dạng nhị phân (chuỗi bit thay vì chuỗi ký tự) khó dùng chung giữa các ứng dụng phần mềm khác nhau hay giữa các hệ nền (platform) khác nhau Việc tạo và bảo trì trên các trình soạn thảo thông dụng lại càng khó khăn

Bằng cách cho phép các tên dữ liệu, cấu trúc thứ bậc được phép, và ý nghĩa của các phần tử và thuộc tính có tính chất mở và có thể được định nghĩa bởi một giản đồ tùy biến được, XML cung cấp một cơ sở cú pháp cho việc tạo lập các ngôn ngữ đánh dấu dựa XML theo yêu cầu Cú pháp chung của các ngôn ngữ đó là cố định — các tài liệu phải tuân theo các quy tắc chung của XML, bảo đảm rằng tất cả các phần mềm hiểu

XML ít ra cũng phải có khả năng đọc (phân tích cú pháp - parse) và hiểu bố cục tương

đối của thông tin trong các tài liệu đó Giản đồ chỉ bổ sung một tập các ràng buộc cho các quy tắc cú pháp Các giản đồ thường hạn chế tên của phần tử và thuộc tính và các cấu trúc thứ bậc được phép, ví dụ, chỉ cho phép một phần tử tên 'ngày sinh' chứa một phần tử tên 'ngày' và một phần tử có tên 'tháng', mỗi phần tử phải chứa đúng một ký tự Đây là điểm khác biệt giữa XML và HTML HTML có một bộ các phần tử và thuộc tính không mềm dẻo, chỉ có một tác dụng và nói chung là không thể dùng cho mục đích khác

XML không hạn chế về việc nó được sử dụng như thế nào Mặc dù XML về cơ bản

là dạng text, các phần mềm với chức năng trừu tượng hóa nó thành các định dạng khác giàu thông tin hơn đã nhanh chóng xuất hiện, quá trình trừu tượng hóa này được thực

hiện chủ yếu qua việc sử dụng các giản đồ định hướng kiểu dữ liệu (datatype-oriented

schema) và khuôn mẫu lập trình hướng đối tượng (mà trong đó, mỗi tài liệu XML được

thao tác như là một đối tượng) Những phần mềm như vậy có thể coi XML như là dạng text đã được tuần tự hóa chỉ khi nó cần truyền dữ liệu qua mạng

XML tương thích với SGML

Dễ dàng viết được những chương trình xử lý tài liệu XML

Tài liệu XML dễ đọc và có tính hợp lý cao

XML được xây dựng với sự giảm thiểu những thuộc tính tùy chọn

XML dễ dàng được sử dụng trên Internet

XML hỗ trợ nhiều ứng dụng

Không đặt nặng tính hình thức trong nội dung thẻ đánh dấu XML

Trang 24

2.2.4 Mục tiêu ra đời và lợi ích và nhược điểm khi sử dụng XML

2.2.4.1 Mục tiêu

Ngày nay, XML đang trở thành một chuẩn chung cho việc trao đổi dữ liệu cho những ứng dụng chạy trên môi trường Internet Vì XML cho phép người dùng có thể tự định nghĩa các thẻ (tag) - những thẻ này làm cho tài liệu XML đa dạng hơn những ngôn ngữ thông thường như HTML Như vậy mục tiêu đặt ra cho sự ra đời XML là gì Đó là, đầu tiên nó sẽ tương thích với SGML, và dễ dàng viết những chương trình để xử lý cho những tài liệu XML Kế tiếp, những tài liệu XML rõ ràng, dễ đọc, dễ dàng tạo lập Và điều quan trọng là nó được hỗ trợ trong nhiều ứng dụng Nói tóm lại, XML dễ dàng chia

sẻ thông tin qua những định dạng khác nhau thông qua môi trường web XML được thiết kế dành cho mọi người, được mọi người sử dụng

• XML có thể dùng để chuyển đổi dữ liệu giữa các hệ thống không tương thích

• XML cũng được dùng để lưu trữ dữ liệu, có thể làm cho dữ liệu của chúng ta hữu ích hơn

• XML hỗ trợ hầu hết các application Chẳng hạn HTML chỉ được dùng hạn chế trên trang web mà thôi, không dùng được bởi các ứng dụng Tạo thuận lợi cho các trình ứng dụng đọc và xử lý thông tin dưới dạng XML, bởi vì thật chất XML chỉ là một file text đơn thuần XML có thể được soạn thảo bằng bất kỳ text-editor nào như Notepad chẳng hạn

• Các thông tin dưới dạng XML là human-legible và self-describing nghĩa là con người có thể đọc và hiểu được thông tin đó là về cái gì một cách dễ dàng

• XML có thể giúp giảm tải trên web server, bằng cách lưu giữ tất cả thông tin trên client càng lâu càng tốt Và sau đó sẽ gửi về cho server bằng 1 file XML lớn

• Website có thể xác định trình duyệt của client, nếu là trình duyệt cũ thì sẽ chuyển đổi XML thành HTML Nếu là trình duyệt mới hơn thì sẽ gửi thẳng trang XML, điều này giúp giảm tải server

• XML có thể được sử dụng như Remote procedure call, giao thức này cho phép những đối tượng trên một computer có thể triệu gọi các đối tượng trên các computer khác Thông qua sự kết hợp của XML, Http và SOAP

• Sử dụng XML để trao đổi dữ liệu giữa các ứng dụng web giữa các hệ thống với nhau

• XML là một siêu ngôn ngữ đánh dấu XML không có một tập hợp thẻ cố định Thay vào đó XML cho phép các nhà phát triển và các nhà lập trình định nghĩa các thẻ mà họ cần Các kỹ sư hóa học có thể sử dụng các thẻ để miêu tả các phân

tử, nguyên tử, sự liên kết, các phản ứng, và nhiều vấn đề khác trong ngành hóa học Nhân viên nhà đất có thể sử dụng các thẻ để miêu tả những căn hộ, sự cho thuê nhà, địa điểm và các thuật ngữ khác cần cho ngành kinh doanh bất động sản Các nhạc sĩ có thể sử dụng các thẻ để miêu tả các nốt nhạc, khóa nhạc, và lời bài hát

Trang 25

• Sự đánh dấu trong một tài liệu XML miêu tả cấu trúc của tài liệu Nó cho pháp chúng ta thấy những phần tử nào liên hệ với những phần tử nào còn lại Trong một tài liệu XML được thiết kế tốt, sự đánh dấu cũng miêu tả ngữ nghĩa của tài liệu Ví dụ, sự đánh dấu có thể ấn định mốt phần tử là ngày tháng hoặc con nguời hoặc mã vạch Trong những ứng dụng XML được thiết kế tốt, sự đánh dấu

sẽ không chỉ ra tài liệu nên được trình bày như thế nào XML là một ngôn ngữ đánh dấu có cấu trúc và ngữ nghĩa, không phải là ngôn ngữ trình bày

2.2.4.3 Nhược điểm của XML

• XML quá dài dòng

• Vẫn còn những trở ngại trong giao thức XML Hypertext Transfer Protocol (XML-HTTP)

2.2.4.4 SGML, HTML, và XML có quan hệ với nhau như thế nào?

• Ngôn ngữ đánh dấu tiêu chuẩn tổng quát (SGML - Standard Generalized Markup Language) là một phương pháp biểu thị dữ liệu trong những ứng dụng

xử lý văn bản Nó đã tồn tại hơn một thập kỷ nay; cả XML lẫn HTML đều là những định dạng tài liệu có nguồn gốc từ SGML Vì vậy, tất cả chúng đều cùng chia sẻ một số đặc tính chẳng hạn như một cú pháp tương tự và cách dùng các nhãn trong dấu ngoặc nhọn Nhưng HTML là một ứng dụng của SGML, trong khi XML là một bộ trình con của SGML

• Sự phân biệt là rất quan trọng Cơ bản, HTML không thể dùng để định nghĩa nên các ứng dụng mới trong khi XML có thể thực hiện được việc này Ví dụ, cả RDF lẫn CDF đều là những ứng dụng được định nghĩa bằng XML XML và HTML thực sự giống như hai anh em họ hơn là hai anh em ruột Tổ hợp Web toàn cầu W3C đã phát triển một biểu đồ lớn để làm sáng tỏ mối quan hệ này

• XML thực sự tương thích với SGML - bất cứ một công cụ tạo hoặc duyệt SGML nào cũng có thể đọc được những tài liệu XML Tuy nhiên, XML đỡ phức tạp hơn SGML, và nó được thiết kế để chạy trên một mạng băng tầng hữu hạn ví

dụ như Internet Theo Tim Bray - đồng biên tập viên XML - thì ý tưởng đằng sau XML là tận dụng lợi ích của SGML, loại bỏ những phần phức tạp, duy trì tính nhẹ nhàng, và làm cho nó hoạt động được trên Web

• HTML, SGML, và XML sẽ tiếp tục được sử dụng ở những vị trí thích hợp; sẽ không có ngôn ngữ nào trong số chúng thể hiện bất cứ tính chất lỗi thời nào khác HTML vẫn duy trì cách thức đơn giản nhất để phát hành dữ liệu nhanh chóng trên Web, thường là những dữ kiện ngắn hạn ví dụ như các chương trình nghị sự hoặc các tờ bướm quảng cáo Nếu dữ kiện có một công dụng dài hạn hơn và cần một cấu trúc chặt chẽ hơn, thì các nhà xây dựng Web sẽ chuyển sang XML Không giống như HTML và XML, SGML có thể sẽ chẳng bao giờ có được sự chấp nhận phổ biến trên Internet, đơn giản bởi vì nó chưa bao giờ được thiết kế hoặc được tối ưu cho các nhu cầu của một giao thức mạng Mức tối đa, với những ứng dụng phát hành có cấu trúc chặt chẽ ở mức độ cao, SGML sẽ tiếp tục phù hợp với mọi yêu cầu

2.2.4.5 XML, 10 điểm cần ghi nhớ

• XML được dùng để tạo cấu trúc dữ liệu

Dữ liệu này bao gồm bảng công tác, sổ địa chỉ, các tham số cấu hình, giao dịch tài chính và vẽ kỹ thuật XML là một hệ thống các luật (có thể coi là những hướng dẫn hay quy ước) dùng cho việc thiết kế các format cho văn bản giúp bạn tạo cấu trúc

Trang 26

cho dữ liệu XML không phải là ngôn ngữ lập trình và bạn cũng không cần phải là một lập trình viên để có thể học và sử dụng nó thành thạo XML giúp cho máy tính của bạn dễ dàng tạo dữ liệu, đọc dữ liệu và làm cho cấu trúc dữ liệu của bạn trở nên

rõ ràng dễ hiểu XML còn giúp bạn tránh được những bẫy thông thường trong thiết

kế ngôn ngữ: nó có thể mở rộng, có platform hoàn toàn độc lập và hỗ trợ tính quốc

tế hoá và nội địa hoá XML hỗ trợ hoàn toàn Unicode

• XML có một số điểm giống với HTML

Tương tự HTML, XML cũng sử dụng các tags (các từ được đặt trong ngoặc với '<'

và '>') và dùng thuộc tính (với mẫu name="value") Trong khi HTML đặc biệt chú ý tới từng tag và attribute có ý nghĩa gì, và phần văn bản giữa các tag đó sẽ hiển thị như thế nào trong trình duyệt thì XML sử dụng các tag chỉ để phân định ranh giới giữa các mẩu dữ liệu, và coi việc đọc và xử lý dữ liệu đó hoàn toàn là nhiệm vụ của ứng dụng Nói cách khác, nếu bạn thấy "<p>" trong một file XML, đừng cho rằng

đó là ký hiệu của một đoạn Tuỳ thuộc vào văn cảnh, nó có thể là giá (price), một tham số (a parameter), một người (a person), hay một cái gì đó bắt đầu bằng chữ cái 'p' trong tiếng Anh

• XML là một văn bản, nhưng không giống những loại văn bản thông thường mà

ta có thể đọc được

Các chương trình dùng để tạo bảng công tác, sổ địa chỉ, và các dữ liệu được cấu trúc hóa thông thường lưu dữ liệu trên đĩa, sử dụng khuôn dạng text hay nhị phân Một thuận lợi của khuôn dạng văn bản là cho phép người ta, nếu cần thiết, có thể xem dữ liệu mà không cần phải có chương trình đã tạo ra dữ liệu đó; nói cách khác, bạn có thể đọc nó với bất kì bộ soạn thảo văn bản nào mà bạn thích Các khuôn dạng văn bản cũng cho phép người ta tìm lỗi dễ dàng hơn trong các ứng dụng Giống như HTML, các file XML là những file văn bản được tạo ra không phải với mục đích để đọc, nhưng cũng không loại trừ trường hợp nếu cần thì vẫn có thể đọc được Tuy nhiên XML lại có điểm không bằng HTML, các luật dùng trong file XML rất hạn chế Chỉ cần quên một tag, hay một thuộc tính không đi kèm với nội dung (quots) sẽ làm cho toàn bộ file XML đó ngừng hoạt động, trong khi ở HTML những lỗi này có thể được bỏ qua Bản ghi XML chính thức không cho phép các ứng dụng tìm hiểu đến lần thứ 2 nguyên nhân gây lỗi file XML; nếu file bị lỗi ứng dụng đó ngừng hoạt động ngay lập tức và báo lỗi

• XML hơi dài dòng

Vì XML là định dạng văn bản và nó sử dụng tag để phân định từng chức năng trong

dữ liệu nên file XML hầu như luôn lớn hơn định dạng nhị phân Đó là chủ ý của người tạo ra XML Những điểm mạnh của định dạng văn bản đã được nêu rõ, và những bất cập có thể được đền bù ở mức độ khác Đĩa với dung lượng lớn ngày nay

rẻ hơn trước kia, và các chương trình nén như zip và gzip có thể nén file rất nhanh chóng và chất lượng Thêm vào đó, giao thức truyền thông như HTTP/1.1, giao thức chính dùng trong web, có thể nén dữ liệu nhanh chóng và ghi lại dải tần hiệu quả như định dạng nhị phân

• XML là một họ gồm nhiều kỹ thuật

XML 1.0 là một bản ghi định nghĩa về "tags" và "thuộc tính" Trên XML 1.0, "the XML family" là một bộ các module cung cấp các dịch vụ hữu dụng để hoàn thành những nhiệm vụ yêu cầu có tính chất thường xuyên và quan trọng Xlink được coi như một phương thức chuẩn để đưa các liên kết siêu văn bản vào file XML

Trang 27

XPointer and XFragments là những cú pháp để phát triển các phần trong văn bản XML XPointer có đôi chỗ giống URL, nhưng thay vì tập trung vào văn bản trên mạng, nó lại tập trung vào từng đoạn dữ liệu trong file XML CSS, the style sheet language, có thể áp dụng được đối với XML giống như HTML XSL là một loại ngôn ngữ rất tiến bộ dùng cho style sheets Nó dựa trên XSLT, một loại ngôn ngữ chuyển đổi sử dụng trong việc sắp xếp lại, thêm vào và xoá đi một số tag và thuộc tính DOM là một bộ các chức năng chuẩn dùng cho thao tác file XML (và HTML)

từ một ngôn ngữ lập trình XML Schemas 1 và 2 giúp các nhà thiết kế định nghĩa chính xác cấu trúc định dạng trên của chính họ Ngoài ra còn có một số module và công cụ khác hay vẫn còn đang được phát triển Xin các bạn đọc thêm W3C's technical reports page

• XML mới nhưng không quá mới mẻ

Việc phát triển XML được bắt đầu năm 1996 và đã được W3C khuyến cáo sử dụng

từ tháng 2 năm 1998 Điều này có thể khiến bạn nghĩ rằng, XML là công nghệ mới Trên thực tế, công nghệ này không còn là mới lạ Trước XML cũng đã có SGML, thiết kế vào đầu những năm 80, đạt tiêu chuẩn ISO từ năm 1986 và được người ta sử dụng rộng rãi trong những dự án lớn HTML bắt đầu được xây dựng từ năm 1990 Người tạo ra XML đơn giản chỉ tận dụng những điểm mạnh của SGML, cùng với kinh nghiệm có được từ HTML đã tạo ra sản phẩm không thua kém gì SGML, thêm vào đó nó rất thông dụng và dễ dùng Tuy nhiên có những phát triển trong công nghệ khiến người ta khó phân biệt với cuộc cách mạng công nghệ Và phải nói rằng trong khi SGML được sử dụng chủ yếu trong các văn bản kỹ thuật, và cả trong một số ít các loại dữ liệu khác thì XML lại hoàn toàn ngược lại

• XHTML là sự kết hợp giữa XML và HTML

XML có một ứng dụng rất quan trọng đó là khuôn dạng văn bản: XHTML của W3C, đây là thế hệ tiếp sau của HTML XHTML có nhiều điểm chung với HTML Tuy nhiên, trong cú pháp cũng có một số thay đổi để phù hợp với các luật trong XML Một văn bản được tạo ra với XML sẽ mang cấu trúc của XML và bị hạn chế

ở một số phương diện (Ví dụ, XHTML cho phép "<p>", nhưng lại không cho

"<r>"); nó cũng bổ sung thêm ý nghĩa cho cú pháp (XHTML qui định "<p>" là

"đoạn văn (paragraph)", chứ không phải "giá (price)", "người (person)", hay bất cứ một cái gì khác)

• XML là một dạng ngôn ngữ kiểu môdun

XML cho phép bạn tạo ra một khuôn dạng văn bản mới bằng cách kết hợp hay sử dụng lại các khuôn dạng có sẵn Do 2 khuôn dạng được phát triển độc lập nên có thể xuất hiện những đặc tính và thuộc tính có tên trùng nhau Vì vậy phải thận trọng khi kết hợp những khuôn dạng này với nhau (nghĩa là "<p>" có thể là "paragraph" trong khuôn dạng này nhưng lại là "person" trong khuôn dạng kia Để tránh nhầm lẫn tên khi kết hợp các khuôn dạng với nhau, XML cung cấp cơ chế namespace XSL và RDF là những ví dụ điển hình của định dạng XML có sử dụng namespace XML Schema được thiết kế để mirror hỗ trợ ráp modun ở mức tạo cấu trúc văn bản XML, bằng cách tạo điều kiện dễ dàng kết hợp 2 giản đồ để tạo ra cái thứ 3 có cấu trúc văn bản kết hợp

• XML là cơ sở của RDF và Semantic Web

Khung miêu tả tài nguyên của W3C (RDF) là một khuôn dạng văn bản XML hỗ trợ

mô tả tài nguyên và các ứng dụng metadata, ví dụ như danh sách bản nhạc, bộ sưu

Trang 28

tầm ảnh , sưu tầm thư mục RDF cho phép bạn nhận diện người trong album ảnh web sử dụng thông tin từ danh sách liên lạc cá nhân; sau đó chương trình nhận gửi thư sẽ tự động gửi message đến những người này thông báo cho họ biết ảnh của họ đang ở trên mạng Cũng như các văn bản tích hợp HTML, hệ thống menu, và ứng dụng forms dùng để bắt đầu các Web gốc, ứng dụng tích hợp RDF và các tác nhân trong Semantic Web Cũng giống như người ta cần có sự thống nhất về ý nghĩa những từ họ sử dụng trong giao tiếp, các máy vi tính cần có cơ chế thống nhất về ý nghĩa các thuật ngữ để truyền đạt thông tin một cách hiệu quả Định nghĩa chính thức các thuật ngữ trong một vài lĩnh vực (mua bán hay sản xuất)gọi là bản thể học rất cần thiết trong Web Semantic RDF, bản thể học, và việc thể hiện ý nghĩa vì vậy các máy tính có thể giúp người ta tiến hành công việc của mình là toàn bộ nội dung hoạt động của Semantic Web

• XML được sử dụng miễn phí, có platform độc lập và được hỗ trợ rất tốt

Khi lựa chọn XML làm cơ sở để thực hiện một dự án, bạn có thể tiếp cận với rất nhiều các công cụ phát triển (một trong số đó đã có sẵn cái bạn cần!) và người kỹ sư công nghệ đã có kinh nghiệm trong lĩnh vực này Lựa chọn XML có đôi chút giống với chọn SQL cho cơ sở dữ liệu: bạn vẫn phải xây dựng cơ sở dữ liệu cho mình và các chương trình riêng cũng như phải có những qui tắc để thao tác nó Có rất nhiều công cụ có sẵn và bạn cũng có thể dễ dàng nhận được sự giúp đỡ của nhiều người

Và vì XML không cần phải mua bản quyền mới sử dụng được nên bạn có thể tạo cho mình một phần mềm riêng mà không phải trả một khoản chi phí nào hết Hỗ trợ

mà lớn chứng tỏ rằng bạn không có liên quan gì đến một vendor nào hết XML không phải lúc nào cũng là giải pháp tốt nhất, nhưng nó luôn xứng đáng để người ta phải xem xét

2.2.5 Khuôn dạng tài liệu XML

Tài liệu XML chỉ chứa đựng dữ liệu và cách lưu trữ dữ liệu mà không hề đề cập tới cách thức trình bày dữ liệu Một tài liệu XML sẽ chứa những đặc tả về cấu trúc dữ liệu Mỗi cấu trúc gồm nhiều phần tử (element), mỗi thành phần được bắt đầu với một thẻ bắt đầu (Start–tag) và kết thúc với một thẻ kết thúc (End–tag) Giữa Start–tag và End–tag là nội dung của phần tử này Nội dung có thể bao gồm dữ liệu văn bản hay có thể là một phần tử khác

Mục đích của việc tổ chức thông tin là để con người có thể đọc và hiểu được những

gì mà nó muốn truyền tải Chúng ta xem một tập tin văn bản sau đây:

F10 Shimano Calcutta 47.76

F20 Bantam Lexica 49.99

Theo cách tổ chức thông tin của tập tin trên, chúng ta thật khó để hiểu tập tin này muốn nói lên điều gì Bây giờ, chúng ta tổ chức tập tin trên theo định dạng một tài liệu XML một cách đơn giản nhất

Trang 29

2.2.6 Những thành phần của một tài liệu XML

Khai báo: Mỗi một tài liệu XML có một chỉ thị khai báo

<? xml version="1.0"?>

Định nghĩa tài liệu XML tuân theo chuẩn của W3C và đây là phiên bản “1.0”

Chú thích: được khai báo như sau:

<! chú thích >

Phần tử (Elements): Một tài liệu XML được cấu thành từ những phần tử Một phần

tử có thẻ mở và thẻ đóng Giữa thẻ mở và thẻ đóng là nội dung của phần tử đó Phần tử

có thể chứa dữ liệu hoặc có thể lồng vào một phần tử khác Phần tử gốc (root): Trong tài liệu XML, chỉ có một phần tử gốc, và phần tử này sẽ chứa tất cả những phần tử của tài liệu XML do chúng ta tạo ra Theo ví dụ trên, ta thấy chỉ có một phần tử “Catalog” Thuộc tính (Attributes): Như đã trình bày ở trên, một phần tử có thể chứa dữ liệu hoặc chứa phần tử khác hoặc cả hai Bên cạnh đó, phần tử có thể rỗng, khi đó nó có thể chứa thuộc tính Một thuộc tính chỉ là một sự lựa

Phần tử gốc (root): Trong tài liệu XML, chỉ có một phần tử gốc, và phần tử này sẽ

chứa tất cả những phần tử của tài liệu XML do chúng ta tạo ra Theo ví dụ trên, ta thấy chỉ có một phần tử “Catalog”

Thuộc tính (Attributes): Như đã trình bày ở trên, một phần tử có thể chứa dữ liệu

hoặc chứa phần tử khác hoặc cả hai Bên cạnh đó, phần tử có thể rỗng, khi đó nó có thể chứa thuộc tính Một thuộc tính chỉ là một sự lựa chọn để gắn dữ liệu đến phần tử Một thuộc tính đặt trong thẻ mở của phần tử và chỉ ra giá trị của nó bằng cách sử dụng cặp

Trang 30

Một vǎn bản XML được trao đổi giữa các thành phần khác nhau trong một hệ thống thông thường cần được kiểm tra tính hợp lệ của nó Muốn kiểm tra sự hợp lệ của một tài liệu XML ta phải dựa vào DTD (Document Type Definition) hoặc Schema XML DTD (Document Type Definition), được phát triển bởi W3C, được coi là bộ cú pháp dữ liệu (vocabulary) của vǎn bản XML File DTD cho phép bạn tạo ra các ràng buộc như tổ chức dữ liệu hoặc tạo ra các luật (business rules) cho dữ liệu trong vǎn bản XML Như vậy quá trình kiểm tra tính hợp lệ (validation) của một vǎn bản XML là việc kiểm tra thành phần dữ liệu của vǎn bản đó có thoả mãn các ràng buộc và luật đề ra trong file DTD tương ứng

Với sự phát triển như vũ bão của công nghệ XML, các yêu cầu ngày càng trở nên phức tạp Khả nǎng của DTD chỉ đáp ứng những yêu cầu đơn giản, ví dụ như nó cho phép tạo ra luật: "mỗi quyển sách có thể có một hoặc nhiều tác giả", nhưng lại không cho phép đính ra luật phức tạp hơn như: "giá của quyển sách phải là số thực dương" Một công nghệ mới cho phép bạn kiểm tra tính hợp lệ của dữ liệu XML tốt hơn là "Giản

đồ " (XML schemas) và cũng của W3C XML schemas cho phép tạo ra các ràng buộc

và luật một cách chặt chẽ hơn Đặc biệt một vǎn bản XML schemas cũng sử dụng cú pháp XML, còn DTD thì không Tuy nhiên XML schemas lại không thể thay thế được DTD, trong một số trường hợp chúng ta hoàn toàn có thể sử dụng cả hai công nghệ cùng một lúc

2.2.8 Cách sử dụng một tài liệu XML

Khi chúng ta đã có một tài liệu XML, chúng ta sẽ tự hỏi: sử dụng nó như thế nào và làm thế nào để truy cập đến một tập tin XML Một vǎn bản XML có thể hiểu được ở bất kỳ đâu trong hệ thống nhờ thông tin trong phần meta-data của nó mang theo Vì vậy việc truy cập thông tin trong vǎn bản XML này là hoàn toàn khả thi (parsible), hơn nữa cách thức truy cập hoàn toàn có thể được sử dụng cho các vǎn bản XML khác nhau Hai giải pháp mở cho người lập trình sử dụng để đọc thông tin XML là DOM (Document Object Model) và SAX (Simple API for XML) Đây là hai bộ giao diện lập trình chuẩn và mở cho phép người lập trình xử lý thông tin XML mà không phải tạo ra các module xử lý riêng rẽ cho từng dữ liệu cụ thể Người lập trình chỉ cần tạo ra những module đơn giản gọi là parser sử dụng các hàm của SAX hoặc DOM để truy cập bất kỳ từng phần tử của vǎn bản XML Chúng ta có khá nhiều lựa chọn ngôn ngữ lập trình để viết bộ parser này như Java, C++, Perl, Python, Microsoft cũng phát triển các thành phần để hỗ trợ XML cho VB, VC, ASP.NET, NET Cụ thể hơn, bạn có thể viết client bằng C++ trên Linux sử dụng DOM để làm việc với XML và gửi dữ liệu XML đến server, server này được viết bằng VB.NET và sử dụng SAX để làm việc với dữ liệu XML client gửi đến

DOM là công nghệ lưu trữ dữ liệu của vǎn bản XML dưới dạng cây (hierarchical object model) với các node là các thành phần dữ liệu của vǎn bản Sử dụng mô hình cây cho phép dựng bất kỳ một vǎn bản XML phức tạp nào và việc thao tác dữ liệu chính là thao tác với các node tương ứng của cây

SAX sử dụng kiểu xử lý hướng sự kiện (event), khác với DOM là dựng cây model trước tiên rồi mới cho phép thao tác dữ liệu SAX xử lý ngay khi đọc vǎn bản và tạo ra các object tương ứng (custom object) để chứa dữ liệu, quá trình lặp lại cho đến khi kết thúc vǎn bản Mọi thứ được giải phóng trừ các objects mới được tạo ra đã chứa toàn bộ

dữ liệu của vǎn bản XML Với những vǎn bản đơn giản và chỉ đọc một lần mà không cần cập nhật thì SAX là lựa chọn đầu tiên vì nó nhanh hơn rất nhiều so với DOM Mặc dù SAX và DOM có chung một mục đích là truy cập thông tin trong vǎn bản XML nhưng mỗi pháp pháp có một cách tiếp cận riêng và sử dụng phương pháp nào cho hiệu quả lại phụ thuộc vào từng hoàn cảnh cụ thể

Trang 31

Sau đây, là một số kỹ thuật được sử dụng trong mội trường Visual Studio.NET để

làm việc với tập tin XML

2.2.8.1 Đọc và phân tích tài liệu XML

2.2.8.1.1 Sử dụng lớp XMLTextReader

Lớp XMLTextReader cung cấp một cursor được sử dụng để lấy dữ liệu từ một tài

liệu XML Chúng ta khai báo như sau:

XmlTextReader myRdr = new XmlTextReader(Server.MapPath("catalog2.xml"));

Khi một thể hiện được tạo ra, con trỏ cursor sẽ được đặt ở đầu tài liệu Chúng ta có thể

sử dụng phương thức Read() để lấy những phần dữ liệu một cách tuần tự Mỗi phần dữ

liệu tương tự như một nút trong cây XML Thuộc tính NodeType sẽ lấy kiểu của phần

dữ liệu, thuộc tính Name sẽ lấy tên của nút, và Value sẽ lấy giá trị của nút Vì thế, khi

một phần dữ liệu được đọc, chúng ta có thể sử dụng câu lệnh sau để hiện thị tên, giá trị

và kiểu của nút

Response.Write(myRdr.NodeType.ToString() +" " + myRdr.Name + ":" + myRdr.Value);

Nếu muốn kiểm tra nút đó có thuộc tính hay không, chúng ta có thể sử dụng phương

thức HasAttributes Nếu giá trị trả về của phương thức HasAttributes là true, chúng ta

áp dụng phương thức MoveToAttribute(i) để lặp qua các thuộc tính của nút

Bên cạnh XMLTextReader thì mô trường Visual Studio.NET cũng hỗ trợ mô hình

DOM (Document Object Module) để đọc và trình bày nội dung của một tập tin XML

Việc sử dụng mô hình DOM sẽ thông qua một số đối tượng như XMLDocument,

XMLDataDocument Khi một XMLDocument được tạo ra, nó tổ chức nội dung của một

tập tin XML thành một cây Trong khi đối tượng XMLTextReader cung cấp một cursor

định vị theo một hướng, thì XMLDocument cung cấp việc truy xuất nhanh và trực tiếp

đến một nút Tuy nhiên, việc sử dụng mô hình DOM rất tốn bộ nhớ để lưu trữ thành một

cây, và thật sự sẽ khó khăn khi tài liệu XML có kích thước lớn Có nhiều cách khác

nhau để tạo một đối tượng XMLDocument Sau đây chúng ta sử dụng đối tượng

XMLTextReader để tạo một XMLDocument

private void Page_Load(object sender, System.EventArgs e)

{

if(!Page.IsPostBack)

{

XmlDocument myDoc = new XmlDocument();

XmlTextReader myRdr = new

XmlTextReader(Server.MapPath("Catalog2.xml"));

Trang 32

myDoc.Load(myRdr);

Session("sessionDoc") = myDoc;

//khi cây được tạo ra, chúng ta có thể hiển thị lênlistbox

//với thuộc tính InnerText của những node ProductName

int i=0;

for(i=0;i<myDoc.DocumentElement.ChildNodes.Count-1;i++)

{

lstProducts.Items.Add (myDoc.DocumentElement

Trang 33

Mô hình DOM trong NET 2.2.9 Nhận xét về XML

XML được xây dựng như là một chuẩn cho việc trình bày và trao đổi dữ liệu trên web Tập đoàn W3C đã xây dựng chuẩn XML và những công nghệ liên quan bao gồm XML DOM, XPath, XSL, và XML Schema Trong đó XML DOM được sử dụng để tạo, thay đổi, và duyệt qua tài liệu XML Xpath là ngôn ngữ dùng để truy vấn trên tài liệu XML XSL dùng để chuyển đổi tài liệu XML từ dạng này sang dạng khác XML Schema định nghĩa cấu trúc và kiểu dữ liệu cho những nút trong một tài liệu XML Tất

cả những công nghệ này đã tạo nên sức mạnh cho XML Vì thế, XML ngày nay đang được sử dụng rất phổ biến và tương lai sẽ là một chuẩn duy nhất được dùng trên web

XML không phải là:

• XML không là ngôn ngữ lập trình

Không có một trình biên dịch nào có thể đọc tập tin XML và tạo ra mã co thể thực thi được Có lẽ chúng ta có thể định nghĩa một ngôn ngữ kịch bản, ngôn ngữ đó sử dụng định dạng mã máy XML, và được thông dịch bằng một chương trình nhị phân, nhưng các chương trình này sẽ hiếm khi được sử dụng XML có thể được sử dụng như một dạng chỉ dẫn cho những chương trình, giống như các chương trình truyền thống có thể đọc một tập tin văn bản config và thực thi những hành động khác nhau phụ thuộc và những gì mà nó đọc được trong tập tin config Gần đây nhiều chương trình đang bắt đầu sử dụng những tập tin XML config

• XML không phải là giao thức truyền tải trên mạng (network transport

protocol)

XML sẽ không gửi dữ liệu qua mạng Dữ liệu gửi trên mạng thông qua giao thức HTTP, FTP, NFS hoặc một số giao thức khác có thể ngẫu nhiên được mã hóa bằng định dạng XML

• XML không là cơ sở dữ liệu

Việc XML có phải là cơ sở dữ liệu hay không là một câu hỏi mà nhiều nguời không trả lời được Vì XML cũng giống như mọi ngôn ngữ khác đó là nó cũng có ưu điểm

và khuyết điểm Ưu điểm của XML như chúng ta đã biết ở trên nhưng khuyết điểm của XML ở đây là XML dài dòng và truy xuất chậm Việc truy xuất chậm là do việc lưu trữ tài liệu XML trong bộ nhớ để phục vụ cho vấn đề truy vấn như chúng ta đã

đề cập trong mô hình DOM Vì vậy, sau đây chúng ta sẽ quan tâm đến một khía cạnh khác của XML Đó là XML có gần gũi như một Cơ sở dữ liệu (CSDL) hay

Trang 34

không? Câu trả lời là “chỉ một phần nào” Vì XML cũng có một số điểm giống như CSDL Đó là nó cũng có khả năng lưu trữ, có hỗ trợ một số lược đồ như DTD, hay Schema (tương tự như bảng trong CSDL quan hệ) Và trên XML ta cũng có thể thực hiện thao tác truy vấn bằng cách sử dụng XPath, XQuery, XQL,…, và XML cũng

có hỗ trợ lập trình trên giao diện Nhưng một số vấn đề mà XML chưa hỗ trợ như một CSDL Đó là không có chỉ mục, vấn đề bảo mật không cao, tính toàn vẹn dữ liệu chưa đáp ứng, không hỗ trợ các trigger, việc truy cập đa người dùng cũng hạn chế, và cuối cùng là không cho truy vấn thông qua nhiều tài liệu Một cơ sở dữ liệu

có thể chưa dữ liệu XML, có thể như một VARCHAR hoặc như một số kiểu dữ liệu XML tùy chỉnh nhưng cơ sở dữ liệu không phải là một tài liệu XML Chúng ta có thể lưu trữ dữ liệu XML vào trong cơ sở dữ liệu trên server hoặc nhận dữ liệu từ cơ

sở dữ liệu in định dạng XML, nhưng để làm được như vậy, chúng ta cần một phần mềm được viết bằng ngôn ngữ lập trình như là C, C++,C# hay Java… Để lưu trữ XML trong cơ sở dữ liệu, phần mềm ở phía client sẽ gửi dữ liệu tới server sử dụng một giao thức mạng nhu là TCP/IP Phần mềm phía server sẽ nhận dữ liệu XML, phân tích nó, và lưu trữ vào cơ sở dữ liệu.Để nhận một tài liệu XML từ một cơ sở dữ liệu, chúng ta sẽ cần một phần mềm trung gian (middleware) như Enhydra, phần mềm này sẽ thực hiện các truy vấn SQL trên cơ sở dữ liệu và đưa ra tập kết quả theo định dang XML trước khi trả về cho client Một số cơ sở dữ liệu có thể tích hợp mã lệnh phần mềm này vào server của họ hoặc cung cấp plug-ins để xử lý XML là một dạng thức chuyển tải độc lập hệ thống nền, tuy nhiên việc lưu trữ dữ liệu XML như một cơ sở dữ liệu là không khả thi

2.3 DTD (Document Type Definition)

DTD là từ viết tắt của Document Type Definition – định nghĩa kiểu tư liệu Định nghĩa kiểu tư liệu DTD làm cho tài liệu XML trở nên hợp khuôn dạng và có giá trị

2.3.1 Tạo khai báo và định nghĩa kiểu tư liệu DTD:

2.3.1.1 Chỉ thị bắt đầu khai báo DTD:

Cách khai báo DTD phụ thuộc vào khái niệm standalone trong chỉ thị xml đầu tiên Khái niệm này cho ta biết định nghĩa kiểu tư liệu DTD trong tài liệu XML được định nghĩa ở đâu (nằm trong tài liệu XML hay nằm bên ngòai) Cụ thể:

Có nhiều mẫu khai báo, nhưng để bắt đầu ta dùng thẻ <!DOCTYPE>

<!DOCTYPE rootname [DTD] > Đây là tham chiếu nội

<!DOCTYPE rootname SYSTEM URL> Đây là tham chiếu ngoại riêng tư, URL

được dùng để tham chiếu đến các DTD ngoại

<!DOCTYPE rootname SYSTEM URL

[DTD]> Tham chiếu nội kết hợp với tham chiếu ngọai riêng tư

<!DOCTYPE rootname PUBLIC FPI

URL>

Tham chiếu ngoại dùng chung, URL được dùng để tham chiếu đến các DTD ngoại

Trang 35

<!DOCTYPE rootname PUBLIC FPI URL

[DTD] > Tham chiếu nội kết hợp với tham chiếu ngọai dùng chung

∗ Chú ý: nếu 1 phần tử được định nghĩa trong tài liệu cục bộ và trong file tham chiếu

ngoại thì về mặt lý thuyết định nghĩa nội bộ sẽ được ưu tiên trước Nhưng thực tế các trình kiểm tra đều báo lỗi khi phát hiện có 2 định nghĩa trùng nhau

2.3.1.2 Khai báo Element:

Sau khi khai báo phần bắt đầu của kiểu tư liệu, ta định nghĩa các kiểu tư liệu cho

phần tử thẻ bằng khai báo <!ELEMENT> Cú pháp:

<!ELEMENT NAME CONTENT_MODEL>

Name Tên của phần tử muốn định nghĩa Content_Model Dạng nội dung trong phần tử Name Nó có

thể là EMPTY, ANY, các phần tử con hoặc dữ liệu văn bản thô…

Trong Content_Model ta có thể định nghĩa nội dung mà nó chứa có thể bắt buộc xuất hiện hoặc không, hoặc có thể xuất hiện nhiều lần bằng cách dùng ký tự *, +, ?, |

a* Không có hoặc có nhiều phần tử a giống nhau

a+ Có ít nhất 1 phần tử a

a? Có 1 phần tử a hoặc không có phần tử a nào hết

a,b Phần tử b sẽ xuất hiện ngay sau phần tử a

a|b Lựa chọn 1 trong hai phần tử a hoặc b

Các khái niệm trong Content_Model:

- ANY: cho biết phần tử khai báo có thể chứa bất kỳ kiểu nội dung nào và sẽ

không bị kiểm tra bởi trình phân tích

- Danh sách các phần tử con: cho biết phần tử mà bạn khai báo có chứa những phần tử con khác Ví dụ: <!ELEMENT DOCUMENT (CUSTOMER)*>

- #PCDATA: chỉ biễu diễn dữ liệu thô ( có thể là số nguyên hoặc số chấm động

nhưng phải ở dạng text)

- Làm việc với nhiều phần tử con: ta sử dụng ký tự đại diện cho phép làm việc và

khao báo sử dụng nhiều phần tử con

- DTD sequences: trong 1 phần tử để liệt kê các phần tử con xuất hiện tuần tự, ta

sử dụng kí tự “,” Và trong phần khai báo, khỏang trắng không quan trọng

- Nhóm 1 tập các định nghĩa DTD con bằng “ () ”

2.3.2 Định nghĩa DTD ngoại:

Mục đích là định nghĩa DTD cho phần tử thẻ dựa trên phần định nghĩa sẵn từ các XML trước đó Ngòai ra, nó sẽ giúp cho các ứng dụng có thể dễ dàng chia sẻ Định nghĩa DTD ngoại có 2 cách: private DTDs và public DTDs ( tham chiếu ngoại dùng riêng và tham chiếu ngoại dùng chung)

Để sử dụng tham chiếu ngoại ta cần khai báo standalone = “no” trong chỉ thị khai báo xml đầu tiên

<?xml version = "1.0" standalone="no"?>

Trang 36

2.3.2.1 Sử dụng DTD với URL:

Thông thường trình phân tích sẽ tìm các file tham chiếu ngoại trong thư mục cùng cấp với file tài liệu XML Nhưng để mở rộng hơn, bạn có thể sử dụng DTD của 1 tổ chức hay cá nhân nào đó ở bất cứ đâu trên thế giới bằng cách chỉ định file tham chiếu ngoại theo địa chỉ tuyệt đối URL và có khai báo với tư cách là tham chiếu ngọai dùng chung Ví dụ:

<!DOCTYPE DOCUMENT SYSTEM

"http://www.starpowder.com/dtd/order.dtd">

Tham chiếu ngoại riêng dùng cho 1 nhóm người họăc mang tính cá nhân – không dùng cho mục đích dùng chung Khai báo và định nghĩa tham chiếu ngoại ta dùng từ khóa SYSTEM trong chỉ thị khai báo <!DOCTYPE>.Cú pháp:

<!DOCTYPE rootname SYSTEM URL>

Tương tự cú pháp của tham chiếu ngọai dùng riêng, nhưng ta thay SYSTEM thành PUBLIC và thêm khái nhiệm FPI Cú pháp:

<!DOCTYPE rootname PUBLIC FPI URL>

Trong đó, FPI có 4 trường, và FPI có những quy tắc sau:

- Trường thứ nhất: xác định kết nối của DTD đến 1 formal standard (chuẩn hình

thức) Nếu là tài liệu thì trường này sẽ là ký tự “-” Đối với DTD không đúng chuẩn thì ta dùng ký tự “+” Đối với formal standard, trường này sẽ tham chiếu đến chuẩn của nó ( như ISO/IEC : 13449:2000)

- Trường thứ hai: chứa tên của cá nhân hoặc nhóm sẽ chịu trách nhiệm bảo trì và

nâng cấp định nghĩa DTD Và tên này phải là duy nhất và dễ định danh ra nhóm

đó

- Trường thứ ba: chỉ định kiểu của tài liệu được mô tả, và có kèm theo 1 số định

danh duy nhất như version 1.0, nó gồm cả số phiên bản mà bạn cập nhật

- Trường thứ tư: chỉ định ngôn ngữ mà định nghĩa DTD sử dụng

- Các trường này được phân cách bằng dấu “//”

2.3.3 Thực thể

Thực thể là cách thức tham chiếu đến một mục dữ liệu Thực thể thường là text (văn bản) nhưng cũng có thể là dữ liệu nhị phân Có 2 lọai thực thể: general entity ( thực thể tổng quát), parameter entity (thực thể tham số) Tham chiếu thực thể tổng quát bắt đầu bằng “&” và kết thúc bằng “;”, còn tham chiếu thực thể tham số thì bắt đầu bằng “%”

và kết thúc bằng “,” Cách thức làm việc của thực thể như sau: khi bộ xử lý phân tích tài liệu XML nó sẽ thay thế các tham chiếu thực thể bằng thực thể tương ứng mà ta định nghĩa

Thực thể có thể được định nghĩa trong tài liệu XML được gọi là thực thể nội, còn thực thể được định nghĩa từ một nguồn dữ liệu bên ngòai thì được gọi là thực thể ngoại Một số thực thể được định nghĩa sẵn trong XML:

Trang 37

- Thực thể tổng quát không sử dụng để chèn nội dung văn bản trong định nghĩa

DTD

- Ta có thực thể tổng quát nội và ngoại Thực thể tổng quát nội có cú pháp:

<!ENTITY NAME DEFINITION>

Còn thực thể tổng quát ngoạit thì có cú pháp sau:

<!ENTITY NAME SYSTEM URI>

<!ENTITY NAME PUBLIC FPI URI>

- Ta có thể định nghĩa các thực thể của riêng mình tham chiếu đến những ký tự do

ta qui định(xác định chính xác mã ký tự muốn sử dụng) họăc định nghĩa lại cá thực thể định nghĩa sẵn như &lt; , &gt; , &quot; …

- Thực thể tham số được dùng trong bản thân các khai báo DTD

- Thực thể tham số cũng có 2 dạng Thực thể tham số nội có cú pháp:

<!ENTITY %NAME DEFINITION>

Thực thể tham số ngoại thì có cú pháp sau:

<!ENTITY % NAME SYSTEM URI>

<!ENTITY % NAME PUBLIC FPI URI>

- Có 2 chỉ thị thường đựơc sử dụng với thực thể tham số: INCLUDE, IGNORE

ATTRIBUTE_NAME TYPE DEFAULT_VALUE

ATTRIBUTE_NAME TYPE DEFAULT_VALUE

ATTRIBUTE_NAME TYPE DEFAULT_VALUE

TYPE Kiểu của thuộc tính DAFAULT_VALUE Giá trị mặc định mà

thuộc tính đựơc gán

Các kiểu dữ liệu:

CDATA Dữ liệu ký tự đơn giản không gồm

phần định dạng

<!ATTLIST CUSTOMER TYPE CDATA #IMPLIED>

Trang 38

<CUSTOMER TYPE =

"excellent">

ENTITIES Tham chiếu các thực thể, cho phép

gán nhiều thực thể vào thuộc tính và các thực thể cách nhau bằng khoảng trắng

<!ATTLIST CUSTOMER IMAGES ENTITIES #IMPLIED>

<!ENTITY SNAPSHOT1 SYSTEM

ENTITY Tên của một thực thể <!ATTLIST CUSTOMER

IMAGE ENTITY #IMPLIED>

<!ENTITY SNAPSHOT1 SYSTEM

"image.gif">

<CUSTOMER IMAGE="SNAPSHOT1">

Enumerated Đại diện cho danh sách các giá trị

mà thuộc tính có thể được gán

<!ATTLIST CUSTOMER CREDIT_OK (TRUE | FALSE)

#REQUIRED>

<CUSTOMER CUSTOMER_ID =

"C1232231">

IDREF Cho phép xác định thông tin về

quan hệ giữa các phần tử trong tài liệu và nó nắm giữ giá trị ID của các phần tử khác

<!ATTLIST CUSTOMER CUSTOMER_ID ID #REQUIRED EMPLOYER_ID IDREF

#IMPLIED>

… <CUSTOMER CUSTOMER_ID =

NMTOKEN Yêu cầu dữ liệu phải đặt đúng tên

theo qui tắc đặt tên của XML và không có khoảng trắng

<!ATTLIST CUSTOMER SHIP_STATE NMTOKEN

NMTOKENS Tương tự như NMTOKEN nhưng

cho phép giá trị của thuộc tính là một chuỗi gồm nhiều token và chuỗi các token này phân cách nhau bằng khoảng trắng

<!ATTLIST CUSTOMER CONTACT_NAME NMTOKENS

#IMPLIED>

<CUSTOMER CONTACT_NAME =

"George Starr">

NOTATION Kiểu dữ liệu ghi nhớ Cú pháp:

<!NOTATION NAME SYSTEM

"EXTERNAL_ID">

<!NOTATION GIF SYSTEM

"image/gif">

<!NOTATION JPG SYSTEM

Trang 39

"image/jpeg">

<!ATTLIST CUSTOMER IMAGE NMTOKEN #IMPLIED

IMAGE_TYPE NOTATION (GIF | JPG) #IMPLIED>

<CUSTOMER IMAGE="image.gif" IMAGE_TYPE="GIF">

Các thiết lập cho DEFAULT_VALUE:

VALUE Chuỗi giá trị văn bản thô

#IMPLIED Chỉ định rằng ko có giá trị mặc định cho

thuộc tính, và thuộc tính này không nhất thiết phải xuất hiện

#REQUIRED Chỉ định rằng ko có giá trị mặc định cho

thuộc tính, nhưng sử dụng phần tử DTD liên quan đến thuộc tính có DEFAULT_VALUE này phải luôn gán giá trị

#FIXED VALUE Có giá trị bắt buộc và cố định, không thể

gán một giá trị nào khác cho thuộc tính ngòai giá trị đã chỉ định

2.3.5 Nhúng dữ liệu phi XML vào tài liệu:

Để khai báo thực thể có khả năng tham chiếu đến nguồn dữ liệu nhị phân từ bên ngòai,

ta dùng cú pháp:

<!ENTITY NAME SYSTEM VALUE NDATA TYPE>

NDATA Dữ liệu thực thể đang tham chiếu thuộc

IMAGES ENTITIES #IMPLIED>

<!ENTITY SNAPSHOT1 SYSTEM "image.gif" NDATA GIF>

<!ENTITY SNAPSHOT2 SYSTEM "image2.gif" NDATA GIF>

<!ENTITY SNAPSHOT3 SYSTEM "image3.gif" NDATA GIF>

Trang 40

khó viết và khó hiểu Vì vậy, việc sử dụng DTD để kiểm tra sự hợp lệ của một tài liệu XML là không khả thi Chúng ta cần có một sự lựa chọn khác khả thi hơn để kiếm tra

sự hợp lệ của tài liệu XML Đó là chúng ta sử dụng lược đồ XML - Schema XML Definition (XSD)

<xsd:schema id="Catalog" targetNamespace="http://tempuri.org/Catalog1.xsd" xmlns="http://tempuri.org/Catalog1.xsd” xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" attributeFormDefault="qualified" elementFormDefault="qualified">

<xsd:element name="Catalog" msdata:IsDataSet="true" msdata:EnforceConstraints="False">

<xsd:element name="ProductID" type="xsd:string" minOccurs="0" />

<xsd:element name="ProductName" type="xsd:string" minOccurs="0" />

<xsd:element name="ListPrice" type="xsd:string" minOccurs="0" />

bin.base64 Kiểu đối tượng nhị phân mã hóa theo chuẩn base64

bin.hex Kiểu hex

boolean Mang giá trị 0 hoặc 1.

Ngày đăng: 18/12/2015, 14:07

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[9] Chris Hart, John Kauffman, Dave Sussman, and Chris Ullman, Beginning ASP.NET 2.0, Wiley Publishing, 2006 Sách, tạp chí
Tiêu đề: Beginning ASP.NET 2.0
Tác giả: Chris Hart, John Kauffman, Dave Sussman, Chris Ullman
Nhà XB: Wiley Publishing
Năm: 2006
[1] Phạm Hữu Khang, C# 2005 Lập trình ASP.NET 2.0, Nhà xuất bản lao động xã hội, 2006 Khác
[2] Kỹ thuật lập trình ứng dụng C#.net tòan tập, Nhà xuất bản lao động xã hội , 2005 Khác
[3] Cát Văn Thành, XML-kỹ thuật tạo trang web, Nhà xuất bản thống kê Năm xuất bản: 2004 Khác
[4] Hoàng Thanh, XML cho người mới học, Nhà xuất bản thống kê, 2006 [5] Nguyễn Phương Lan, XML nền tảng và ứng dụng, Nhà xuất bản giáo dục, 2001 Khác
[6] Nguyễn Trường Sinh, Sổ Tay HTML &amp; JavaScript, Nhà xuất bản Lao động - Xã hội Khác
[8] Alex Homer, XMLIE 5 programmer's reference ,Wrox Press Publishing , 1999 Khác
[10] Robert J. Brunner, Inside XML, New Riders Publishing, 2001 [11] Eric van der Vlist, XML Schema, O'Reilly Publishing, 2002 Khác

HÌNH ẢNH LIÊN QUAN

2.1.2.4. Hình ảnh và âm thanh - TÌM HIỂU HTML và CÔNG NGHỆ XML xây DỰNG TRÌNH BIÊN DỊCH HTML SANG XML
2.1.2.4. Hình ảnh và âm thanh (Trang 15)
Bảng  Header - TÌM HIỂU HTML và CÔNG NGHỆ XML xây DỰNG TRÌNH BIÊN DỊCH HTML SANG XML
ng Header (Trang 19)
Sơ đồ thể hiện sự phân cấp giữa các kiểu dữ liệu. - TÌM HIỂU HTML và CÔNG NGHỆ XML xây DỰNG TRÌNH BIÊN DỊCH HTML SANG XML
Sơ đồ th ể hiện sự phân cấp giữa các kiểu dữ liệu (Trang 43)
Hình DOM - TÌM HIỂU HTML và CÔNG NGHỆ XML xây DỰNG TRÌNH BIÊN DỊCH HTML SANG XML
nh DOM (Trang 64)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w