Tải bản đầy đủ (.pdf) (109 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.85 MB, 109 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
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
XML

GVHD: TS. NGUYỄN VĂN HIỆP
SVTH : NGUYỄN KHÁNH NGỌC
MSSV : 10366056

NIÊN KHÓA 2003 – 2007


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.

Tp. Hồ Chí Minh, tháng 12 năm 2007
Sinh viên thực hiện
Nguyễn Khánh Ngọc


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.



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.......................................................................................
4.2. Chức năng quản lý file......................................................................................
4.3. Chức năng quản lý thư mục.............................................................................
4.4. Chức năng sọan thảo HTML ...........................................................................
4.4.1 Soạn thảo bằng văn bản thuần túy .............................................................
4.4.2 Soạn thảo một cách trực quan ....................................................................

65
65
65
65
65
65



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 ..........................................................................................................
6.1.1. Về mặt nghiên cứu lý thuyết.....................................................................
6.1.2. Về mặt ứng dụng.......................................................................................
6.2. Hướng phát triền ............................................................................................

103
103
103

103

TÀI LIỆU THAM KHẢO.......................................... 104


Tìm hiểu HTML và XML, xây dựng trình biên dịch HTML sang XML

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
1.2.2. Về mặt ứng dụng:
• Dựa vào kiến thức về HTML và XML đã tìm hiểu, xây dựng trình biên dịch
HTML sang XML
• Xây dựng trình soạn thảo HTML một cách trực quan.
• Xây dựng trình duyệt HTML và XML.


Trang 1


Tìm hiểu HTML và XML, xây dựng trình biên dịch HTML sang XML

Chương 2: Kiến Thức Nền Tảng
2.1. HTML
2.1.1. Lịch sử phát triển:

1989: Tim Berners-Lee phát minh ra Web và sử dụng HTML làm ngôn ngữ xuất
bản.
World Wide Web được bắt đầu tại CERN.Thật ngạc nhiên CERN lại là địa điểm
cho các nhà vật lý học trên khắp thế giới gặp nhau để bàn luận.
Tim Berners-Lee là người phát minh ra Web. Vào năm 1989, Tim hình thành khái
niệm Web khi đang làm việc ở bộ phận bảo dưỡng máy tính của CERN. Ông không thể
lường trước sự phát triển mạnh mẽ của web. Quá trình nghiên cứu vật lý là sự cộng tác
giữa nhiều học viện trên thế giới. Tim có ý tưởng cho phép các nhà nghiên cứu từ
những nơi xa xôi trên thế giới có thể tổ chức và đóng góp thông tin với nhau. Nhưng
đơn giản chỉ là tổ chức một lượng lớn tài liệu nghiên cứu như các tập tin để mọi người
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 2


Tìm hiểu HTML và XML, xây dựng trình biên dịch HTML sang XML
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 3


Tìm hiểu HTML và XML, xây dựng trình biên dịch HTML sang XML
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 4


Tìm hiểu HTML và XML, xây dựng trình biên dịch HTML sang XML
ả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 BernersLee 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 5


Tìm hiểu HTML và XML, xây dựng trình biên dịch HTML sang XML

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 6


Tìm hiểu HTML và XML, xây dựng trình biên dịch HTML sang XML
• 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: Những nhà cung cấp trình duyệt (vendor) thống nhất lại
tạo thành một nhóm mới để phát triển một chuẩn HTML
Vào tháng 11, 1995 Dave Raggett kêu gọi những người đại diện cho các công ty

trình duyệt gặp nhau để chuẩn hóa HTML. Lou Montulli từ Netscape, Charlie Kindel từ
Microsoft, Eric Sink từ Spyglass, Wayne Gramlich từ Sun Microsystems, Dave Raggett,
Tim Berners-Lee và Dan Connolly từ the W3 Consortium, and Jonathan Hirschman từ
Pathfinder đã triệu tập gần Chicago và đưa ra các quyết định hiệu quả cho HTML.
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 7


Tìm hiểu HTML và XML, xây dựng trình biên dịch HTML sang XML
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 8



Tìm hiểu HTML và XML, xây dựng trình biên dịch HTML sang XML
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>
Title

<TITLE> </TITLE>

Header

<HEAD> </HEAD>

Thẻ gốc, bắt đầu và kết thúc
tài liệu
Thẻ tiều đề, phải đặt ở đầu
trang
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>

Italic
<I> </I>
Underline
<U> </U>
Strikeout
<STRIKE> </STRIKE>
Strikeout
<S> </S>
Subscript
<SUB> </SUB>
Superscript

<SUP> </SUP>

Typewriter

<TT> </TT>

Width
Center

<PRE WIDTH=#> </PRE>
<CENTER> </CENTER>

Blinking

<BLINK> </BLINK>

Font Size


<FONT SIZE=?> </FONT>

In đậm văn bản
In nghiêng văn bản
Gạch dưới văn bản
Gạch bỏ văn bản
Gạch bỏ văn bản
Chỉ sổ dưới, giống như
chú thích cuối trang
Chỉ số trên, giống như
những số tham khảo chéo
Hiển thị kiểu chử điện báo
Chiều rộng của các ký tự
Canh giữa văn bản và hình
ảnh
Chữ nhấp nháy, chỉ dành
cho Netscape
Cỡ chữ cục bộ(từ 1-7)

Change
Font <FONT SIZE="+|-?"> </FONT>
Size
Font Color
COLOR="#$$$$$$">
</FONT>
Select Font
<FONT FACE="***"> </FONT>

Điều khiển cỡ chữ xuất ra


Point size

<FONT POINT-SIZE=#> </FONT>

Điều khiển màu sắc xuất
ra
Loại văn bản như là Time
New Roman
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=#>

Marquee

<MARQUEE> </MARQUEE>

Kích cỡ của font (từ 1->7,
mặc dịnh là 3)
Chữ chạy (chỉ dành cho
IE)


2.1.2.3. Các thẻ liên kết
Link
<A HREF="URL"> </A>
Something

Liên kết văn bản và hình ảnh
đến một URL

Trang 9


Tìm hiểu HTML và XML, xây dựng trình biên dịch HTML sang XML
Link
to <A HREF="URL#***"> </A>
Location
Link
to <A HREF="#***"> </A>
Location
in
Current Page
Target Window HREF="URL"
TARGET="***"> </A>

Liên kết văn bản và hình ảnh
tới một neo trong tài liệu
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
Liên kết văn bản và hình ảnh

tới URL,mở ra trong cửa sổ
mới
Action
on HREF="URL" Có hiệu ứng khi người dùng
Click
ONCLICK="***"> </A>
click vào liên kết
Mouseover
HREF="URL" Có hiệu ứng khi người dùng trỏ
Action
ONMOUSEOVER="***"> </A>
chuột vào liên kết
Mouse
out HREF="URL" Có hiệu ứng khi người dùng di
Action
ONMOUSEOUT="***"> </A>
chuyển chuột ra khỏi liên kết
Link to Email
<A HREF="mailto:@"> </A>
Liên kết tới một email, tạo một
email trống
Define
<A NAME="***"> </A>
ấn định tên của neo và vị trí của
Location
nó trong tài liệu
2.1.2.4. Hình ảnh và âm thanh

Display
<IMG SRC="URL">
Image
Alignment
SRC="URL"
ALIGN=
TOP|BOTTOM|MIDDLE|LEFT|RIG
HT>
Alternate
<IMG SRC="URL" ALT="***">
Dimensions
Dimensions
%
Border
Image map
Movie Clip
Background
Sound
Embed
Object
Object Size

Hiển thị hình ảnh từ URL được
chỉ định
Canh lề hình ảnh

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ị

HEIGHT=?>
ảnh, theo pixel
HEIGHT=%>
ảnh so với trang
<IMG SRC="URL" BORDER=?>
Đường viền bao quanh hình ảnh,
theo pixel
<IMG SRC="URL" ISMAP>
Liên kết của một phần hình ảnh
(cần một script)
DYNSRC="***" Chèn một Movie Clip
START="***" LOOP=?>
SRC="***" chèn sound clip
LOOP=?|INFINITE>
<EMBED SRC="URL">
chèn object vào trang

HEIGHT=?>
đượ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 10


Tìm hiểu HTML và XML, xây dựng trình biên dịch HTML sang XML
Align Text
Justify Text
Line Break
Horizontal
Rule
Alignment

ALIGN=LEFT|CENTER|RIGHT>
</P>
<P ALIGN=JUSTIFY> </P>
<BR>
<HR>

Canh lề paragraph
Canh đều văn bản trong đoạn
Một phím xuống dòng
Một đường ngang

Thickness


ALIGN=LEFT|RIGHT|CENTER>
<HR SIZE=?>

Canh lề đường ngang

Width

<HR WIDTH=?>

Width
Percent
Solid Line

<HR WIDTH="%">

Độ dày theo pixel của đường
ngang
Chiều rộng theo pixel của đường
ngang
Chiều rộng(theo phần trăm),

<HR NOSHADE>

Đường ngang không có 3D

No Break
Word Break

<NOBR> </NOBR>

<WBR>

Không cho xuống dòng
Nơi xuống dòng nếu cần

2.1.2.6. Các thẻ cấu trúc
Heading
Division
Defined
Content
Block Quote

<H?> </H?>
<DIV> </DIV>
<SPAN> </SPAN>

Đầu trang tài liệu(1->6)
Chứa kiểu
Chứa kiểu

Quote
Emphasis
Strong
Emphasis
Citation
Code
Sample Output
Keyboard Input

<BLOCKQUOTE>

</BLOCKQUOTE>
<Q> </Q>
<EM> </EM>
<STRONG> </STRONG>

Khối trích dẫn dài, thường được
thụt lề
Trích dẫn ngắn
In nghiêng văn bản
In đậm văn bản

<CITE> </CITE>
<CODE> </CODE>
<SAMP> </SAMP>
<KBD> </KBD>

Variable
Definition
Address

<VAR> </VAR>
<DFN> </DFN>
<ADDRESS> </ADDRESS>

In nghiêng
Dùng cho danh sach mã lệnh
Xuất chương trình mẫu
Văn bản nên được gõ bởi người
dùng
Biến của chương trình

Sự định nghĩa
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 11


Tìm hiểu HTML và XML, xây dựng trình biên dịch HTML sang XML
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

2.1.2.7. Các thẻ background
Tiled
Background
Watermark
Background
Color
Text Color

BACKGROUND=
"URL">
BGPROPERTIES=
"FIXED">
BGCOLOR=
"#$$$$$$">
<BODY TEXT="#$$$$$$">

Link Color

<BODY LINK="#$$$$$$">

Visited Link

<BODY VLINK="#$$$$$$">

Active Link


<BODY ALINK="#$$$$$$">

2.1.2.8. Các thẻ tạo danh sách
Unordered <UL> <LI> </UL>
List

Tạo ảnh nền cho trang
ảnh tĩnh
Màu nền thuần nhất của trang
Màu của văn bản xuyên suốt
trong trang
Màu của những liên kết trong
trang
Màu của những liên kết đã dược
click
Của liên kết khi đang được chọn

Danh sách với những mục
được đánh dấu

Trang 12


Tìm hiểu HTML và XML, xây dựng trình biên dịch HTML sang XML
List Item

<LI> </LI>

Bullet Type <UL TYPE=DISC|CIRCLE|SQUARE>

Bullet Type <LI TYPE=DISC|CIRCLE|SQUARE>
Ordered
List
Numbering
Type
Numbering
Type
Starting
Number
Starting
Number
Definition
List
Definition
Term
Definition
Menu List
Directory
List

ấn định một mục trong danh
sách
Hình dạng của của bullet

<OL> <LI> </OL>

Hình dạng của của bullet
cho danh sách cụ thể
Danh sách được đánh số


<OL TYPE=A|a|I|i|1>

Loại số

<LI TYPE=A|a|I|i|1>

Loại số cho danh sách cụ thể

<OL START=?>

Số bắt đầu của danh sách

<LI VALUE=?>
<DL> </DL>

Số bắt đầu và những mục
theo sau
Danh sách của sự định nghĩa

<DT> </DT>

Giới hạn định nghĩa

<DD> </DD>
<MENU> </MENU>
<DIR> </DIR>

Sự định nghĩa một giới hạn
Biểu diễn một thực đơn
Liên kết thư mục


2.1.2.9. Các thẻ tạo table và frame
2.1.2.9.1. Các thẻ tạo table
Tables
Define
Table
Table
Alignment
Table
Border
Table
Border
Cell
Spacing
Cell
Padding
Desired
Width
Width
Percent
Table
Color

<TABLE> </TABLE>

Báo hiệu bắt đầu một bảng

ALIGN= Canh lề bảng trong trang
LEFT|RIGHT|CENTER>

<TABLE BORDER> </TABLE>
Bật tắt chế độ đường viền
của bảng
<TABLE BORDER=?> </TABLE>
Thiết lập độ dày cho đường
viền
<TABLE CELLSPACING=?>
Quy định khoảng không
gian cụ thể cho giữa các ô
trong bảng
<TABLE CELLPADDING=?>
Quy định khonag3 không
gian cụ thể giữa đường viền
và nội dung văn bản
<TABLE WIDTH=?>
Chiều rộng của bảng theo
pixel
<TABLE WIDTH=%>
Chiều rộng của bảng theo
phần trăm của trang
BGCOLOR="#$$$$$$"> Màu nền của bảng
</TABLE>

Trang 13


Tìm hiểu HTML và XML, xây dựng trình biên dịch HTML sang XML
Table
Frame


|BELOW
|HSIDES
|LHS
|RHS|VSIDES|BOX|BORDER>
</TABLE>
Table
Rules
ROWS|COLS|ALL> </TABLE>
Border
<TABLE BORDERCOLOR="#$$$$$$">
Color
</TABLE>
Table Row <TR> </TR>
Alignment MIDDLE| BOTTOM>
Table Cell <TD> </TD>

Điều khiển đường viền bao
bên ngoài cạnh được hiển thị
như thế nào
Điều khiển hiển thị đường
ngang và đường dọc
Màu của đường viền
Hàng của bảng
Canh lề

Ô cụ thể, phải hiển thị trong

hàng
Alignment
VALIGN= TOP|MIDDLE|BOTTOM>
No Line <TD NOWRAP>
Không xuống dòng trong ô
Breaks
Columns
<TD COLSPAN=?>
Xác định số cột để mở rộng
to Span
Rows to <TD ROWSPAN=?>
Xác định số dòng để mở
Span
rộng
Desired
<TD WIDTH=?>
Chiều rộng của ô
Width
Width
<TD WIDTH="%">
Chiều rộng của ô theo phần
Percent
trăm
Cell Color <TD BGCOLOR="#$$$$$$">
Màu nền của một ô trong
bảng
Header
<TH> </TH>
Thông tin đầu trang
Cell

Alignment
MIDDLE|BOTTOM>
No Line <TH NOWRAP>
Không được xuống dòng
Breaks
Columns
<TH COLSPAN=?>
Xác định số cột để mở rộng
to Span
Rows to <TH ROWSPAN=?>
Xác định số dòng để mở
Span
rộng
Desired
<TH WIDTH=?>
Chiều rộng theo pixel
Width
Width
<TH WIDTH="%">
Chiều rộng theo phân trăm
Percent
của bảng
Cell Color <TH BGCOLOR="#$$$$$$">
Màu nền
Table
<TBODY>
ấn định khu vực body của
Body
bảng
Table

<TFOOT> </TFOOT>
Chia một nhóm ô để đảm
Footer
trách như là footer

Trang 14


Tìm hiểu HTML và XML, xây dựng trình biên dịch HTML sang XML
Table
Header

<THEAD> </THEAD>

Chia một nhóm ô để đảm
trách như là header

Table
Caption

<CAPTION> </CAPTION>

Phụ đề cho bảng

Alignment

ALIGN=TOP|BOTTOM|LEFT|RIGHT>

Canh lề phụ đề cho bảng


Column

<COL> </COL>

Thuộc tính nhóm cột

Columns
Spanned

<COL SPAN=?> </COL>

ấn định số cột được mở rộng

Column
Width

<COL WIDTH=?> </COL>

Chiều rộng cột theo pixel

Width
Percent

<COL WIDTH="%"> </COL>

Chiều rộng cột theo phần
trăm của bảng

Group

Columns

<COLGROUP> </COLGROUP>

Cấu trúc nhóm cột

Columns
Spanned

<COLGROUP SPAN=?> </COLGROUP>

ấn định những cột được mở
rộng trong cấu trúc cột được
nhóm

Group
Width

</COLGROUP>

WIDTH=?> ấn định cột, chiều rộng của
nhóm cột theo pixel

Width
Percent

</COLGROUP>


WIDTH="%"> ấn định cột, chiều rộng của
nhóm cột theo phần trăm

2.1.2.9.2 Các thẻ tạo frame
Frame
Document
Row Heights

Column
Widths
Borders
Border Width

<FRAMESET> </FRAMESET>

Tạo những bố trí của frame

</FRAMESET>

ROWS=,,,> Danh sách dấu phẩy để chỉ
kích thước hàng trong
frameset theo pixel hoặc
phần trăm
COLS=,,,> Danh sách dấu phẩy để chỉ
</FRAMESET>
kích thước cột trong
frameset theo pixel hoặc
phần trăm

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


Tìm hiểu HTML và XML, xây dựng trình biên dịch HTML sang XML

Frame
Spacing

</FRAMESET>
Màu của đường viền
BORDERCOLOR="#$$$$$$">
</FRAMESET>
<FRAMESET FRAMESPACING=?> Số pixel của khoảng trắng
</FRAMESET>
giữa các frame

Define Frame

<FRAME>

Đặc tả nội dung của frame

Display

Document
Frame Name

<FRAME SRC="URL">

Ấn định nội dung của frame

Border Color

Margin Width
Margin
Height
Scroll bar
Not
sizable

_parent|_top>
hành
<FRAME MARGINWIDTH=?>
Khoảng cách giữa nội dung
và lề trái phải của frame
<FRAME MARGINHEIGHT=?>

SCROLLING="YES|NO|AUTO">
Re- <FRAME NORESIZE>

Borders
Border Color

Unframed
Content
Inline Frame
Dimensions
Dimensions

FRAMEBORDER="yes|no">
BORDERCOLOR="#$$$$$$">
<NOFRAMES> </NOFRAMES>

Khoảng cách giữa nội dung
và lề trên dưới của frame
Ấn định frame có thanh
scroll bar hay không
Không cho phép thay đổi
kích thước của frame

<IFRAME> </IFRAME>

ấn định frame có đường viền
hay không
Màu của đường viền của
frame
Cho những trình duyệt
không có frame
Cửa sổ phụ bên trong


WIDTH=?
HEIGHT=?> </IFRAME>
WIDTH="%"
HEIGHT="%"> </IFRAME>

Kích thước cửa sổ phụ theo
pixel
Kích thước cửa sổ phụ theo
phần trăm

2.2. Công nghệ XML
2.2.1. Lịch sử phát triển
Năm 1969, IBM đã cho ra đời ngôn ngữ đánh dấu đầu tiên của mình với tên gọi
Generalized Markup Language (GML). GML là một ngôn ngữ tự đặc tả sử dụng cho
việc đánh dấu cấu trúc của một tập dữ liệu nhất định đồng thời GML được định hướng
để 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 16


Tìm hiểu HTML và XML, xây dựng trình biên dịch HTML sang XML
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 17


Tìm hiểu HTML và XML, xây dựng trình biên dịch HTML sang XML
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 18



Tìm hiểu HTML và XML, xây dựng trình biên dịch HTML sang XML
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.
2.2.4.2. Lợi ích khi sử dụng XML

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. Sau đây là một số lợi ích khi
sử dụng XML:
• XML có thể tách rời dữ liệu. Sử dụng XML, dữ liệu được chứa trong các tập tin
XML riêng biệt.
• XML có thể mô tả thông tin của những đối tượng phức tạp mà cơ sở dữ liệu
quan hệ không thể giải quyết được.
• 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ỳ texteditor 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 19


Tìm hiểu HTML và XML, xây dựng trình biên dịch HTML sang XML


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 20