XLSForm là gì?

rtSurvey sử dụng một phiên bản mở rộng của tiêu chuẩn XLSForm để thiết kế biểu mẫu, cung cấp các tính năng mạnh mẽ để tạo các bản khảo sát tinh vi. Hướng dẫn này sẽ giới thiệu cho bạn các khái niệm chính về thiết kế biểu mẫu trong rtSurvey, từ cấu trúc XLSForm cơ bản đến các tính năng nâng cao dành riêng cho rtSurvey.

Với XLSForm, bạn có thể tạo biểu mẫu ở định dạng con người có thể đọc được bằng công cụ Excel quen thuộc, giúp hầu hết mọi người đều có thể tiếp cận. Tiêu chuẩn này cho phép dễ dàng chia sẻ và cộng tác trong việc xây dựng biểu mẫu.

Mặc dù XLSForm thân thiện với người mới bắt đầu, chúng cũng cho phép những người dùng có kinh nghiệm tạo ra các biểu mẫu phức tạp.

rtSurvey cung cấp một cách nhất quán để kết hợp các chức năng nâng cao như skip logic vào các biểu mẫu trên nhiều nền tảng thu thập dữ liệu web và di động khác nhau.

Cấu trúc XLSForm

Một XLSForm thường bao gồm hai bảng tính (worksheets) chính:

  1. survey: Định nghĩa cấu trúc và nội dung của biểu mẫu.
  2. choices: Chỉ định các lựa chọn trả lời cho các câu hỏi nhiều lựa chọn.

Một bảng tính settings tùy chọn có thể cung cấp các thông số bổ sung cho biểu mẫu.

Điều quan trọng cần lưu ý là các cột bắt buộc trong bảng tính surveychoices phải có mặt để biểu mẫu hoạt động bình thường. Các cột tùy chọn trong cả hai bảng tính cung cấp khả năng kiểm soát sâu hơn đối với hành vi của từng mục nhập trong biểu mẫu nhưng không phải là thiết yếu.

Các cột trong sổ làm việc Excel của bạn có thể xuất hiện theo bất kỳ thứ tự nào và các cột tùy chọn có thể để trống. Tuy nhiên, điều quan trọng là phải sử dụng chính xác cú pháp và quy ước đặt tên được chỉ định trong tài liệu XLSForm để biểu mẫu hoạt động chính xác.

Bảng tính survey

Bảng tính survey là nơi bạn định nghĩa cấu trúc của biểu mẫu và cung cấp nội dung. Mỗi hàng trong bảng tính survey đại diện cho một câu hỏi hoặc thành phần trong biểu mẫu của bạn. Các cột sau đây là bắt buộc trong bảng tính survey:

  • type: Chỉ định loại dữ liệu nhập vào mà bạn mong đợi cho câu hỏi.
  • name: Chỉ định tên biến duy nhất cho mục nhập đó. Tên phải bắt đầu bằng một chữ cái hoặc dấu gạch dưới và chỉ có thể chứa chữ cái, số, dấu gạch ngang, dấu gạch dưới và dấu chấm. Tên có phân biệt chữ hoa chữ thường.
  • label: Chứa văn bản thực tế mà bạn thấy cho câu hỏi trong biểu mẫu.
typenamelabel
todaytoday
select_one gendergenderGiới tính của người trả lời?
integerageTuổi của người trả lời?

Bảng tính choices

Bảng tính choices được sử dụng để chỉ định các lựa chọn trả lời cho các câu hỏi nhiều lựa chọn. Mỗi hàng đại diện cho một lựa chọn trả lời. Các cột sau đây là bắt buộc trong bảng tính choices:

  • list_name: Nhóm các lựa chọn trả lời liên quan lại với nhau.
  • name: Chỉ định tên biến duy nhất cho lựa chọn trả lời đó.
  • label: Hiển thị lựa chọn trả lời chính xác như bạn muốn nó xuất hiện trên biểu mẫu.
list_namenamelabel
gendertransgenderNgười chuyển giới
genderfemaleNữ
gendermaleNam
genderotherKhác

Các cột bạn thêm vào sổ làm việc Excel, dù là bắt buộc hay tùy chọn, đều có thể xuất hiện theo bất kỳ thứ tự nào. Các cột tùy chọn có thể được loại bỏ hoàn toàn. Các hàng hoặc cột có thể để trống để dễ đọc hơn, nhưng dữ liệu sau 20 cột hoặc hàng trống liền kề trên một trang tính sẽ không được xử lý. Tất cả định dạng tệp .xlsx đều được bỏ qua, vì vậy bạn có thể sử dụng các đường phân chia, tô bóng và định dạng phông chữ khác để làm cho biểu mẫu dễ đọc hơn.

Một điều cần lưu ý khi tạo biểu mẫu trong Excel là cú pháp bạn sử dụng phải chính xác. Ví dụ: nếu bạn viết Choices hoặc choice thay vì choices, biểu mẫu sẽ không hoạt động.

Bảng tính settings

Bảng tính settings là tùy chọn nhưng cho phép bạn chỉ định siêu dữ liệu (metadata) và hành vi cấp biểu mẫu. Các cột phổ biến trong bảng tính settings bao gồm:

CộtMô tả
form_titleTiêu đề của biểu mẫu khi hiển thị cho người dùng
form_idMã định danh duy nhất cho biểu mẫu, được sử dụng trong quản lý dữ liệu và gọi API
default_languageMã ngôn ngữ mặc định cho các biểu mẫu đa ngôn ngữ (ví dụ: ‘vi’ cho tiếng Việt)
versionSố phiên bản của biểu mẫu, hữu ích để theo dõi các thay đổi
instance_nameBiểu thức để tạo tên duy nhất cho mỗi bản gửi biểu mẫu
generationSố nguyên đánh dấu thế hệ của biểu mẫu. Tăng lên khi có thay đổi cấu trúc
familyMã định danh để nhóm các biểu mẫu liên quan qua các thay đổi cấu trúc

Bảng tính settings trong rtSurvey cũng có thể bao gồm các cấu hình bổ sung dành riêng cho các chức năng mở rộng của rtSurvey. Tham khảo tài liệu rtSurvey để biết danh sách đầy đủ các thiết lập được hỗ trợ.

Các thành phần chính của bảng tính Survey

Bảng tính survey là cốt lõi trong thiết kế biểu mẫu của bạn. Dưới đây là tổng quan về các thành phần chính:

Thành phầnMô tả
typeChỉ định loại câu hỏi (ví dụ: text, integer, select_one)
nameMã định danh duy nhất cho câu hỏi
labelVăn bản hiển thị cho người trả lời
hintHướng dẫn bổ sung cho người trả lời
appearanceThay đổi cách câu hỏi được hiển thị
relevantXác định khi nào câu hỏi sẽ được hiển thị (skip logic)
constraintXác thực câu trả lời
calculationTính toán giá trị dựa trên các câu trả lời khác
requiredChỉ định nếu câu hỏi bắt buộc phải trả lời

Mỗi thành phần này đóng một vai trò quan trọng trong việc tạo ra các cuộc khảo sát hiệu quả. Nhấp vào các liên kết để tìm hiểu thêm về từng thành phần.

Các loại câu hỏi

XLSForm hỗ trợ nhiều loại câu hỏi. Dưới đây là một số tùy chọn bạn có thể nhập vào cột type trong bảng tính survey:

Loại câu hỏiDữ liệu nhập vào
integerSố nguyên.
decimalSố thập phân.
rangeNhập Phạm vi (Range) (bao gồm cả xếp hạng - rating).
textCâu trả lời văn bản tự do.
select_one [options]Câu hỏi nhiều lựa chọn (Multiple choice); chỉ có thể chọn một câu trả lời.
select_multiple [options]Câu hỏi nhiều lựa chọn (Multiple choice); có thể chọn nhiều câu trả lời.
select_one_from_file [file]Lựa chọn từ file; chỉ có thể chọn một câu trả lời.
select_multiple_from_file [file]Lựa chọn từ file; có thể chọn nhiều câu trả lời.
rank [options]Câu hỏi Xếp hạng (Rank); sắp xếp một danh sách.
noteHiển thị một ghi chú trên màn hình, không nhận đầu vào. Cách viết tắt của type=text với readonly=true.
geopointThu thập một tọa độ GPS đơn lẻ.
geotraceGhi lại một đường gồm hai hoặc nhiều tọa độ GPS.
geoshapeGhi lại một đa giác gồm nhiều tọa độ GPS; điểm cuối trùng với điểm đầu.
dateNhập ngày tháng.
timeNhập thời gian.
dateTimeChấp nhận cả ngày và giờ.
imageChụp ảnh hoặc tải lên một tệp ảnh.
audioGhi âm hoặc tải lên một tệp âm thanh.
background-audioÂm thanh được ghi lại trong nền khi đang điền biểu mẫu.
videoQuay video hoặc tải lên một tệp video.
fileNhập tệp chung (txt, pdf, xls, xlsx, doc, docx, rtf, zip).
barcodeQuét mã vạch, yêu cầu cài đặt ứng dụng quét mã vạch.
calculateThực hiện một phép tính; xem phần Calculation bên dưới.
acknowledgeThông báo xác nhận, thiết lập giá trị thành “OK” nếu được chọn.
hiddenMột trường không có thành phần giao diện liên kết, có thể dùng để lưu trữ hằng số.
xml-externalThêm tham chiếu đến một tệp dữ liệu XML bên ngoài.

Nhãn (Labels)

Nhãn là văn bản hiển thị cho người trả lời cho mỗi câu hỏi. Chúng rất quan trọng để giao tiếp rõ ràng trong khảo sát.

  • Cách dùng cơ bản: Trong cột label, nhập văn bản câu hỏi.
  • Đa ngôn ngữ: Sử dụng các cột bổ sung như label::Englishlabel::French cho các khảo sát đa ngôn ngữ.
  • Định dạng: rtSurvey hỗ trợ định dạng HTML cơ bản trong nhãn để nhấn mạnh hoặc tạo cấu trúc.

Ví dụ:

  | type | name | label | label::French |
|------|------|-------|---------------|
| text | name | Tên của bạn là gì? | Quel est votre nom? |
  

Gợi ý (Hints)

Gợi ý cung cấp hướng dẫn bổ sung cho người trả lời mà không làm lộn xộn văn bản câu hỏi chính.

  • Cách dùng: Thêm gợi ý vào cột hint.
  • Hiển thị: Gợi ý thường được hiển thị bên dưới văn bản câu hỏi chính.
  • Đa ngôn ngữ: Giống như nhãn, gợi ý có thể được chỉ định cho nhiều ngôn ngữ bằng các cột hint::Language.

Ví dụ:

  | type | name | label | hint |
|------|------|-------|------|
| integer | age | Bạn bao nhiêu tuổi? | Vui lòng nhập tuổi của bạn tính theo năm |
  

Hiển thị (Appearance)

Cột appearance trong rtSurvey cho phép tùy chỉnh cách các câu hỏi được hiển thị.

  • Tùy chọn tiêu chuẩn: Bao gồm ‘multiline’ cho văn bản, ‘horizontal’ cho các câu hỏi lựa chọn.
  • Mở rộng của rtSurvey:
    • Nhập thời gian: Các tùy chọn hiển thị đồng hồ khác nhau (ví dụ: inline, inline-1line).
    • Tùy chỉnh màu sắc: Sử dụng hàm colors() để thay đổi màu biểu tượng.

Ví dụ:

  | type | name | label | appearance |
|------|------|-------|------------|
| text | time | Nhập thời gian | inline-[%H:%M] |
  

Điều kiện hiển thị (Relevant)

Cột relevant triển khai skip logic, xác định khi nào một câu hỏi sẽ được hiển thị.

  • Cú pháp: Sử dụng các biểu thức XPath để định nghĩa các điều kiện.
  • Biến: Tham chiếu các tên câu hỏi khác bằng cú pháp ${question_name}.

Ví dụ:

  | type | name | label | relevant |
|------|------|-------|----------|
| text | allergies | Liệt kê các dị ứng | ${has_allergies} = 'yes' |
  

Bắt buộc (Required)

Cột required chỉ định xem một câu hỏi có bắt buộc phải trả lời hay không.

  • Cách dùng cơ bản: Sử dụng ‘yes’ hoặc ’true’ để làm cho câu hỏi trở thành bắt buộc.
  • Nâng cao: Có thể sử dụng các biểu thức cho yêu cầu có điều kiện.

Ví dụ:

  | type | name | label | required |
|------|------|-------|----------|
| text | email | Địa chỉ email | yes |
  

Nhóm lặp (Repeats)

Vòng lặp cho phép một nhóm câu hỏi được trả lời nhiều lần.

  • Cách dùng: Sử dụng các hàng begin repeatend repeat để định nghĩa một nhóm lặp.
  • Đặt tên: Đặt tên duy nhất cho mỗi nhóm lặp.

Ví dụ:

  | type | name | label |
|------|------|-------|
| begin repeat | household_member | Thành viên hộ gia đình |
| text | member_name | Tên |
| integer | member_age | Tuổi |
| end repeat | | |
  

Đa phương tiện (Media)

rtSurvey hỗ trợ nhiều loại phương tiện trong khảo sát, bao gồm hình ảnh, âm thanh và video.

  • Loại câu hỏi: Sử dụng ‘image’, ‘audio’, hoặc ‘video’ trong cột type.
  • Phương tiện trong nhãn: Tham chiếu các tệp phương tiện trong nhãn bằng các thẻ HTML.

Ví dụ:

  | type | name | label |
|------|------|-------|
| image | house_photo | Chụp ảnh ngôi nhà |
| note | | <img src="logo.jpg" /> Chào mừng bạn đến với cuộc khảo sát |
  

Chỉ đọc (Read-only)

Các câu hỏi chỉ đọc hiển thị thông tin mà không cho phép người dùng nhập dữ liệu.

  • Cách dùng: Thêm ‘readonly’ vào cột appearance.
  • Tính toán: Thường được sử dụng với loại calculate để hiển thị các giá trị đã tính toán.

Ví dụ:

  | type | name | label | appearance | calculation |
|------|------|-------|------------|-------------|
| calculate | bmi | BMI | readonly | ${weight} / (${height} * ${height}) |
  

Các mở rộng của rtSurvey

rtSurvey mở rộng tiêu chuẩn XLSForm bằng cách hỗ trợ các khả năng bổ sung như grid layout, định dạng html, và nhiều widget mới.

Grid layout (Bố cục lưới)

rtSurvey cho phép biểu mẫu của bạn mô phỏng hình dáng của các bản khảo sát giấy truyền thống bằng cách nén nhiều câu hỏi vào một hàng.

Cài đặt biểu mẫu (Form settings)

Cấu hình dữ liệu (Data settings)

Phong cách Typeform (Typeform Style)

Mở rộng của hàm pulldata()

Mở rộng dựa trên Appearance

Mở rộng Webbox

Was this page helpful?