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

         

Начало блока вопросов...



Листинг 7.8. Начало блока вопросов в документе XML (customersurvey.xml)

<Block name="cds" type="terminal" >
<Ques type="QMCM" id="palm:1">
<Qtext>
Please select all of the categories of CD that you would like to see in our catalog </Qtext>
<Qopt val="0">
Classical music</Qopt>
<Qopt val="1">
Country and Western</Qopt>
<Qopt val="2">
The latest Pop Groups</Qopt>
<Qopt val="3">
Current Rock</Qopt>
<Qopt val="4">
Golden Oldies Rock</Qopt>
<Qopt val="5">
Environmental</Qopt>
<Qopt val="6">
Novelty and Humor</Qopt>
</Ques>

Открывающий тег Ques использует атрибут type для задания типа вопросов, в данном случае QMCM. Атрибут id является уникальным идентификатором этого вопроса.

Вместо того чтобы сравнивать строку, являющуюся значением атрибута type, с возможными типами вопросов, мы используем хэш-таблицу Hashtable и отыскиваем в ней целочисленное значение типа int, которое можно использовать в инструкции switch для выбора нужного способа представления вопроса. Эта хэш-таблица называется typeHash, а поиск в ней осуществляется с помощью метода 1 ookUpType, показанного в листинге 7.9.

Для добавления нового типа вы просто должны будете определить новую строку String и целочисленную константу типа int в качестве статических переменных класса Interpreter и в хэш-таблице typeHash.



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