Создание системы опросов с помощью XML-сценария
Простая, но эффективная форма сбора информации — это проведение опроса по сети. Поскольку язык XML предназначен, в частности, для определения структуры документов, а опрос осуществляется как раз с помощью четко структурированных документов, XML как нельзя лучше подходит для решения нашей задачи. Основанная на XML система опросов, которой посвящены все остальные разделы этой главы, отличается гибкостью. В этой системе конкретный пользователь не связывается со своими ответами; система просто собирает ответы всех пользователей вместе. В систему несложно внести изменения, которые позволили бы сохранять ответы каждого пользователя в базе данных, но в таком случае вам пришлось бы объяснять пользователю, что именно вы собираетесь делать с его персональной информацией.
В этом разделе мы займемся разработкой обобщенной структуры XML для создания системы сетевых опросов. Мы начнем со списка критериев, которым должна отвечать система.
Управление внешним видом. В идеале, мы хотели бы, чтобы дизайн-страницы с вопросами не нарушал общего стиля нашего web-сайта.
Гибкость методов опроса. Мы должны иметь возможность применять различные методы опросов: от простых вопросов, на которые пользователь отвечает «да» или «нет», до выбора одного из предложенных ответов.
Возможность ветвления. В одном и том же сценарии очередность вопросов должна зависеть от ответов пользователей. Например, если из ответа на некоторый вопрос понятно, что данный пользователь никогда не покупает музыкальные компакт-диски через Интернет, не имеет смысла расспрашивать его о музыкальных предпочтениях и нужно выбрать другую ветвь вопросов.
Расширяемость. Если в систему потребуется добавить новую форму представления вопросов, необходимые изменения кода должны быть минимальными.
Запись результатов. Результаты опроса каждого участника должны быть записаны полностью и не должны зависеть от результатов других участников. Это дает максимальную гибкость при анализе.