Giáo trình Môn học Lập trình Web nâng cao (XML) - Trường Cao đẳng Nghề Đà Lạt

Giáo trình Lập trình Web nâng cao (XML) từ Cao đẳng Nghề Đà Lạt cung cấp kiến thức chuyên sâu về XML, ứng dụng trong phát triển web hiện đại. Nâng cao kỹ năng

Chuyên ngành

Thiết kế trang web

Tác giả

Phạm Đình Nam

Người đăng

Ẩn danh

Thể loại

Giáo trình

2019

255
1
0

Phí lưu trữ

55 Point

Tóm tắt

I. Tổng quan về giáo trình lập trình web nâng cao XML

Giáo trình lập trình web nâng cao XML là tài liệu đào tạo được biên soạn theo Thông tư số 03/2017/TT-BLĐTBXH của Bộ Lao động – Thương binh và Xã hội. Giáo trình thuộc chương trình đào tạo nghề Thiết kế trang web trình độ cao đẳng tại Trường Cao đẳng Nghề Đà Lạt. Nội dung tập trung vào việc tích hợp ứng dụng trên môi trường web dựa vào công nghệ XML. XML (eXtensible Markup Language) là ngôn ngữ đánh dấu mở rộng, cho phép định nghĩa các thẻ riêng phù hợp với nhu cầu lưu trữ và trao đổi dữ liệu. Giáo trình cung cấp kiến thức từ cơ bản đến nâng cao, bao gồm tổng quan về XML, cách xây dựng ứng dụng web theo hướng dựa vào XML, các chủ đề phát triển ứng dụng tích hợp trên nhiều nền tảng và mối liên hệ giữa XML với .NET. Người học cần có nền tảng về HTML, XML cơ bản và kỹ năng lập trình trước khi tiếp cận giáo trình này. Giáo trình sử dụng công cụ Microsoft Visual Studio làm môi trường phát triển chính.

1.1. Cấu trúc và nội dung chính của giáo trình

Giáo trình được chia thành bốn bài học chính. Bài 1 trình bày tổng quan về tích hợp ứng dụng trên web dựa vào XML, bao gồm khái niệm XML cơ bản và kỹ thuật parsing tài liệu XML. Bài 2 hướng dẫn xây dựng ứng dụng web theo hướng dựa vào XML, tập trung vào tích hợp mức cơ sở dữ liệu và phát triển giao diện người sử dụng. Bài 3 giới thiệu các chủ đề phát triển ứng dụng tích hợp trên nhiều nền tảng, trên hệ thống thông tin hiện hành và trên các dòng thiết bị khác nhau. Bài 4 làm rõ mối liên hệ giữa XML và .NET, giúp người học hiểu cách áp dụng XML trong môi trường lập trình Microsoft.

1.2. Đối tượng và điều kiện tiên quyết khi học

Giáo trình dành cho sinh viên ngành Thiết kế trang web trình độ cao đẳng. Đối tượng học viên cần đáp ứng các điều kiện tiên quyết trước khi tiếp cận nội dung nâng cao. Kiến thức nền tảng về HTML là bắt buộc, bao gồm cách xây dựng cấu trúc trang web cơ bản. Kỹ năng sử dụng XML ở mức cơ bản cũng cần thiết, bao gồm cú pháp khai báo, phần tử và thuộc tính. Ngoài ra, khả năng lập trình cơ bản giúp người học nắm bắt nhanh các kỹ thuật xử lý dữ liệu XML. Công cụ học tập chính là Microsoft Visual Studio, hỗ trợ phát triển và gỡ lỗi ứng dụng web hiệu quả.

II. Phân tích các vấn đề trong lập trình web nâng cao XML

Lập trình web nâng cao với XML đặt ra nhiều thách thức cho nhà phát triển. Vấn đề đầu tiên là khả năng tích hợp dữ liệu từ nhiều nguồn khác nhau vào ứng dụng web. Dữ liệu thường tồn tại ở nhiều định dạng, yêu cầu kỹ thuật chuyển đổi và đồng bộ phức tạp. Thứ hai, việc xây dựng ứng dụng web đa nền tảng đòi hỏi khả năng tương thích cao giữa các trình duyệt và thiết bị. Các lỗi phổ biến bao gồm sai cú pháp XML, lỗi namespace và xung đột schema. Thứ ba, hiệu suất xử lý tài liệu XML lớn là mối quan tâm hàng đầu. Parsing tài liệu XML có thể tiêu tốn tài nguyên hệ thống nếu không được tối ưu hóa đúng cách. Thứ tư, bảo mật dữ liệu XML trong quá trình truyền tải qua mạng là vấn đề nghiêm trọng. Các cuộc tấn công XML injection và XML bomb có thể gây hại cho hệ thống. Cuối cùng, việc duy trì và mở rộng ứng dụng tích hợp XML trên nhiều nền tảng đòi hỏi kiến thức chuyên sâu về kiến trúc phần mềm.

2.1. Thách thức trong tích hợp dữ liệu XML với cơ sở dữ liệu

2.2. Vấn đề tương thích đa nền tảng và thiết bị

III. Phương pháp và giải pháp lập trình web nâng cao XML

Giáo trình đề xuất nhiều phương pháp giải quyết các vấn đề trong lập trình web nâng cao XML. Phương pháp đầu tiên là sử dụng XSL (eXtensible Stylesheet Language) để chuyển đổi tài liệu XML sang HTML hiển thị trên trình duyệt. XSLT cho phép tách biệt dữ liệu và giao diện, tăng tính linh hoạt trong phát triển ứng dụng. Phương pháp thứ hai là áp dụng XSD (XML Schema Definition) để kiểm tra tính hợp lệ của dữ liệu XML. XSD định nghĩa cấu trúc, kiểu dữ liệu và ràng buộc cho tài liệu XML một cách chặt chẽ. Sử dụng DOM và SAX là hai kỹ thuật parsing XML phổ biến. DOM tải toàn bộ tài liệu vào bộ nhớ, phù hợp với tài liệu nhỏ. SAX xử lý sự kiện theo luồng, hiệu quả với tài liệu lớn. Việc áp dụng namespace giúp tránh xung đột tên khi tích hợp nhiều nguồn XML khác nhau. Các kỹ thuật tối ưu hóa như caching và lazy loading cải thiện hiệu suất đáng kể cho ứng dụng web xử lý dữ liệu XML quy mô lớn.

3.1. Kỹ thuật chuyển đổi XSLT và xây dựng giao diện

3.2. Xây dựng schema XML và quản lý dữ liệu

IV. Kết luận và ứng dụng thực tế của lập trình web XML

Giáo trình lập trình web nâng cao XML cung cấp nền tảng kiến thức vững chắc cho nghề Thiết kế trang web. Kiến thức về XML không chỉ dừng ở lý thuyết mà có ứng dụng thực tiễn rộng rãi trong phát triển phần mềm hiện đại. Các hệ thống quản lý nội dung (CMS) sử dụng XML để lưu trữ và phân phối dữ liệu. API web dựa trên XML như SOAP vẫn được sử dụng trong nhiều hệ thống doanh nghiệp. Công nghệ XML cũng đóng vai trò quan trọng trong các tài liệu kỹ thuật, hóa đơn điện tử và hệ thống tích hợp liên thông. Kỹ năng làm việc với XML, XSLT và XSD giúp nhà phát triển xử lý hiệu quả các bài toán dữ liệu phức tạp. Liên hệ giữa XML và .NET mở ra khả năng xây dựng ứng dụng web toàn diện trên nền tảng Microsoft. Tổng kết lại, giáo trình là tài liệu học tập có giá trị, trang bị cho người học đầy đủ kỹ năng cần thiết để phát triển ứng dụng web chuyên nghiệp trong thị trường lao động hiện nay.

4.1. Ứng dụng XML trong hệ thống doanh nghiệp

4.2. Hướng phát triển và cơ hội nghề nghiệp

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI. Nếu bạn thấy nội dung không chính xác hoặc có vấn đề, vui lòng Báo lỗi nội dung.

21/04/2026

Trích đoạn nội dung tài liệu

mở đầu. Dưới đây là một thí dụ có Processing Instruction trong đoạn mả đầu của một tài liệu XML: <?xml version="1.0" encoding="utf-8" standalone="yes"?> <Order> <OrderDate>2002-6-14</OrderDate> <Customer>Helen Mooney</Customer> <Item> <ProductID>1</ProductID> <Quantity>2</Quantity> </Item> <Item> <ProductID>4</ProductID> <Quantity>1</Quantity> </Item> </Order> Có một loại Processing Instruction khác cũng rất thông dụng là cho biết tên của stylesheet (kiểu dáng) của XML nầy, thí dụ như: <?xml-stylesheet type="text/xsl" href="order.xsl"?> Ở đây ta cho XML stylesheet parser biết rằng stylesheet thuộc loại text/xsl và nó được chứa trong file tên order. Chúng ta cũng có thể cho thêm chú thích bằng cách dùng cặp Tags <!-- và --> như sau: <?xml version="1.0" encoding="utf-8" standalone="yes"?> <!-- Below are details of a purchase order. --> <Order> <OrderDate>2002-6-14</OrderDate> <Customer>Helen Mooney</Customer> <Item> <ProductID>1</ProductID> <Quantity>2</Quantity> </Item> <Item> <ProductID>4</ProductID> <Quantity>1</Quantity> </Item> </Order> 6 Ngoài những vấn đề đề cập ở trên nhưng có một ý niệm rất quan trọng trong XML là Namespace (không gian tên).

Nó cho ta cách cùng một tên của phần tử để nói đến hai thứ dữ liệu khác nhau trong cùng một tài liệu XML. Giống như có hai học sinh trùng tên Tuấn trong lớp học, ta phải dùng thêm họ của chúng để phân biệt, ta gọi Tuấn Trần hay Tuấn Lê. Thí dụ như có một order được người ta đặt trong tiệm sách như sau: <?xml version="1.0"?> <BookOrder OrderNo="1234"> <OrderDate>2001-01-01</OrderDate> <Customer> <Title>Mr.</Title> <FirstName>Graeme</FirstName> <LastName>Malcolm</LastName> </Customer> <Book> <Title>Treasure Island</Title> <Author>Robert Louis Stevenson</Author> </Book> </BookOrder> Khi quan sát kỹ, ta thấy có thể có sự nhầm lẫn về cách dùng phần tử Title. Trong tài liệu có hai loại Title, một cái dùng cho khách hàng Customer nói đến danh hiệu Mr., còn cái kia để nói đến đề tựa của một quyển sách Book.

Để tránh sự lầm lẫn, chúng ta có thể dùng không gian tên để nói rõ tên phần tử ấy thuộc về giòng họ nào. Giòng họ ấy là một Universal Resource Identifier (URI). Một URI có thể là một URL hay một chỗ nào định nghĩa tính cách độc đáo của nó. Một không gian tên cũng không cần phải nói đến một địa chỉ Internet, nó chỉ cần phải là có một, không hai.

Chúng ta có thể khai báo các không gian tên trong một phần tử bằng cách dùng thuộc tính xmlns (ns trong chữ xmlns là viết tắt cho namespace) chúng ta cũng có thể khai báo một không gian tên mặc định để áp dụng cho những gì nằm bên trong một phần tử, nơi chúng ta khai báo không gian tên. Thí dụ cái tài liệu đặt hàng có thể được viết lại như sau: <?xml version="1.0"?> <BookOrder OrderNo="1234"> <OrderDate>2001-01-01</OrderDate> <Customer xmlns="http://www.com/customer"> <Title>Mr.</Title> <FirstName>Graeme</FirstName> <LastName>Malcolm</LastName> </Customer> <Book xmlns="http://www.com/book"> <Title>Treasure Island</Title> <Author>Robert Louis Stevenson</Author> </Book> </BookOrder> Ta đã tránh được sự nhầm lẫn vì bên trong Customer thì dùng namespace http://www.com/customer và bên trong Book thì dùng namespace http://www. Tuy nhiên, ta sẽ giải quyết làm sao nếu trong order có nhiều customer và nhiều book. Nếu cứ thay đổi không gian tên hoài trong tài liệu thì rất khó khăn.

Một cách giải quyết là khai báo chữ viết tắt cho các không gian tên ngay ở đầu tài liệu, trong phần tử góc (tức là phần tử tài liệu). Sau đó bên trong tài liệu ta sẽ sử dụng tiếp đầu ngữ cho các phần tử cần xác nhận không gian tên bằng chữ viết tắt của không gian tên của nó. Thí dụ như sau: <?xml version="1.0"?> <BookOrder xmlns="http://www.com/order" xmlns:cust="http://www.com/customer" xmlns:book="http://www.com/book" OrderNo="1234"> <OrderDate>2001-01-01</OrderDate> <cust:Customer> <cust:Title>Mr.</cust:Title> 7 <cust:FirstName>Graeme</cust:FirstName> <cust:LastName>Malcolm</cust:LastName> </cust:Customer> <book:Book> <book:Title>Treasure Island</book:Title> <book:Author>Robert Louis Stevenson</book:Author> </book:Book> </BookOrder> Trong tài liệu XML trên ta dùng 3 không gian tên và một không gian tên mặc định. Không gian tên http://www.com/order, namespace http://www.com/customer (viết tắt là cust) và namespace http://www.

Các phần tử và các thuộc tính không có tiếp đầu (tức là không có chữ tắt đứng trước) như BookOrder, OrderNo, và OrderDate, được coi như thuộc về không gian tên mặc định. Để đánh dấu một phần tử hay thuộc tính không thuộc về không gian tên mặc định, một chữ tắt, đại diện không gian tên sẽ được gắn làm tiếp đầu ngữ cho tên phần tử hay thuộc tính. Thí dụ như cust:LastName, book:Title. Trong tài liệu XML còn có CDATA, là khúc dữ liệu trong tài liệu XML nằm giữa <![CDATA[ và ]]>.

Dữ liệu nằm bên trong những CDATA được cho thông qua parser y nguyên, không bị sửa đổi. Điểm nầy rất quan trọng khi chúng ta muốn cho vào những dữ liệu có chứa những văn bản được xem như đánh dấu. Chúng ta có thể đặt những thí dụ cho XML trong những CDATA và chúng sẽ được parser bỏ qua. Khi dùng XSL stylesheets để transform một XML file thành HTML, có bất cứ scripting nào chúng ta cũng phải đặt trong những CDATA.

Dưới đây là các thí dụ dùng CDATA: <![CDATA[.place your data here.]]> <SCRIPT> <![CDATA[ function warning() { alert("Watch out!"); }]]> </SCRIPT> Dữ liệu trong XML không cho phép dùng một số ký hiệu đặc biệt. Do đó, XML yêu cầu chúng ta sử dụng một số cụm từ thay thế. Cụm từ Ý nghĩa &apos; dấu nháy trên &amp; dấu & &gt; dấu lớn hơn &lt; dấu nhỏ hơn &quot; dấu ngoặc kép Chúng ta đã thấy cấu trúc và cú pháp của XML tương đối đơn giãn. XML cho ta một cách chuẩn để trao đổi tin tức giữa các computers.

Bước tiếp theo là tìm hiểu cách nào một chương trình xử lý một tài liệu XML. Dĩ nhiên để xử lý một XML chương trình ứng dụng phải có cách đi lại bên trong tài liệu để lấy ra các giá trị của các phần tử hay thuộc tính. Do đó người ta thiết kế ra ngôn ngữ XML Path language, mà ta gọi tắt là XPath. XPath đóng một vai trò quan trọng trong công tác trao đổi dữ liệu giữa các computers hay giữa các chương trình ứng dụng vì nó cho phép ta lựa chọn hay lọc ra những tin tức nào mình muốn để trao đổi hay hiển thị.

Nếu khi làm việc với cơ sở dữ liệu ta dùng cấu câu lệnh SQL Select. from TableXYZ WHERE. để trích ra một số bản ghi từ một table, thì khi làm việc với XML, một table dữ liệu nho nhỏ, XPath cho ta những biểu thức về điều kiện giống giống như mệnh đề WHERE trong SQL. XPath là một chuẩn để xử lý XML, cũng giống như SQL là một chuẩn để làm việc với cơ sở dữ liệu.

Tiên phuông trong việc triển khai các chương trình áp dụng XPath là công tác của các công ty phần mềm lớn như Microsoft, Oracle, Sun, IBM, v. Sở dĩ ta cần có một 8 chuẩn XPath là vì nó được áp dụng trong nhiều hoàn cảnh, nên cần phải có một lý thuyết rõ ràng, chính xác. Lý thuyết về XPath hơi khô khan nhưng nó được áp dụng trong mọi kỹ thuật của gia đình XML. Cho nên chúng ta hãy kiên nhẫn nắm vững những điều căn bản về nó để khi nào gặp chỗ người ta dùng XPath thì mình nhận diện và hiểu được.

Chúng ta ta sẽ chỉ nghiên cứu những nội dung thường dùng trong XPath thôi, nếu chúng ta muốn có đầy đủ chi tiết về XPath thì có thể tham khảo chỉ định của nó tại địa chỉ http://www.org/TR/xpath. Một tài liệu XML như một cây đối với XPath XPath cho ta cú pháp để diễn tả cách đi lại trong XML. Ta coi một tài liệu XML như được đại diện bằng một tree (cây) có nhiều các nút. Mỗi phần tử hay thuộc tính là một nút.

Để minh họa ý niệm nầy, chúng ta hãy quan sát tài liệu đặt hàng (order) XML sau: <?xml version="1.0"?> <Order OrderNo="1047"> <OrderDate>2002-03-26</OrderDate> <Customer>John Costello</Customer> <Item> <Product ProductID="1" UnitPrice="70">Chair</Product> <Quantity>6</Quantity> </Item> <Item> <Product ProductID="2" UnitPrice="250">Desk</Product> <Quantity>1</Quantity> </Item> </Order> Ta có thể biểu diễn XML trên bằng một cây như dưới đây, trong đó nút phần tử màu nâu, nút thuộc tính màu xanh: 9 Chúng ta có thể dùng biểu thức XPath để chỉ định đường dẫn đến nút (nút) nào hay trích ra (trả về) một hay nhiều nút thỏa đúng điều kiện yêu cầu. Biếu thức XPath có thể là tuyệt đối, tức là lấy nút gốc làm chuẩn hay tương đối, tức là khởi đầu từ nút vừa mới được chọn. Nút ấy được gọi là context nút (nút vai chính trong tình huống). Có hai cách viết để diễn tả XPath, viết nguyên và viết tắt.

Trong cả hai cách ta đều dùng dấu slash (/) để nói đến phần tử tài liệu, tức là nút gốc. Ta có thể đi lại trong các nút của Tree giống như các nút của Windows System Directory mà ta thấy trong Panel bên trái của Window Explorer. Ta cũng sẽ dùng những ký hiệu như slash /, một chấm. và hai chấm.

của Windows System File Folder cho cách viết tắt trong XPath Location để đi xuống các các nút con, cháu, chỉ định context nút, hay đi ngược lên các các nút tổ tiên. Đường dẫn tuyệt đối Chúng ta hãy tìm vài location paths trong cái Tree của tài liệu XML về đặt hàng nói trên. Muốn chọn cái nút của Phần tử Order (nó cũng là Root Phần tử) bằng cú pháp nguyên, ta sẽ dùng XPath Biểu thức sau đây: /child::Order Dịch ra cú pháp tắt, Biểu thức nầy trở nên: /Order Đi ra nhánh của Tree, ta sẽ tìm được nút Customer bằng cách dùng XPath Biểu thức sau: /child::Order/child::Customer Sau đây là XPath Biểu thức viết tắt tương đương: /Order/Customer Nếu chúng ta muốn lấy ra một nút Thuộc tính, chúng ta phải nói rõ điều nầy bằng cách dùng từ chìa khóa (keyword) thuộc tính trong cách viết nguyên hay dùng character @ trong cú pháp tắt. Do đó để lấy thuộc tính OrderNo của phần tử Order, ta sẽ dùng XPath Biểu thức sau: /child::Order/thuộc tính::OrderNo Cú pháp tắt cho Thuộc tính OrderNo là: /Order/@OrderNo Để trích ra các các nút con cháu, tức là các các nút nhánh xa hơn, ta dùng keyword descendant trong cú pháp nguyên hay một double slash (//) trong cú pháp tắt.

Thí dụ, để lấy ra các các nút Product trong tài liệu, chúng ta có thể dùng Biểu thức location path sau: /child::Order/descendant::Product Cú pháp tắt tương đương là: /Order//Product Chúng ta cũng có thể dùng wildcards (lá bài Joker) để nói đến những các nút mà tên của chúng không thành vấn đề. Thí dụ, dấu asterisk (*) wildcard chỉ định bất cứ nút tên nào. Location path sau đây chọn tất cả các các nút con của Phần tử Order: /child::Order/child::* Cú pháp tắt tương đương là: /Order/* Đường dẫn tương đối: Nhiều khi XPath location paths là tương đối với context nút, trong trường hợp ấy location path diễn tả cách lấy ra một nút hay một số (set of) các nút tương đối với context nút. Thí dụ như, nếu Phần tử Item thứ nhất trong order là context nút, thì location path tương đối để trích ra Phần tử con Quantity là: child::Quantity Trong cú pháp tắt, location path tương đối là: Quantity Tương tự như vậy, để lấy ra Thuộc tính ProductID của Phần tử con Product, cái location path tương đối là: child::Product/thuộc tính::ProductID Biểu thức ấy dịch ra cú pháp tắt là: Product/@ProductID Để đi ngược lên phía trên của Tree, ta dùng keyword parent (cha).

Dạng tắt tương đương của keyword nầy là hai dấu chấm (.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ