Ключові концепції
Огляд проектування форм
Що таке XLSForm?
rtSurvey використовує розширену версію стандарту XLSForm для проектування форм, пропонуючи потужні функції для створення складних опитувань. Цей посібник познайомить вас з ключовими концепціями проектування форм у rtSurvey — від базової структури XLSForm до розширених функцій, специфічних для rtSurvey.
За допомогою XLSForm ви можете створювати форми у зрозумілому форматі, використовуючи знайомий інструмент Excel, що робить його доступним практично для всіх. Цей стандарт забезпечує легкий обмін та співпрацю у створенні форм.
XLSForm зручний для початківців, але також дозволяє досвідченим користувачам створювати складні форми.
rtSurvey надає послідовний спосіб впровадження розширених функцій, таких як логіка пропуску, у форми на різних веб- та мобільних платформах збору даних.
Структура XLSForm
XLSForm зазвичай складається з двох основних аркушів:
- survey: Визначає структуру та вміст вашої форми.
- choices: Вказує варіанти відповідей для питань з множинним вибором.
Необов’язковий аркуш settings може надавати додаткові специфікації форми.
Важливо зазначити, що обов’язкові стовпці в аркушах survey та choices повинні бути присутніми для правильної роботи форми. Необов’язкові стовпці в обох аркушах надають додатковий контроль над поведінкою кожного запису у формі, але не є обов’язковими.
Стовпці у вашій книзі Excel можуть з’являтися в будь-якому порядку, а необов’язкові стовпці можна залишати порожніми. Однак важливо використовувати точний синтаксис і умови іменування, зазначені в документації XLSForm, щоб форма працювала правильно.
Аркуш survey
Аркуш survey — це місце, де ви визначаєте структуру своєї форми та надаєте вміст. Кожен рядок в аркуші survey представляє питання або елемент у вашій формі. Такі стовпці є обов’язковими в аркуші survey:
type: Вказує тип запису, що очікується для питання.name: Вказує унікальну назву змінної для цього запису. Назви повинні починатися з літери або підкреслення і можуть містити лише літери, цифри, дефіси, підкреслення та крапки. Назви чутливі до регістру.label: Містить фактичний текст, який відображається для питання у формі.
| type | name | label |
|---|---|---|
| today | today | |
| select_one gender | gender | Стать респондента? |
| integer | age | Вік респондента? |
Аркуш choices
Аркуш choices використовується для вказування варіантів відповідей для питань з множинним вибором.
Кожен рядок представляє варіант відповіді. Такі стовпці є обов’язковими в аркуші choices:
list_name: Групує разом набір пов’язаних варіантів відповідей.name: Вказує унікальну назву змінної для цього варіанту відповіді.label: Показує варіант відповіді точно так, як ви хочете, щоб він відображався у формі.
| list_name | name | label |
|---|---|---|
| gender | transgender | Трансгендер |
| gender | female | Жіноча |
| gender | male | Чоловіча |
| gender | other | Інша |
Стовпці, які ви додаєте до своєї книги Excel, незалежно від того, є вони обов’язковими чи необов’язковими, можуть з’являтися в будь-якому порядку. Необов’язкові стовпці можна повністю опустити. Рядки або стовпці можна залишати порожніми для кращої читабельності, але дані після 20 суміжних порожніх стовпців або рядків на аркуші не будуть оброблятися. Усе форматування файлу .xlsx ігнорується, тому ви можете використовувати роздільні лінії, заливку та інше форматування шрифту для кращої читабельності форми.
Важливо пам’ятати при створенні форм у Excel, що синтаксис, який ви використовуєте, повинен бути точним. Наприклад, якщо ви напишете Choices або choice замість choices, форма не буде працювати.
Аркуш settings
Аркуш settings необов’язковий, але дозволяє вказувати метадані та поведінку рівня форми. Загальні стовпці в аркуші settings включають:
| Стовпець | Опис |
|---|---|
| form_title | Назва форми, що відображається для користувачів |
| form_id | Унікальний ідентифікатор форми, що використовується в управлінні даними та API-викликах |
| default_language | Код мови за замовчуванням для багатомовних форм (наприклад, ’en’ для англійської) |
| version | Номер версії форми, корисний для відстеження змін |
| instance_name | Вираз для генерації унікальної назви для кожного відправлення форми |
| generation | Ціле число, що позначає покоління форми. Збільшуйте для структурних змін |
| family | Ідентифікатор для групування пов’язаних форм між структурними змінами |
Аркуш settings у rtSurvey може також включати додаткові конфігурації, специфічні для розширених функцій rtSurvey. Зверніться до документації rtSurvey для повного списку підтримуваних налаштувань.
Ключові компоненти аркуша survey
Аркуш survey є ядром вашого проектування форм. Ось огляд його ключових компонентів:
| Компонент | Опис |
|---|---|
| type | Вказує тип питання (наприклад, text, integer, select_one) |
| name | Унікальний ідентифікатор для питання |
| label | Текст, що відображається респонденту |
| hint | Додаткові вказівки для респондента |
| appearance | Змінює відображення питання |
| relevant | Визначає, коли має бути задано питання (логіка пропуску) |
| constraint | Перевіряє відповідь |
| calculation | Обчислює значення на основі інших відповідей |
| required | Вказує, чи потрібна обов’язкова відповідь |
Кожен із цих компонентів відіграє важливу роль у створенні ефективних і дієвих опитувань.
Типи питань
XLSForm підтримує ряд типів питань. Ось лише деякі з варіантів, які можна ввести в стовпець type в аркуші survey у вашому XLSForm:
| Тип питання | Введення відповіді |
|---|---|
| integer | Введення цілого числа. |
| decimal | Введення десяткового числа. |
| range | Введення діапазону (включаючи рейтинг) |
| text | Відповідь у вільній формі. |
| select_one [options] | Питання з множинним вибором; можна вибрати лише одну відповідь. |
| select_multiple [options] | Питання з множинним вибором; можна вибрати кілька відповідей. |
| select_one_from_file [file] | Множинний вибір з файлу; можна вибрати лише одну відповідь. |
| select_multiple_from_file [file] | Множинний вибір з файлу; можна вибрати кілька відповідей. |
| rank [options] | Питання ранжування; упорядкування списку. |
| note | Відображення нотатки на екрані, не потребує введення. Скорочення для type=text з readonly=true. |
| geopoint | Збирання однієї GPS-координати. |
| geotrace | Запис лінії з двох або більше GPS-координат. |
| geoshape | Запис полігону з кількох GPS-координат; остання точка збігається з першою. |
| date | Введення дати. |
| time | Введення часу. |
| dateTime | Приймає введення дати та часу. |
| image | Зробити фото або завантажити файл зображення. |
| audio | Зробити аудіозапис або завантажити аудіофайл. |
| background-audio | Аудіо записується у фоновому режимі під час заповнення форми. |
| video | Зробити відеозапис або завантажити відеофайл. |
| file | Введення загального файлу (txt, pdf, xls, xlsx, doc, docx, rtf, zip) |
| barcode | Сканування штрих-коду, потребує встановлення додатку для сканування. |
| calculate | Виконання обчислення; дивіться розділ Обчислення нижче. |
| acknowledge | Підтвердження запиту, що встановлює значення “OK” при виборі. |
| hidden | Поле без пов’язаного елемента інтерфейсу для зберігання константи |
| xml-external | Додає посилання на зовнішній файл даних XML |
Мітки
Мітки — це текст, що відображається респондентам для кожного питання. Вони є критично важливими для чіткого спілкування в опитуваннях.
- Базове використання: У стовпці
labelвведіть текст питання. - Кілька мов: Використовуйте додаткові стовпці, такі як
label::Englishтаlabel::French, для багатомовних опитувань. - Форматування: rtSurvey підтримує базове HTML-форматування у мітках для виділення або структури.
Підказки
Підказки надають додаткові вказівки респондентам без захаращення основного тексту питання.
- Використання: Додайте підказки у стовпець
hint. - Видимість: Підказки зазвичай відображаються під основним текстом питання.
- Багатомовний: Як і мітки, підказки можна вказувати для кількох мов за допомогою стовпців
hint::Language.
Зовнішній вигляд
Стовпець appearance у rtSurvey дозволяє налаштовувати відображення питань.
- Стандартні варіанти: Включають ‘multiline’ для тексту, ‘horizontal’ для питань з вибором.
- Розширення rtSurvey:
- Введення часу: Різні варіанти відображення годинника
- Налаштування кольору: Використовуйте функцію
colors()для зміни кольорів значків
Відповідність
Стовпець relevant реалізує логіку пропуску, визначаючи, коли має відображатися питання.
- Синтаксис: Використовуйте XPath-вирази для визначення умов.
- Змінні: Посилайтесь на назви інших питань за допомогою
${question_name}.
Обов’язкові
Стовпець required вказує, чи повинне питання мати відповідь.
- Базове використання: Використовуйте ‘yes’ або ’true’, щоб зробити питання обов’язковим.
- Розширений: Можна використовувати вирази для умовної обов’язковості.
Повтори
Повтори дозволяють групі питань отримувати відповіді кілька разів.
- Використання: Використовуйте рядки
begin repeatтаend repeatдля визначення групи, що повторюється. - Іменування: Давайте кожній групі повторів унікальну назву.
Медіа
rtSurvey підтримує різні типи медіа в опитуваннях, включаючи зображення, аудіо та відео.
- Типи питань: Використовуйте ‘image’, ‘audio’ або ‘video’ у стовпці type.
- Медіа в мітках: Посилайтеся на медіафайли в мітках за допомогою HTML-тегів.
Лише читання
Поля лише для читання відображають інформацію без дозволу введення користувача.
- Використання: Додайте ‘readonly’ до стовпця
appearance. - Обчислення: Часто використовується з типом calculate для відображення обчислених значень.
Розширення rtSurvey
rtSurvey розширює стандарт XLSForm, підтримуючи додаткові можливості, такі як grid layout, html format та багато нових widgets.
Сітковий макет
rtSurvey дозволяє вашій формі імітувати вигляд традиційних паперових опитувань, розміщуючи кілька питань в одному рядку.