Электронный магазин на Java и XML

         

Начало документа...



Листинг 7.2. Начало документа XML, определяющего анкету (customsurvey.xml)

<?xml version="1.0" standalone="yes" ?>
<Questionnaire title="Example Customer Survey" author="wbb" date="May 30, 2000" method="xml" file="e:\scripts\questionnaire\surveyresult.xml" >
<Intro>
<![CDATA[ <h1>
Welcome Customers</h1>
<br>
<p>
We here at <i>
BuyStuff.com</i>
want to meet your every desire to buy <b>
STUFF</b>
. To that end we are greatly expanding our on-line catalog and we want to concentrate on <b>
STUFF</b>
you will want to buy as soon as you see it. Please help by completing this simple survey. </p>
]]>
</Intro>
<Block name="intro" type="terminal" >
<Ques id="intro:1" type="QMC" >
<Qtext>
Which of the following are you most interested in buying on-line? </Qtext>
<Qopt val="a" branch="books" >
Books</Qopt>
<Qopt val="b" branch="cds" >
Cds</Qopt>
<Qopt val="c" branch="gadgets">
Electronic goodies</Qopt>
<Qopt val="d" >
I am not interested in buying Stuff!</Qopt>
</Ques>
<!-- this terminates the block and the questionnaire - could substitute different file for recording -->
<Terminal>
<![CDATA[<h2>
Thanks for looking anyway!</h2>
]]>
</Terminal>
</Block>

Элементы Qopt в первом вопросе со значениями атрибута val, равными a, b и с, служат ответвлениями к другим блокам, в то время как вариант ответа d приводит к отображению завершающего сообщения. Можно выбрать только один из предложенных ответов, потому что тип вопроса указан как QMC. В этой главе мы используем вопросы только двух типов: QMC (Question Multiple Choice — вопрос, допускающий выбор одного ответа из списка) и QMCM (Question Multiple Choice Multiple Answer — вопрос, допускающий выбор нескольких ответов из списка). Результаты ответа пользователя на этот вопрос записываются с помощью атрибута id вопроса и значений атрибутов val элементов Qopt.

В листинге 7.3 показан блок (из листинга 7.2), на который указывает атрибут branch тега Qopt, причем в последнем атрибут val имеет значение а. Вопрос с идентификатором books:! относится к типу QMCM, то есть позволяет выбрать несколько вариантов ответа. Блоки cds и gadgets устроены похожим образом.



Содержание раздела