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

Phần mềm soạn thảo và tổ chức ngân hàng câu hỏi cho trắc nghiệm theo chuẩn qti

73 9 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 73
Dung lượng 1,18 MB

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

Nội dung

Hầu hết các giáo viên soạn thảo dựa trên phần mềm soạn thảo có tên là MicroSoft Office, Phần mềm này có các chức năng hỗ trợ cho người dùng rất thuận lợi trong việc triển khai soạn thảo

Trang 1

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CNTT & TRUYỀN THÔNG

-  -

Đào Thị Hưng

PHẦN MỀM SOẠN THẢO VÀ TỔ CHỨC NGÂN HÀNG CÂU HỎI CHO

TRẮC NGHIỆM THEO CHUẨN QTI

Chuyên ngành: Khoa học máy tính

Mã số: 60.48.01

TÓM TẮT LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Thái Nguyên - 2013

Trang 2

LỜI CAM ĐOAN

Tôi xin cam đoan kết quả trong luận văn là sản phẩm của riêng cá nhân tôi Trong toàn bộ nội dung của luận văn, những điều được trình bày đều được tổng hợp từ nhiều nguồn tài liệu Tất cả các tài liệu tham khảo đều có xuất xứ

rõ ràng và được trích dẫn dưới sự hướng dẫn của PGS.TS Nguyễn Đình Hóa Tôi xin hoàn toàn chịu trách nhiệm theo quy định cho lời cam đoan của mình

Thái Nguyên, ngày tháng năm 2013

Người cam đoan

Đào Thị Hưng

Trang 3

MỤC LỤC

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT i

DANH MỤC CÁC HÌNH VẼ ii

MỞ ĐẦU 1

CHƯƠNG 1 CÔNG CỤ SOẠN THẢO CÂU HỎI VÀ BÀI THI TRẮC NGHIỆM THEO CHUẨN QTI 3

1.1 Chuẩn QTI đặc tả câu hỏi và bài thi trắc nghiệm 3

1.1.1 Giới thiệu chung về đặc tả QTI 3

1.1.2 Các đối tượng cơ bản trong đặc tả QTI 4

1.1.3 Các tài liệu trong đặc tả QTI 6

1.1.4 Ví dụ minh hoạ biểu diễn câu hỏi theo chuẩn QTI 7

1.2 Các dự án phát triển phần mềm soạn thảo câu hỏi theo chuẩn QTI 13

1.2.1 AquRate 13

1.2.2 AsDel (http://asdel.ecs.soton.ac.uk/ 14

1.2.3 Minibix 14

1.3 Các chức năng của phần mềm soạn thảo 14

1.3.1 Khái niệm 14

1.3.2 Nhập và lưu trữ văn bản 14

1.3.3 Sửa đổi cấu trúc văn bản 15

1.3.4 Trình bày văn bản 15

1.3.5 Một số chức năng khác 16

CHƯƠNG 2 MỘT SỐ VẤN ĐỀ LIEN QUAN ĐẾN NGÂN HÀNG CÂU HỎI VÀ BÀI THI TRẮC NGHIỆM THEO CHUẨN QTI 16

2.1 Cơ sở dữ liệu XML nguyên sinh eXist 16

2.1.1.Giới thiệu 16

2.1.2 Các bước cơ bản để triển khai eXist 17

2.2 Ngôn ngữ truy vấn Xquery 25

2.2.1 Giới thiệu 25

2.2.2 Biểu thức đường dẫn trong Xquery và quan hệ với XPath 27

2.2.3 Lặp theo Sequences 28

2.2.4 Các hàm trong Xquery 29

2.2.5 Sắp xếp và Context 30

Trang 4

2.2.6 Đặc tả kiểu 30

2.2.7 Các biểu thức FLWOR 31

2.3 Ứng dụng Web truy vấn dữ liệu XML bằng Xquery 38

2.3.1 Giới thiệu chung cơ sở dữ liệu XML 38

2.3.1.1 Khái quát 38

2.3.1.2 Ưu điểm của XML 39

2.3.1.4 Mối quan hệ giữa XML với SGML, HTML 40

2.3.1.5 Cú pháp của XML 41

2.3.2 Truy vấn dữ liệu XML 47

2.3.2.1 Ngôn ngữ truy vấn dựa khuôn mẫu 47

2.3.2.2 Ngôn ngữ truy vấn XML 49

2.3.3 Query 50

2.3.3.1 Tối ưu hóa truy vấn XQuery 50

2.3.3.2 Các truy vấn XML kiểu IR 51

2.3.3.3 Các truy vấn DB+IR 51

2.3.3.4 Các truy vấn chỉ IR 52

CHƯƠNG 3: XÂY DỰNG NGÂN HÀNG CÂU HỎI VÀ BÀI TRẮC NGHIỆM THEO CHUẨN QTI 54

3.1 Thiết kế ngân hàng câu hỏi và bài thi trắc nghiệm theo chuẩn QTI dựa trên cơ sở XML 54

3.1.1 Đặc tả yêu cầu chức năng của mô đun cho quá trình soạn thảo 54

3.1.2 Sơ đồ usecase của mô đun soạn thảo câu hỏi và tạo đề thi 55

3.1.3 Các dạng câu hỏi trắc nghiệm QTI có thể thực hiện 58

3.2 Triển khai phần mềm soạn thảo câu hỏi trắc nghiệm theo chuẩn QTI và kết nối với ngân hàng câu hỏi 60

3.3 Xây dựng ngân hàng câu hỏi thử nghiệm cho một số môn học tại trường Đại học Hải Phòng 60

3.3.1 Khảo sát hiện trạng tại khoa công nghệ thông tin - Đại học Hải Phòng 60

3.3.3 Kết quả chạy thử nghiệm 64

KẾT LUẬN 66

TÀI LIỆU THAM KHẢO 67

Trang 5

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

Tổ chức giáo dục toàn cầu IMS

Language

Ngôn ngữ đánh dấu mở rộng do W3C tạo ra

Consortium

Là một tổ chức công nghiệp quốc tế thành lập năm 1994 nhằm phát triển các giao thức chung để phát triển WWW

Language

Ngôn ngữ đánh dấu siêu văn bản

liệu

Trang 6

DANH MỤC CÁC HÌNH VẼ

Hình 3.4 Lược đồ tuần tự chọn dạng chuẩn để soạn thảo

và lưu câu hỏi trắc nghiệm

58

Trang 7

MỞ ĐẦU

Cùng với sự phát triển về máy tính, các phần mềm càng trở nên đa dạng, phong phú, hoàn thiện hơn và hỗ trợ hiệu quả hơn cho con người Ngày nay, các phần mềm mô phỏng nghiệp vụ phức tạp ngày càng nhiều, hỗ trợ cho người sử dụng một cách thuận tiện, thời gian xử lý công việc nhanh chóng và một số nghiệp vụ được tự động hóa cao

Một trong các phần mềm mà hỗ trợ cho công việc soạn thảo các đề thi trong công tác đào tạo của các trường đã được đơn giản hóa rất nhiều nhờ vào việc sử dụng phần mềm Tuy nhiên, một vấn đề làm mất không ít thời gian là nhập câu hỏi thi từ các câu hỏi mà giáo viên đề ra vào trong cơ sở dữ liệu qua các máy tính cá nhân chuyên dùng của giáo viên, hay qua kỳ thi hết học phần

và kết thúc năm học giáo viên rất vất vả trong việc soạn các câu hỏi thi

Hầu hết các giáo viên soạn thảo dựa trên phần mềm soạn thảo có tên là MicroSoft Office, Phần mềm này có các chức năng hỗ trợ cho người dùng rất thuận lợi trong việc triển khai soạn thảo ví dụ như nhập công thức toán, chèn các ký tự đặc biệt, chèn hình ảnh, âm thanh… Nhưng bên cạnh đó có một hạn chế nhất định cho người dùng là các câu hỏi khi soạn thảo không theo một dạng chuẩn nào cả, chỉ phân biệt được câu hỏi dễ, câu hỏi khó, ngoài ra các câu hỏi được lưu không đưa vào được trong tệp XML Xuất phát từ thực tế

đó, luận văn “Phần mềm soạn thảo và tổ chức ngân hàng câu hỏi cho bài thi

trắc nghiệm theo chuẩn QTI” có ý nghĩa thực tiễn cao

Mục đích của phần mềm này nhằm nghiên cứu việc triển khai công cụ soạn thảo kết hợp với tổ chức lưu trữ và tìm kiếm, mang lại thuận lợi cho người sử dụng Các tệp câu hỏi và bài thi theo chuẩn QTI là các tệp XML nên

có thể tìm kiếm nội dung khá hiệu quả nhằm hỗ trợ giáo viên trong quá trình giảng dạy là rất cần thiết Các câu hỏi đánh giá kiến thức và kỹ năng rất phong

Trang 8

phú và đa dạng, tuy nhiên có thể mô hình hóa và phân loại theo phương thức hỏi cũng như quy tắc xử lý đáp án một cách thống nhất

Với tiêu đề “Phần mềm soạn thảo câu hỏi và tổ chức ngân hàng câu hỏi

cho bài thi trắc nghiệm theo chuẩn QTI ”, đề tài nghiên cứu gồm 3 chương:

Chương 1: Công cụ soạn thảo câu hỏi và bài thi trắc nghiệm theo

chuẩn QTI

Chương 2: Một số vấn đề liên quan đến ngân hàng câu hỏi và bài thi

trắc nghiệm theo chuẩn QTI

Chương 3: Xây dựng ngân hàng câu hỏi và bài thi trắc nghiệm theo

chuẩn QTI

Trang 9

CHƯƠNG 1 CÔNG CỤ SOẠN THẢO CÂU HỎI VÀ BÀI THI TRẮC

NGHIỆM THEO CHUẨN QTI

1.1 Chuẩn QTI đặc tả câu hỏi và bài thi trắc nghiệm

1.1.1 Giới thiệu chung về đặc tả QTI

Tổ chức IMS Global đưa ra đặc tả có tên IMS QTI cho các câu hỏi và bài trắc nghiệm Đặc tả QTI (Question & Test Interoperability) là đặc tả tính hợp tác của ngân hàng câu hỏi và hệ thống trắc nghiệm được phát triển bởi tổ chức IMS Global Learning Consortium Đặc tả QTI được ra đời lần đầu tiên vào năm 1999 (version 0.5) và phiên bản cuối cùng (version 2.1) được đưa ra vào tháng 10 năm 2005 Đặc tả QTI mô tả cấu trúc cơ bản thể hiện dữ liệu câu hỏi (item data hay question data), dữ liệu bài thi trắc nghiệm (test data hay assessment data) và dữ liệu trong những báo cáo kết quả trắc nghiệm tương ứng Mỗi câu hỏi trắc nghiệm theo chuẩn QTI là một tệp XML đặc tả rõ nội dung và cách trình bày câu hỏi, đáp án đúng, cách xử lý đáp án của thí sinh,

do đó dễ dàng được chia sẻ dữ liệu giữa các hệ thống

Tương tự như chuẩn SCORM (Sharable Content Object Reference

Model) đối với hệ thống e-Learning nhằm chia sẻ dùng chung các tài nguyên đào tạo điện tử giữa các hệ thống khác nhau, các hệ thống tuân thủ đặc tả QTI

có thể trao đổi dữ liệu với nhau về câu hỏi, bài thi và các báo cáo kết quả Do

đó có thể dễ dàng sử dụng lại câu hỏi từ các ngân hàng câu hỏi khác nhau, dễ dàng chuyển đổi dữ liệu từ hệ thống đánh giá sang các hệ thống quản lý học tập (Learning Management Systems) và ngược lại

Cụ thể hơn, đặc tả QTI được thiết kế nhằm:

- Cung cấp một định dạng dữ liệu chuẩn cho phép lưu trữ các câu hỏi độc lập với công cụ tạo ra chúng;

Trang 10

- Dễ dàng tích hợp ngân hàng câu hỏi vào các hệ thống quản lý học tập (Learning Management Systems) hoặc hệ thống phân phối bài trắc nghiệm (Assessment Delivery System);

- Dễ dàng sử dụng các câu hỏi từ nhiều nguồn khác nhau, sử dụng lại hoặc chia sẻ ngân hàng câu hỏi;

- Cung cấp cho các hệ thống các mẫu báo cáo kết quả trắc nghiệm thống nhất Do đó, dễ dàng chuyển kết quả thi từ một hệ thống này vào hệ thống khác, chẳng hạn từ hệ thống trắc nghiệm vào một hệ thống quản lý sinh viên Đặc tả QTI sử dụng ngôn ngữ XML (eXtensible Markup Language) để

mô tả dữ liệu, do đó dễ dàng chuyển đổi dữ liệu giữa các hệ thống

1.1.2 Các đối tượng cơ bản trong đặc tả QTI

Theo đặc tả QTI có 3 đối tượng cơ bản nhất là: Assessment, Section, Item (ASI)

Item

Là đối tượng nhỏ nhất có thể trao đổi được trong tài liệu QTI-XML

“Item” tương ứng với một câu hỏi (Question) nhưng rộng hơn Cụ thể là Item chứa “Question” Ngoài ra còn có các thành phần khác như: các lời dẫn hay chú thích; các thuộc tính (độ khó, độ phân biệt, độ phỏng đoán) của câu hỏi; quy định cách xử lý phương án trả lời của thí sinh; quy định các phản hồi (feedback) khi thí sinh trả lời câu hỏi (trong một số trường hợp); meta-data

mô tả cho item Một item là một phần tử XML

Assessment

Một “Assessment” tương đương với một bài trắc nghiệm (Test) Assessment chứa nhiều Item dùng để đánh giá năng lực thí sinh Assessment cũng chứa những chỉ dẫn (instruction) cần thiết để tổng hợp điểm của tất cả các item trong nó thành điểm của bài trắc nghiệm

Trang 11

Section

Một section là một phần trong Assessment Section cho phép xây dựng các bài trắc nghiệm theo cấu trúc phân cấp Một section cũng có thể chứa một hoặc nhiều section khác Một section có thể xem như một chủ đề trong một môn học cần được đánh giá trong bài trắc nghiệm

Ngoài 3 đối tượng cơ bản nêu trên, còn có một số đối tượng khác có mặt trong các gói tài liệu tuân thủ QTI, đáng chú ý là: object-bank và assessment-bank

Object-bank

Đây là một tập các item và section Một object-bank có một định danh duy nhất và có meta-data mô tả nội dung của nó để các hệ thống có thể tìm thấy Object-bank chứa cơ sở dữ liệu các đối tượng đánh giá sẽ sử dụng trong các bài trắc nghiệm (assessment)

Các Object-bank được đóng gói thành gói chuẩn (QTI package) để chuyển giao sử dụng chung Một QTI package là một file ZIP gồm:

- imsmanifest.xml: chứa meta-data mô tả các đối tượng dữ liệu (item, section) – các đối tượng dữ liệu này được chứa trong cặp thẻ

<questestinterop></questestinterop>

- Các tài nguyên khác như hình ảnh, âm thanh

Hệ thống phân phối bài thi có thể tổng hợp các item, section thành các bài thi trước khi phân phối đến thi sinh

Assessment-bank

Là một tập hợp các bài trắc nghiệm (assessment) Mỗi bài trắc nghiệm chứa các item, section Một assessment-bank có định danh (identifier) duy nhất và meta-data mô tả nội dung để các hệ thống có thể tìm thấy Một assessment-bank thường chứa một tập các bài trắc nghiệm có liên quan với

Trang 12

nhau Tương tự như các object-bank, các assessment-bank có thể được chuyển giao sử dụng chung nhờ đóng gói thành gói chuẩn (QTI package)

Như vậy, hệ thống phân phối bài thi (Assessment Delivery) có thể chọn các bài trắc nghiệm (assessment) từ assessment-bank

1.1.3 Các tài liệu trong đặc tả QTI

Đặc tả QTI được trình bày chi tiết trong 7 tài liệu chính:

- Implementation Guide: Tài liệu hướng dẫn mô tả dữ liệu XML cho từng

loại câu hỏi cơ bản thông qua các ví dụ cụ thể

- Information Model: Tài liệu tham khảo hướng dẫn về mô hình dữ liệu

cho các câu hỏi cùng các yêu cầu cụ thể đối với hệ thống phân phối bài thi trắc nghiệm (Assessment Delivery System) và hệ thống soạn câu hỏi

(Authoring System)

- Meta-data and Usage Data: Do trong tài liệu về chuẩn Learning Object

Metadata (LOM) của IEEE, một chuẩn được dùng trong các hệ thống Learning, chỉ đưa ra một tập các phần tử (XML elements) sử dụng để mô tả

e-dữ liệu cho các tài nguyên học, không mô tả đầy đủ cho các tài nguyên đánh giá (assessment resources) mà cụ thể là các mô tả dữ liệu của câu hỏi, bài thi, kết quả thi Do đó, tài liệu Meta-data and Usage Data mở rộng và bổ sung cho IEEE LOM nhằm tương thích giữa các đặc tả về tài nguyên học và các đặc tả

về tài nguyên đánh giá (dữ liệu câu hỏi, bài thi ) Tài liệu này đặc biệt quan trọng đối với người phát triển phần mềm trắc nghiệm, người xây dựng và quản lý ngân hàng câu hỏi

- Intergration Guide: Tài liệu mô tả mối quan hệ giữa đặc tả IMS QTI

với các đặc tả có liên quan khác như IMS Content Packaging, IMS Simple Sequencing, IMS Learning Design

- XML Binding: Tài liệu định nghĩa một tập các lớp và kiểu dữ liệu trừu

tượng nhằm sử dụng để kết nối dữ liệu giữa các hệ thống khác nhau Tài liệu

Trang 13

này cũng mô tả phương thức kết nối thông tin với các tài liệu XML Các quy tắc kết nối (binding rules) được đưa ra chủ yếu qua XML Schemas theo namespace: http://www.imsglobal.org/xsd/imsqti_v2p0

- Conformance Guide: Tài liệu mô tả các yêu cầu cần tuân thủ đối với dữ

liệu, chẳng hạn: dữ liệu câu hỏi, bài thi cùng các yêu cầu cần tuân thủ đối với các hệ thống: ngân hàng câu hỏi – Item Bank System, hệ thống soạn thảo câu hỏi - Authoring System, hệ thống phân phối bài thi – Delivery System

- Migration Guide: Tài liệu hỗ trợ cho những người đã quen với IMS

QTI version 1.x nhằm dễ dàng chuyển sang IMS QTI version 2.0

Nhìn chung, QTI 2.0 là một đặc tả hoàn chỉnh và chi tiết cho dữ liệu của

hệ thống trắc nghiệm sử dụng trên môi trường Web

1.1.4 Ví dụ minh hoạ biểu diễn câu hỏi theo chuẩn QTI

Câu hỏi đa lựa chọn

Mô tả: Câu hỏi có nhiều phương án trả lời, trong đó có từ 2 phương án đúng trở lên

Hình 1.1 Câu hỏi đa lựa chọn

Mô tả dữ liệu theo chuẩn QTI được thể hiện như sau:

Trang 14

<assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_v2p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

<mapEntry mapKey="O" mappedValue="1" />

<mapEntry mapKey="Cl" mappedValue="-1" />

Trang 15

<simpleChoice identifier="H"

fixed="false">Hydrogen</simpleChoice>

<simpleChoice identifier="He" fixed="false">Helium</simpleChoice> <simpleChoice identifier="C" fixed="false">Carbon</simpleChoice> <simpleChoice identifier="O" fixed="false">Oxygen</simpleChoice> <simpleChoice identifier="N" fixed="false">Nitrogen</simpleChoice> <simpleChoice identifier="Cl" fixed="false">Chlorine</simpleChoice> </choiceInteraction>

</itemBody>

<responseProcessing

template="http://www.imsglobal.org/question/qti_v2p0/rptemplates/map_response" />

Trang 16

Câu hỏi đơn lựa chọn

Mô tả: Câu hỏi có nhiều phương án trả lời, trong đó có duy nhất một

phương án đúng

Hình 1.2 Câu hỏi đơn lựa chọn

Mô tả dữ liệu theo chuẩn QTI được thể hiện như sau:

Trang 17

identifier="choice" title="Câu đúng" adaptive="false"

timeDependent="false">

<! Bổ sung các thuộc tính đánh giá câu hỏi theo IRT vào đây >

<responseDeclaration identifier="RESPONSE" cardinality="single" baseType="identifier">

Trang 18

phương án trả lời câu hỏi của thí sinh Câu hỏi không phụ thuộc thời gian

(thuộc tính timeDependent="false”), nghĩa là thời gian trả lời câu hỏi của thí sinh không bị hạn chế, chỉ phụ thuộc vào thời gian của bài trắc nghiệm

Phương án trả lời đúng cho câu hỏi là phương án A, biểu diễn bởi cặp thẻ

Trang 19

1.2 Các dự án phát triển phần mềm soạn thảo câu hỏi theo chuẩn QTI

Nhằm khuyến khích áp dụng chuẩn QTI, đã có các dự án phát triển công

cụ phần mềm hỗ trợ cho chuẩn này do một số trường đại học ở Anh tiến hành Những dự án này làm ra sản phẩm là các mô đun công cụ có thể dùng như các thành phần hay các dịch vụ web để xây dựng thành một hệ thống sát hạch bằng máy tính tuân thủ chuẩn QTI dựa trên web

Dưới đây liệt kê các dự án phần mềm hỗ trợ QTI nói trên

1.2.1 AquRate (http://aqurate.kingston.ac.uk) là một dự án mã nguồn mở

nhằm xây dựng công cụ soạn thảo câu hỏi trắc nghiệm hợp chuẩn QTI (QTI

Authoring Tool), độc lập với các nền hệ điều hành Dự án này do nhóm

Learning Technology Research Group, thuộc Trường Đại học Kingston, cùng thực hiện kết hợp với đối tác là nhóm CARET, Trường Đại học Cambridge Sản phẩm của dự án là phầm mềm để soạn thảo các câu hỏi trắc nghiệm tuân thủ chuẩn QTI Yêu cầu đặt ra là kết quả phải có khả năng liên tác với các sản phẩm của 2 dự án thuộc nhóm dự án phần mềm công cụ hỗ trợ chuẩn QTI là Asdel (đã nói trên) và Minibix (sẽ nói dưới đây)

Hiện nay, Aqurate đã kết thúc và cho sản phẩm là phần mềm soạn thảo một số dạng câu hỏi cốt lõi thường gặp nhất Kết quả của dự án này được tiếp

Trang 20

tục mở rộng bởi dự án mới là Mathqurate, cho phép xử lý các câu hỏi có chứa nhiều ký hiệu toán học

1.2.2 AsDel (http://asdel.ecs.soton.ac.uk/) rút gọn của “Assessment

Delivery”, là một dự án do Khoa Điện tử và Khoa học máy tính, Trường Đại

học Southampton tiến hành Dự án nhằm phát triển hệ thống tạo ra và phân phối bài trắc nghiệm tuân thủ chuẩn QTI v 2.1 có thể chạy như một ứng dụng độc lập hoặc như một dịch vụ thành phần trong hệ thống theo kiến trúc hướng dịch vụ Dự án đã kết thúc vào năm 2008 và sản phẩm là các dịch vụ Web để lắp ghép thành ứng dụng

1.2.3 Minibix (http://qtitools.caret.cam.ac.uk/) là một dự án mã nguồn mở

nhằm phát triển một hệ thống quản trị ngân hàng câu hỏi tuân thủ chuẩn QTI

do nhóm CARET, Trường Đại học Cambridge thực hiện Dự án có tham vọng phát triển hệ thống kho câu hỏi đáp ứng nhiều yêu cầu ứng dụng khác nhau từ mức thấp đến mức cao trong nghiên cứu và ứng dụng QTI, với nhiều chức năng, kể cả việc quản lý nhiều phiên bản tài liệu XML Minibix dựa trên một

hệ thống cơ sơ dữ liệu đã được phát triển từ trước tại Cambridge

1.3 Các chức năng của phần mềm soạn thảo

1.3.1 Khái niệm

Soạn thảo văn bản là một phần mềm ứng dụng cho phép thực hiện các thao tác liên quan đến công việc soạn văn bản: gõ (nhập) văn bản, sửa đổi, trình bày, lưu trữ và in văn bản

Trang 21

Hệ soạn thảo văn bản cho phép xoá, chèn thêm hoặc thay đổi kí tự, từ hay cụm từ nào đó để sửa chúng một cách nhanh chóng

1.3.3 Sửa đổi cấu trúc văn bản

Khi thay đổi cấu trúc văn bản ta có thể thay đổi cấu trúc của văn bản: xoá, sao chép, di chuyển, chèn thêm một đoạn văn bản hay hình ảnh đã có sẵn

1.3.4 Trình bày văn bản

Ta có thể lựa chọn cách trình bày phù hợp và đẹp mắt cho văn bản ở mức

kí tự, mức đoạn hay mức trang

- Vị trí tương đối so với dòng kẻ ( cao hơn , thấp hơn );

- Khoảng cách giữa các kí tự trong một từ và giữa các từ với nhau

* Khả năng định dạng đoạn văn bản

- Vị trí lề trái, lề phải của đoạn văn bản;

- Căn lề ( trái, phải, giữa, đều hai bên );

- Dòng đầu tiên: thụt vào hay nhô ra so với cả đoạn văn bản;

- Khoảng cách đến đoạn văn bản trước, sau;

- Khoảng cách giữa các dòng trong cùng đoạn văn bản, …

* Khả năng định dạng trang văn bản

- Lề trên, lề dưới, lề trái, lề phải của trang;

- Hướng giấy ( nằm ngang hay thẳng đứng );

- Kích thước trang giấy;

- Tiêu đề trên (đầu trang), tiêu đề dưới (cuối trang),

Trang 22

- Cho phép gõ tắt hoặc tự động sửa lỗi khi gõ sai;

- Tạo bảng và thực hiện tính toán;

- Tạo mục lục, chú thích, tham chiếu tự động;

- Chia văn bản thành các phần với cách trình bày khác nhau;

- Tự động đánh số trang, phân biệt trang chẵn và trang lẻ;

- Chèn hình ảnh và kí hiệu đặc biệt vào văn bản;

- Vẽ hình và tạo chữ nghệ thuật trong văn bản;

- Kiểm tra chính tả, ngữ pháp, tìm từ đồng nghĩa, thống kê, ;

- Hiển thị văn bản dưới nhiều góc độ khác nhau: chi tiết, phác thảo, dưới dạng trang in,

Ngoài ra, các hệ soạn thảo văn bản còn có thể có những công cụ hỗ trợ khác

Nhờ hệ soạn thảo văn bản, người dùng có thể dễ dàng sửa chữa những sai sót khi soạn thảo văn bản hay làm nổi bật những điều cần nhấn mạnh, làm giảm đáng kể thời gian soạn thảo

CHƯƠNG 2 MỘT SỐ VẤN ĐỀ LIEN QUAN ĐẾN NGÂN HÀNG CÂU

HỎI VÀ BÀI THI TRẮC NGHIỆM THEO CHUẨN QTI

2.1 Cơ sở dữ liệu XML nguyên sinh eXist

2.1.1.Giới thiệu

eXist là một phần mềm nguồn mở để phát triển một hệ thống người sử dụng Nó có thể được tích hợp dễ dàng vào các ứng dụng có liên quan đến

Trang 23

XML trong một số trường hợp khác nhau, từ các ứng dụng dựa trên web đến các hệ thống tài liệu chạy từ CDROM eXist được viết hoàn toàn trong Java

và có thể triển khai theo một số cách:

(1) Chạy như một tiến trình máy chủ độc lập

(2) Chạy như một servlet hoặc nhúng trực tiếp vào một ứng dụng

Trên trang web chính thức của InforWorld, eXist đã đạt giải công nghệ năm 2006 cho cơ sở dữ liệu XML

XML lưu trong hệ thống phân cấp các sưu tập (collection) Sử dụng cú pháp XPath mở rộng , người dùng có thể truy vấn một phần của tài liệu trong sưu tập hoặc thậm chí tất cả các tài liệu trong một cơ sở dữ liệu Máy truy vấn của eXist thực hiện rất hiệu quả nhờ xử lý truy vấn dựa trên chỉ mục Một giản đồ đánh chỉ mục cải tiến hỗ trợ xác định nhanh các mối quan hệ cấu trúc giữa các nút như quan hệ cha con, ông cháu hoặc mối quan hệ anh em

Cơ sở dữ liệu eXist là phù hợp nhất đối với các ứng dụng làm việc với một sưu tập các tài liệu XML mà thỉnh thoảng mới có thao tác cập nhật Exist cung cấp một số phần mở rộng của XPath chuẩn để xử lý hiệu quả các truy vấn fulltext, bao gồm cả tìm kiếm theo từ khóa hoặc các biểu thức chính quy Các nhà phát triển ứng dụng được cung cấp các phương thức truy cập thông qua HTTP, XML-RPC, SOAP và WEBDAV Các ứng dụng Java có thể

sử dụng XML:DB API, một giao diện chung để truy cập tới các NXD hoặc XED

2.1.2 Các bước cơ bản để triển khai eXist

Dưới đây là một số bước cơ bản để triển khai eXist, từ cài đặt đến khai thác các tính năng có trong eXist dưới góc độ của người dùng thông thường

Trang 24

Để khai thác các tính năng của eXist được hiệu quả thì đòi hỏi người sử dụng

có kiến thức nền tảng về XML và Xquery Tuy nhiên sau khi cài đặt thì người dùng có thể sử dụng ngay eXist như một công cụ học tập XML và Xquery

- Cài đặt eXist

Tải gói cài đặt: tại địa chỉ http://exist-db.org/download.html

Dành cho người mới bắt đầu, gói jar (java archive) hỗ trợ giao diện đồ họa lúc cài đặt; tự động xác định được các thông số hệ thống (các biến môi trường và biến đường dẫn) cho eXist Nó cũng tự động tạo ra các lối tắt trên màn hình sau khi cài đặt (cho hệ điều hành Windows hoặc Linux)

Sau khi tải về, để cài đặt thì chỉ cần thực hiện 1 trong 2 cách dưới đây:

1 Kích đúp vào gói cài đặt: eXist-[version]-build-XXXX.jar (Windows

và Mac)

2 Trong cửa số dòng lệnh của Windows hoặc cửa số shell của Unix, gõ câu lệnh java: java -jar eXist-[Version].jar

- Khởi động eXist Database

Sau khi cài đặt thành công, nếu không thay đổi gì trong lúc cài đặt thì trên màn hình sẽ xuất hiện 3 lối tắt như sau:

Hình 2.1 : Các biểu tượng của eXist

Để khởi động eXist Database, kích đúp chuột vào biểu tượng eXist

Database Startup

Trang 25

Cửa sổ eXist Database Startup sẽ xuất hiện các thông điệp, ví dụ như sau:

Hình 2.2: Cửa sổ eXist Database Startup

Nếu muốn khởi động thủ công, ta có thể thực hiện theo các bước sau

1 Mở của sổ dòng lệnh DOS hoặc cửa sổ Unix shell

2 Chuyển đến thư mục mà chúng ta đã cài eXist

3 Gõ lệnh: bin/startup.sh trong cửa sổ Unix shell, hoặc gõ câu lệnh bin\startup.bat trong cửa số DOS

Nếu các scripts không khởi động eXist, có thể tải trực tiếp bằng bootstrap loader sử dụng câu lệnh sau (trong cửa sổ dòng lệnh):

java -Xmx128M -Djava.endorsed.dirs=lib/endorsed -jar start.jar jetty

- Truy cập tới máy chủ CSDL eXist

Theo mặc định, eXist chạy bên trong một ứng dụng web, do máy chủ web tên là Jetty phục vụ Để kiểm tra máy chủ đang hoạt động, gõ vào thanh địa chỉ của trình duyệt địa chỉ sau: http://localhost:8080/exist/index.xml Bản copy tại máy cục bộ của trang chủ eXist sẽ xuất hiện Trang này được gộp cả trong gói cài đặt

Trang 26

Hình2.3: Trang eXist

Từ trang này chúng ta có thể tham khảo các tài liệu hướng dẫn sử dụng, thư viện hàm, và các ví dụ XQuery của eXist Cũng từ trang này ta có thể tham chiếu đến các bài báo và các tài liệu từ cơ bản đến nâng cao về các công nghệ được sử dụng hoặc có liên quan đến eXist

Chú ý:

Nếu khởi động CSDL không thành công, cần kiểm tra các biến môi

trường EXIST_HOME và JAVA_HOME Hai biến này được thiết đặt trong

Trang 27

Cũng phải có quyền "write" đối với thư mục dữ liệu trong INF/

- Quản trị CSDL

Để sử dụng CSDL, đầu tiên ta phải tạo ra các sưu tập tài liệu và import các tệp vào eXist Ta có thể thực hiện việc này thông quan giao diện web hoặc

sử dụng eXist Client Shell

+ Quản trị CSDL qua giao diện web

Từ trang eXist, ta bấm vào liên kết Admin trong vùng Administration hoặc có thể gõ trực tiếp địa chỉ http://localhost:8080/exist/admin/admin.xql

trong thanh địa chỉ của trình duyệt, sau đó đăng nhập vào với tài khoản

“admin” và mật khẩu để trống (trong trường hợp chưa đổi mật khẩu của tài khoản admin từ sau khi cài đặt) Trong trang dành cho quản trị này ta có thể tạo ra các sưu tập tài liệu hoặc có thể sử dụng các chức năng dành cho quản trị theo hướng dẫn

- Chọn Examples Setup và nhấn nút "Import Example Data" để cài đặt

các ví dụ tải về từ Internet

- Thử các vấn tin trên sưu tập mẫu trên trang "Examples Page." Ở đây có một số ứng dụng web dùng eXist và XQuery Đơn giản nhất là "XQuery Sandbox" (http://localhost:8080/exist/sandbox/) cho phép submit các vấn tin

ví dụ

Trang 28

+ Quản trị CSDL sử dụng công cụ eXist Client Shell

Khởi động

- Kích đúp chuột vào biểu tƣợng để khởi động,

- hoặc, nhập câu lệnh trực tiếp vào cửa sổ dòng lệnh Unix shell hay DOS/Windows

bin\client.bat (DOS/Windows)

bin\client.sh (Unix)

- hoặc dùng lệnh java:

java -jar start.jar client

Sau khi khởi động công cụ eXist Client Shell ta phải đăng nhập vào bằng một tài khoản đƣợc gán quyền quản trị

Trang 29

Hình 2.4: Cửa sổ điền thông số kết nối đến CSDL

Ở cửa số này chỉ cấn điền thông tin Username và Password còn các thông số khác ta cứ để theo thông số mặc định Sau khi cài đặt eXist với Username và Password cho lần đầu tiên đăng nhập ta sử dụng tài khoản quản trị có sẵn là “admin” và mật khẩu để trống

Sau khi đăng nhập vào CSDL cửa sổ làm việc có dạng sau:

Hình 2.5: Cửa sổ làm việc sau khi kết nối

Trang 30

Để xem hướng dẫn sử dụng eXist đầy đủ ta có thể truy cập vào địa chỉ

- Đóng CSDL

Nên đóng CSDL đúng cách trước khi kết thúc tiến trình máy chủ vì trái lại các tệp dữ liệu có thể sai lệch Có nhiều cách:

1 Admin Client: chọn Connection » Shutdown

2.Giao diện Web: nhấn vào link Shutdown

(http://localhost:8080/admin.xql)

3.Cho chạy bin/shutdown.sh (Unix) hoặc shutdown.bat (DOS/Windows)

4 Nhập lệnh thủ công:

java -jar start.jar shutdown

Để nhập username và password, thêm các tham số dòng lệnh -u và -p

Theo mặc định, lệnh trên sẽ đóng CSDL chạy ở URI:

xmldb:exist://localhost:8080/exist/xmlrpc/db Nếu đường dẫn thay đổi, cần

thêm tham số dòng lệnh –l và URI thích hợp Ví dụ:

java -jar start.jar shutdown -u admin -p adminpass -l

xmldb:exist://localhost:8080/exist/xmlrpc/db

Chú ý:

Nếu eXist được cài đặt như một ứng dụng web application trên máy chủ web server khác với Jetty (đi kèm theo), thì lệnh shutdown sẽ chỉ đóng instance CSDL, không đóng tiến trình máy chủ CSDL trên máy chủ web Đó

là vì eXist không biết môi trường mà nó đang chạy trong đó

Trang 31

2.2 Ngôn ngữ truy vấn Xquery

2.2.1 Giới thiệu

XQuery là ngôn ngữ mạnh được thiết kế để xử lý dữ liệu XML Không chỉ tệp XML mà cả tệp dữ liệu có cấu trúc tương tự XML: nested, named trees with attributes

XQuery là ngôn ngữ truy vấn tài liệu XML, nó giống như ngôn ngữ truy vấn cơ sở dữ liệu quan hệ SQL XQuery cho phép các nhà phát triển ứng dụng

sử dụng các biểu thức để lấy dữ liệu ra từ các tài liệu XML Dữ liệu đó có thể

là một giá trị hoặc là cả một cấu trúc cây con của tài liệu, chẳng hạn là một thành phần với tất cả các thành phần con của nó

XQuery sử dụng các biểu thức XPath, liên quan đến các từ khóa FLWOR nổi tiếng: for, let, where, order by, và return Những từ khóa trên cung cấp phương thức mạnh mẽ để tách và lấy dữ liệu từ tài liệu XML trong hầu hết các trường hợp

Cấu trúc ngữ pháp của ngôn ngữ XQuery được dựa trên cấu trúc cây của chính tài liệu XML XQuery xử lý tốt cả các chỉ lệnh (instructions), thuộc tính (attribute) và các thành phần (element)

XQuery có thể được sử dụng nhằm mục đích lấy thông tin để sử dụng trong một dịch vụ Web, tạo các báo cáo tổng hợp, biến đổi dữ liệu XML thành XHTML hoặc tìm kiếm các tài liệu Web, từ đó cho ra các thông tin có liên quan dựa trên các cặp thẻ XML XQuery cũng có thể được sử dụng để sản sinh ra các cấu trúc RDF hay truy xuất thông tin trên những nền tảng dựa trên XML Vì bản thân các ngôn ngữ như RDF hay OWL cũng được biểu diễn thông qua XML nên chúng ta cũng có thể sử dụng XQuery để truy vấn thông tin trong các ontology được biểu diễn bởi RDF/OWL

Trang 32

Các kiểu dữ liệu nguyên thủy:

o Numbers, gồm: integers, floating-point

o boolean: true / false

o Strings: ví dụ, "Hello world!" Không được modify một ký tự trong xâu

o Các kiểu: dates, times, durations

Một số kiểu XML-related Ví dụ QName là cặp local name (ví dụ

template) và một URL, để biểu diễn tag name, ví dụ xsl:template sau khi đã được phân giải tên

Các kiẻu dẫn xuất là các biến thể, hạn chế thêm từ các kiểu nguyên thủy

các kiểu nguyên thủy + Các kiểu dẫn xuất -> atomic types Nghĩa là các

giá trị atomic không chứa những giá trị khác String là atomic vì XQuery không có giá trị character

Giá trị và biểu thức nút Node Values and Expressions

XQuery có kiểu dữ liệu nhận giá trị node để biểu diễn giá trị XML

Có 7 loại nút: element, attribute, namespace, text, comment,

processing-instruction, và document (root) rất tương tự với các lớp DOM, như Node,

Element Một số cài đặt XQuery sử dụng các đối tượng DOM để cài đặt giá trị node

Nhiều hàm chuẩn XQuery sẽ tạo ra hoặc trả về nodes Hàm document

đọc một tệp XML và trả về document root node (the root element is a child of the root node)

Ta có thể tạo ra node mới ngay trong chương trình Tiện nhất là dùng

một biểu thức tạo phần tử (element constructor expression), trông giống như

dữ liệu XML thông thường:

<p>See <a href="index.html"><i>here</i></a> for info.</p>

Trang 33

Có thể dùng dấu ngoặc nhọn {curly braces} để nhúng biểu thức XQuery trong biểu thức tạo phần tử

Các bộ xử lý template như JSP, ASP, PHP, cho phép nhúng biểu thức

của ngôn ngữ lập trình trong tệp HTML XQuery cũng cho phép làm thế, hơn nữa, có thể nhúng các forms XML/HTML bên trong biểu thức, là giá trị của biến hay tham số Giá trị node trong XQuery là immutable, không thể sửa đổi sau khi đã tạo xong

2.2.2 Biểu thức đường dẫn trong Xquery và quan hệ với XPath

XQuery vay mượn các biểu thức đường dẫn (path expressions) từ XPath

XQuery có thể coi là tổng quát hóa của XPath Trừ vài ngoại lệ, mọi biểu thức XPath là biểu thức XQuery

XML xác định các nút thông qua các đường dẫn tới các nút đó, với "đầu đường" là phần tử gốc (root element), tiếp theo là các phần tử kỵ, cụ, ông, cha, và kết thúc là nút cần truy xuất

Các biểu thức đường dẫn được sử dụng để định vị các nút và ràng buộc biếnđổi Giả sử có tệp XML "mybook.xml" với phần tử gốc là <book>, chứa một số phần tử con là <chapter>:

let $book := document("mybook.xml")/book

return $book/chapter

Hàm document trả về nút root Biểu thức /book trả về phần tử con của root, tên là book Vậy $book là phần tử root duy nhất

Trang 34

$book/chapter sẽ trả về sequence các nút chapter (mức 2) theo trình tự

có trong tài liệu (document order)

Ví dụ sau chứa predicate:

> tương đương với sets

XSLT rất hữu ích cho các transformations rất đơn giản, nhưng các stylesheets phức tạp hơn (nhất là chứa logic or programming không tầm thường) sẽ được viết ngắn gọn hơn bằng XQuery

Trang 35

2.2.4 Các hàm trong Xquery

XQuery cung cấp hơn 100 hàm dựng sẵn,các hàm các giá trị chuỗi, số, so sánh ngày và tháng…Ngoài ra Xquery còn có các hàm do người dùng tự định nghĩa, cú pháp:

declare function prefix:function_name($parameter AS datatype)

XQuery cho phép người sử dụng định nghĩa các hàm Trong phần query

prologue của một chương trình XQuery Chú ý rằng các tham số, kết quả …

của hàm có thể là giá trị nguyên thủy, nodes, hay sequences của chúng

hàm đệ quy sau đây trả về mọi nút hậu thế của một nút (depth-first traversal)

define function descendant-or-self ($x)

evaluates thành sequence độ dài 4:

<a>X<b>Y</b></a>; "X"; <b>Y</b>; "Y"

Trang 36

2.2.5 Sắp xếp và Context

Biểu thứcsortby Sắp xếp dãy books theo tên tác giả:

$books sortby (author/name)

Đầu vào của sortby là một sequence ($books) và một biểu thức để sắp

thứ tự ordering expressions Lấy 2 giá trị từ sequence đầu vào, tính giá trị của

ordering expression trong bối cảnh tương ứng, so sánh với nhau để xác định

cái nào đứng trước

Ví dụ trên: biểu thức author/name sẽ được tính nhiều lần, ứng với từng

book khác nhau, là context (or current) item

Biểu thức đường dẫn cũng sử dụng và thiết lập context Trong biểu thức

author/name,phần tử con name được trả về là name ở trong context item, tức

là author item

2.2.6 Đặc tả kiểu

XQuery là ngôn ngữ định kiểu mạnh Giống như Java và C# Nó hỗn hợp

cả static typing và dynamic typing (kiểm tra nhất quán về kiểu khi biên dịch

và run-time) Tuy nhiên, các kiểu trong XQuery khác các lớp trong OO Nó khớp với mô hình dữ liệu XQuery và cho phép nhập khẩu các kiểu từ lược đồ XML

if ($child instance of element section)

then process-section($child)

else ( ) { nothing }

Mã lệnh trên sẽ gọi hàm process-section nếu giá trị của $child là một phần tử có tên thẻ là section

XQuery áp dụng lệnh viết tắt typeswitch để so khớp một giá trị với một

số kiểu Ví dụ dưới đây sẽ đổi tên thẻ <para> thành <p> và <emph> thành

<em>

define function convert($x) {

Ngày đăng: 26/03/2021, 06:58

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w