Trang tài liệu XML

Một phần của tài liệu Sử dụng chuẩn thiết lập bài giảng và ứng dụng các công cụ để thiết kế bài giảng theo các chuẩn (Trang 56)

b. Mô hình dữ liệu SCORM RTE

2.5.2.Trang tài liệu XML

Một trang XML là một tập hợp các thẻ tuỳ theo người viết tự định nghĩa. Mặc dù chúng ta có thể đặt ra bao nhiêu thẻ cũng được, nhưng mỗi trang XML cần phải theo một số qui luật định trước để được xem là 1 trang chuẩn và thực thi được. Nếu một trang XML không chuẩn thì coi như không thực thi đuợc, không có chương trình xử lý nào sẽ chịu làm việc với dữ liệu bên trong của nó. Do đó một trang XML cần phải theo đúng các qui luật sau đây:

Trang XML phải bắt đầu bằng câu khai báo XML (XML declaration)  Mỗi bộ phận, gọi là "element" phải nằm giữa một cặp thẻ (Thẻ pair).  Nếu thẻ nào không chứa gì ở giữa thì phải chấm dứt bằng "/>".

 Một trang XML phải có một element độc nhất chứa tất cả các elements khác. Đó là gốc (root) của cây (tree) biểu diễn trang XML.

 Các cặp thẻ không được xen kẽ nhau.

Và thêm một vài qui luật về cách dùng các mẫu tự đặc biệt. Ngoài ra các Cặp thẻ phải đánh vần đúng y như nhau kể cả chữ hoa, chữ thường, (thí dụ: <STUDENT> và </Student> là bất hợp lệ) và tất cả giá trị các Attribute đều phải nằm giữa hai ngoặc kép (thí dụ: standalone=yes là không hợp lệ, phải dùng standalone="yes" mới được).

XML chứa các dữ kiện bằng cách dùng những cặp thẻ, nhưng tự nó không đòi hỏi các dữ kiện nào cần phải hiện diện hay chúng phải liên hệ với nhau như thế nào. Có một cách để thực hiện việc ấy là ghi vào phần đầu của một trang XML những qui luật ấn định các dữ kiện phải như thế nào để trang XML đuợc xem là có ý nghĩa. Tập hợp các qui luật ấy được gọi là Document Type Definition (DTD).

2.5.3. Định nghĩa kiểu tư liệu – DTD

Chúng ta đã đề cập đến cấu trúc tài liệu XML hợp khuân dạng ở phần trước. Tuy nhiên, tài liệu XML còn cần phải hợp lệ khi định nghĩa kiểu tư liệu (DTD) cho các phần tử trong tài liệu. Tài liệu XML được xem là hợp lệ và có giá trị khi toàn bộ các phần tử trong tài liệu đã định nghĩa kiểu mà nó sẽ chứa. Việc định nghĩa kiểu dữ liệu cho các phần tử thẻ gọi là định nghĩa kiểu tư liệu, viết tắt là DTD.

Cú pháp tổng quát định nghĩa và khai báo kiểu tư liệu cho các phần tử thẻ như sau:

<!DOCTYPE rootName [DTD]>

Trong đó rootName là tên thành phần gốc tài liệu, DTD là các định nghĩa cho phần tử trong tài liệu, nó có thể là định nghĩa nội hoặc ngoại. Sau đây ta sẽ xét cụ thể từng trường hợp.

a. Định nghĩa DTD nội

Các phần tử trong [DTD] theo cú pháp trên đều nằm trong tài liệu. Mỗi phần tử được định nghĩa bằng thẻ khai báo <!ELEMENT> theo cú pháp sau:

<!ELEMENT Name Content_Model>

Trong đó Name là tên phần tử muốn định nghĩa, Content –Model có thể đặt là EMPTY (thành phần không chứa gì cả) hay ANY (chứa tổ hợp thành phần và văn

bản không xác định) hoặc chứa cả hai nội dung (bao gồm dữ liệu có thể dùng phân tích hoặc các phần tử con khác).

Sau đây là một số cụ thể hoá nội dung của phần tử:  Phần tử chứa các phần tử con, ví dụ:

<!ELEMENT canbo (hoten, ngaysinh, gioitinh, khoa)>

Phần tử chứa dữ liệu văn bản : Tất cả dữ liệu thô không thuộc phần định dạng được tham chiếu đến bởi định nghĩa #PCDATA (Parsed Character Data). Cú pháp định nghĩa như sau:

<!ELEMENT Name (#PCDATA)>

Trong đó Name là tên phần tử cần định nghĩa.  Phần tử chứa nội dung lựa chọn:

Cú pháp khai báo:

<!ELEMENT Name (Name1Name2)>

Có nghĩa là phần tử Name hoặc chứa thành phần Name1 hoặc chứa thành phần Name2.

Phần tử chứa nhiều phần tử con giống nhau : Định nghĩa DTD sử dụng 3 ký tự đại diện qui định số phần tử con giống nhau mà một phần tử chứa. Đó là các ký tự: *, + và ?.

b. Định nghĩa DTD ngoại

Trong trường hợp tài liệu XML hiện tại có sử dụng các phần tử thẻ đã được định nghĩa trong các tài liệu XML trước đó (các định nghĩa DTD xây dựng sẵn thường chứa trong các tệp .dtd), ta phải sử dụng định nghĩa DTD ngoại theo cú pháp sau:

<!DOCTYPE rootName SYSTEM URL [DTD]>

Hoặc

<!DOCTYPE rootName PUBLIC FPI URL [DTD]>

Trong đó: rootName là tên phần tử gốc của tài liệu XML đang xét, SYSTEM là từ khoá áp dụng cho tham chiếu ngoại riêng, nếu không chỉ ra đường dẫn thì trình phân tích sẽ tìm các tệp tham chiếu trong thư mục hiện hành cùng cấp với tệp tài liệu này. Ta cũng có thể chỉ định tệp tham chiếu ngoại là một tài liệu có thể truy xuất theo địa chỉ tuyệt đối URLs trên Internet. (adsbygoogle = window.adsbygoogle || []).push({});

Nếu sử dụng từ khoá PUBLIC trong định nghĩa DTD ngoại thì các phần tử DTD có thể được dùng chung cho nhiều tài liệu. Tuy nhiên, cần phải tạo ra một định dạng chung hình thức FPI (Formal Public Identifier) và tuân theo các qui tắc áp dụng cho FPI.

Hơn nữa, ta cũng có thể kết hợp cả định nghĩa DTD nội và định nghĩa DTD ngoại bằng cách: URL chỉ tệp .dtd tham chiếu ngoại, còn trong [DTD] được sử dụng cho định nghĩa DTD nội.

c. Thực thể và thuộc tính DTD

Thực thể (entity) là cách XML tham chiếu đến một mục dữ liệu, thường là văn bản (text) hoặc cũng có thể là dữ liệu nhị phân. Thực thể được khai báo trong phần định nghĩa DTD, sau đó được sử dụng bằng cách tham chiếu đến nó trong tài liệu. Có hai loại thực thể: thực thể tổng quát (general entity) và thực thể tham số (parameter entity). Thực thể có thể là nội (được định nghĩa hoàn toàn trong tài liệu tham chiếu đến nó) hoặc là ngoại (nội dung của nó được định nghĩa từ nguồn dữ liệu bên ngoài, thường được tham chiếu bằng địa chỉ URL hoặc URI).

Thực thể có thể ở dạng phân tích hoặc không phân tích. Với thực thể phân tích, nội dung của nó phải hợp khuôn dạng văn bản của XML. Còn với thực thể không phân tích, nội dung của nó gồm các dữ liệu text hoặc nhị phân mà người sử dụng không muốn trình phân tích XML phân tích chúng.

d. Không gian tên của XML. Lược đồ XML

Vì XML cho phép ta định nghĩa và đặt tên thẻ tuỳ theo mục đích sử dụng nên có khả năng hai ứng dụng khi cần tích hợp với nhau sẽ có chung tên thẻ. Lúc đó cần phân biệt không gian tên của các thẻ (để phân biệt tên thẻ thuộc ứng dụng nào).

Không gian tên (namespace) được nhận diện qua địa chỉ URL. Để tạo không gian tên cho thẻ, ta đưa thuộc tính xmlns:prefix=”URL” vào phần tử gốc. Trong đó prefix là bí danh của không gian tên, không gian tên là định danh URLs duy nhất. Sau đó, mọi thành phần khác trong tài liệu đều gắn liền với không gian tên theo cú pháp: <prefix:eName> với thẻ mở và </prefix:eName> với thẻ đóng.

Do tính phức tạp của khai báo DTD mà người ta đã tìm ra giải pháp khai báo và định nghĩa các phần tử trong tài liệu XML theo lược đồ XML (XML Schema). Tuy không đơn giản hơn định nghĩa DTD nhưng lược đồ XML tỏ ra mạnh mẽ và chính xác hơn.

Trong phần này ta tìm hiểu về lược đồ XML theo mô hình cài đặt của W3C. (Thực tế, XML là đặc tả mới phát triển sau này nên cài đặt lược đồ đầy đủ nhất là IE của Microsoft. Tuy nhiên IE mới chỉ cài đặt một số đặc tả do W3C qui định)

Lược đồ là tài liệu XML thuần văn bản với phần mở rộng .xsd theo cấu trúc sau: <?xml version=”1.0”?> <xsd:schema xmlns:xsd="http://www.w3.org/1999/XMLSchema"> ... </ xsd:schema>

Để có thể sử dụng tệp lược đồ cho tài liệu XML trong IE (Internet Explorer), ta tham chiếu đến tệp lược đồ (filename.xsd) như sau:

<? xml version=”1.0”?>

<rootName xmlns=”x-schema: filename.xsd”> ....

</rootName>

W3C cho phép khai báo không gian tên cho tài liệu XML tham chiếu đến tệp lược đồ (filename.xsd): <? xml version=”1.0”?> <rootName xmlns=”URL”> ... </ rootName> e. So sánh DTD và XML Schema

Cả DTD và XML Schema đều thực hiện nhiều vai trò khác nhau trong một ứng dụng XML như: làm tài liệu, kiểm tra tính hợp lệ, soạn thảo và sinh mã.

Đặc tả DTD gần như là một tập con của chuẩn SGML trước đó, bao gồm cả những giới hạn của nó. Các DTD không thể dễ dàng kết hợp với không gian tên và tiềm năng kiểu dữ liệu bị hạn chế. Mặt khác, các DTD dễ dàng để phát triển các ứng dụng nhỏ và được trợ giúp bởi nhiều công cụ phần mềm.

XML Schema bao gồm ngôn ngữ định nghĩa kiểu dữ liệu phong phú, cải thiện sự chính xác của định nghĩa từ vựng và tính hợp lệ của tài liệu. Cả giá trị thuộc tính và nội dung phần tử XML đều có thể được kiểm tra tính hợp lệ theo cùng một kiểu định nghĩa kiểu dữ liệu.

XML Schema cho phép định nghĩa kiểu đơn giản và kiểu phức hợp. Khả năng này cung cấp sự phù hợp khái niệm với tính kế thừa của các lớp trong UML tốt hơn khả năng của DTD.

2.5.4. Một số đánh giá về XML

Qua một số vấn đề vừa xem xét ở trên về ngôn ngữ XML, có thể rút ra một vài nhận xét đánh giá về XML như sau:

Điểm mạnh nhất của ngôn ngữ XML là cho phép tự định nghĩa các thành phần thẻ tuỳ theo mục đích sử dụng. Người ta có thể tạo ra các ngôn ngữ định dạng tuỳ biến dựa trên XML. Thực tế đã ra đời nhiều ngôn ngữ định dạng chuyên dụng dựa trên XML như: Định dạng trao đổi viễn thông (TIM – Telecommunication Interchange Markup), Ngôn ngữ định dạng dữ liệu sản phẩm (PDML – Product Data Markup Language), Trao đổi dữ liệu tài chính (IFX – Financial Exchange),...

Trong XML, dữ liệu và định dạng được lưu ở dạng text nên có thể dễ dàng cấu hình và thay đổi chúng bằng các trình soạn thảo thông thường. Mặt khác, do XML là dạng text nên có thể được truyền trên Web giống như HTML qua sử dụng HTTP mà không cần thay đổi mạng máy tính.

XML cung cấp cách lưu dữ liệu hiệu quả bằng việc kết hợp XML với định dạng CSS làm cho dung lượng tệp giảm đáng kể so với các tệp dữ liệu được lưu bằng các ứng dụng của Microsoft.

Dữ liệu trong tài liệu XML tự mô tả nội dung và ý nghĩa của nó. Dựa vào tên thẻ được đặt cho phần tử, ta có thể hình dung ra nội dung và cách dữ liệu muốn thể hiện.

XML không chỉ cho phép lưu dữ liệu vào tệp XML dựa trên thẻ mà còn tổ chức dữ liệu theo cấu trúc. XML cho phép các phần tử thẻ tích hợp với nhau tạo nên một cấu trúc dữ liệu phân cấp hoàn chỉnh.

Dữ liệu XML được phân tích, soạn thảo, thao tác đơn giản cùng với các phép toán được thực thi tại máy khách. XML theo mô hình DOM cho phép dữ liệu được thao tác với các lệnh scripting hoặc các ngôn ngữ lập trình khác.

Bên cạnh một số ưu điểm nêu trên thì XML vẫn còn một số nhược điểm như: Tài liệu XML bắt buộc phải hợp khuôn dạng và hợp lệ để trình duyệt có thể hiểu được. Trong HTML, ta có thể viết các thẻ HTML hỗn tạp không cần quan tâm

đến lỗi cú pháp vì trình duyệt sẽ chịu trách nhiệm phân tích thẻ và loại bỏ những thẻ không hợp lệ. Nhưng tài liệu viết bằng XML thì không được chấp nhận nếu ta viết sai cú pháp và trình duyệt sẽ không phân tích tài liệu cho đến khi tài liệu hoàn toàn đúng khuôn dạng và cú pháp. (adsbygoogle = window.adsbygoogle || []).push({});

XML là ngôn ngữ văn bản nên khi cần xử lý một dữ liệu kiểu số thì XML không thể sử dụng được kiểu nhị phân mà phải dùng một chuỗi ký tự để mô tả cho số đó.

XML không phải là ngôn ngữ xử lý dữ liệu mà chỉ là ngôn ngữ để tạo nên cấu trúc và mô tả dữ liệu nên tự XML không thể xây dựng nên ứng dụng.

Chương 3

CÀI ĐẶT CÔNG CỤ TRỢ GIÚP THIẾT KẾ BÀI GIẢNG

Hiện nay ở một số trường Đại học đã xây dựng những mô hình bài giảng điện tử, chủ yếu là số hóa bài giảng nhằm xây dựng kho dữ liệu trực tuyến. Nhờ chúng mà giáo viên và sinh viên có thể cập nhập thông báo về chương trình học, trao đổi thông tin nhanh chóng. Đó là một hướng đi đúng đắn, theo kịp với trào lưu kĩ thuật số của thời đại.

Tuy nhiên trong thời kì hiện nay, khi E-learning đang trở nên phổ dụng, các chuẩn E-learning cũng từng bước được hoàn thiện. Tính phức tạp của hệ thống E- learning cũng được tăng lên. Chúng ta cũng không chỉ dừng lại ở việc số hóa bài giảng mà còn cần sắp xếp những bài giảng đó thành những khóa học E-learning thực sự, có cấu trúc, trước mắt là nhắm hỗ trợ tối đa cho những bài giảng trên lớp học.

3.1. Lựa chọn mô hình và công cụ thiết kế bài giảng

Có rất nhiều mô hình thiết kế bài giảng như đã nêu ở trên, vấn đề đặt ra cho người thiết kế bài giảng là lựa chọn cho mình mô hình phù hợp nhất, làm sao để truyền đạt được đúng nội dung và đối tượng học, nhất là với việc thiết kế bài giảng theo chuẩn trong E-learning.

Ta sẽ đi so sánh giữa các mô hình thiết kế bài giảng như đã nêu trong bảng 2.1 để từ đó lựa chọn được mô hình phù hợp nhất với tình hình sử dụng và phát triển E-learning của các hệ thống E-learning của chúng ta hiện nay, đặc biệt là cơ sở nơi tác giả đang công tác

Từ bảng 2.1 ở chương 2 có thể thấy rằng mỗi cấu trúc bài học đều có các điểm mạnh và điểm yếu khác nhau, đều phù hợp cho các hoàn cảnh cụ thể. Cấu trúc bài học được cho là hấp dẫn và tối ưu nhất là cấu trúc bài học được phát sinh. Tuy nhiên đi kèm với những ưu điểm, cấu trúc bài học này lại rất khó xây dựng. Bên cạnh đó, cấu trúc bài học kiểu kiến thức từng bước cũng có các ưu điểm lớn và lập trình khá đơn giản, lại có tính hiệu quả cao, phù hợp với nhiều môn học, cho phép truyền tải thông tin đến nhiều đối tượng. Người học có thể đi theo từng bước hoặc có thể bỏ qua những giai đoạn không cần thiết. Lúc bắt đầu hoặc cuối mỗi bài giảng có thể thêm các bài kiểm tra và phân loại sinh viên.

Với các lý do trên, tác giả quyết định thử nghiệm xây dựng chương trình học theo cấu trúc bài học kiểu kiến thức từng bước. Cách thiết kế bài giảng này rất phù hợp và dễ dàng trong việc thiết kế theo các chuẩn thiết kế từng bước như: đặc tả, môđul, vv... .

Môn học tác giả chọn là môn học lập trình hướng đối tượng với C++. Môn học này được chú trọng giảng dạy tại trường Đại học Công nghiệp Hà Nội trong học kì V của năm thứ 3. Các bài giảng được đưa vào chương trình học là các bài giảng được số hóa và sẽ đưa lên website để sinh viên tham khảo trước khi vào học thực tế trên lớp.

3.1.1. Công cụ trợ giúp thiết kế bài giảng eXe

Công cụ trợ giúp thiết kế bài giảng sẽ được lựa chọn để thực hiện thiết kế bài giảng theo các chuẩn được giới thiệu ở trên sẽ là eXe. Dự án eXe (http://exE- learning.org/) phát triển môi trường soạn bài giảng off-line (ngoại tuyến, tức là không cần kết nối vào mạng Internet) để trợ giúp giáo viên và các học giả trong việc xuất bản nội dung Web mà không cần có các kiến thức về HTML hoặc XML. Dự án được tài trợ bởi Tertiary Education Commission của New Zealand và được điều hành bởi Đại học Công nghệ Auckland và Tairawhiti Polytechnic. Đây là công cụ được sử dụng phổ biến hiện nay trong các hệ thống E-learning của Việt Nam cũng như trên thế giới.

Như ở trên đã giới thiệu, mục đích ra đời của eXe là hỗ trợ giáo viên tạo bài giảng. Mặc dù đã có nhiều công cụ soạn bài giảng, tuy nhiên mức độ dễ sử dụng chưa đạt được yêu cầu cần thiết. Dự án nhận thấy cần có một công cụ dễ sử dụng, ngoại tuyến và sau đó có thể đưa vào hệ thống quản lý học tập.

Một phần của tài liệu Sử dụng chuẩn thiết lập bài giảng và ứng dụng các công cụ để thiết kế bài giảng theo các chuẩn (Trang 56)