Учебное пособие (1075724), страница 30
Текст из файла (страница 30)
Файл «input_hints.xhtml».<?xml version="1.0" encoding="UTF-8"?><html xmlns="http://www.w3.org/1999/xhtml"xmlns:xforms="http://www.w3.org/2002/xforms"xmlns:ev="http://www.w3.org/2001/xml-events" ><head><title>Пример элемента input - подсказки</title>285<!-- Пустой префикс пространства имен обязателен для корневогоэлемента xforms:instance --><xforms:model><xforms:instance><example xmlns=""><text/><date/></example></xforms:instance><xforms:bind nodeset="date" type="xforms:date"/><xforms:submission action="" method="post" id="submit_id"includenamespaceprefixes=""/></xforms:model></head><body><xforms:group><xforms:input ref="text"><xforms:label>(label) Текст подсказки:</xforms:label><xforms:help>(help) Помощь по элементу</xforms:help><xforms:hint>(hint) Всплывающая подсказка</xforms:hint><xforms:alert>(alert) Окно сообщения сподсказкой</xforms:alert></xforms:input><xforms:input ref="date"><xforms:label>(label) Введите дату:</xforms:label><xforms:help>(help) Помощь для элемента вводадаты</xforms:help><xforms:hint>(hint) Всплывающая подсказка для элемента вводадаты</xforms:hint><xforms:alert>(alert) Необходимо ввести правильнуюдату</xforms:alert></xforms:input>286<xforms:submit submission="submit_id"><xforms:label>Отправка формы</xforms:label></xforms:submit></xforms:group></body></html>Результат выполнения примера:Рис.
5.14. Результат выполнения примера 5.3. Файл «input_hints.xhtml».Сообщения можно хранить в модели данных, что бывает полезно приразработке приложений. В этом случае может использоваться способ обращения кданным через атрибут «ref».Пример 5.3. Файл «input_hints_model.xhtml».<?xml version="1.0" encoding="UTF-8"?><html xmlns="http://www.w3.org/1999/xhtml"xmlns:xforms="http://www.w3.org/2002/xforms"xmlns:ev="http://www.w3.org/2001/xml-events" ><head><title>Пример элемента input - модель</title><!-- Пустой префикс пространства имен обязателен для корневогоэлемента xforms:instance -->287<xforms:model id="model_data"><xforms:instance><example xmlns=""><text/><date/></example></xforms:instance><xforms:bind nodeset="date" type="xforms:date"/><xforms:submission action="" method="post" id="submit_id"includenamespaceprefixes=""/></xforms:model><!-- Сообщения заданы в виде отдельной модели данных, они могутбыть загружены из базы данных --><xforms:model id="model_message"><xforms:instance><example xmlns=""><message_label>(label) Введите дату:</message_label><message_help>(help) Помощь для элемента вводадаты</message_help><message_hint>(hint) Всплывающая подсказка для элементаввода даты</message_hint><message_alert>(alert) Необходимо ввести правильнуюдату</message_alert></example></xforms:instance></xforms:model></head><body><xforms:group><xforms:input ref="text" model="model_data"><xforms:label>(label) Текст подсказки:</xforms:label><xforms:help>(help) Помощь по элементу</xforms:help>288<xforms:hint>(hint) Всплывающая подсказка</xforms:hint><xforms:alert>(alert) Окно сообщения сподсказкой</xforms:alert></xforms:input><xforms:input ref="date" model="model_data"><!-- Сообщения заданы в виде ссылок на модель --><xforms:label model="model_message" ref="message_label" /><xforms:help model="model_message" ref="message_help"/><xforms:hint model="model_message" ref="message_hint"/><xforms:alert model="model_message" ref="message_alert"/></xforms:input><!-- Кнопка отправки формы.
Атрибут submission ссылается наэлемент xforms:submission в модели --><xforms:submit submission="submit_id"><xforms:label>Отправка формы</xforms:label></xforms:submit></xforms:group></body></html>Результат выполнения совпадает с предыдущим примером.5.7.8 Элемент triggerБольшинствомXForms-процессоровотображаетсякаккнопкаилигиперссылка.Обычно на этот элемент оказывает влияние атрибут «appearance».betterFORM отображает элемент «trigger» как кнопку в случае «appearance="full" |"compact"» или как гиперссылку в случае «appearance="minimal"».Пример 5.3. Файл «trigger.xhtml».<?xml version="1.0" encoding="UTF-8"?><html xmlns="http://www.w3.org/1999/xhtml"xmlns:xforms="http://www.w3.org/2002/xforms"xmlns:ev="http://www.w3.org/2001/xml-events" >289<head><title>Пример элемента trigger</title><!-- Пустой префикс пространства имен обязателен для корневогоэлемента xforms:instance --><xforms:model><xforms:instance><example xmlns=""><int/></example></xforms:instance><xforms:bind nodeset="int" type="xforms:integer"/></xforms:model></head><body><xforms:group><xforms:trigger appearance="full"><xforms:label>(appearance="full")</xforms:label><xforms:help>(help) Помощь по элементу</xforms:help><xforms:hint>(hint) Всплывающая подсказка</xforms:hint><xforms:alert>(alert) Окно сообщения сподсказкой</xforms:alert></xforms:trigger><xforms:trigger appearance="compact"><xforms:label>(appearance="compact")</xforms:label><xforms:help>(help) Помощь по элементу</xforms:help><xforms:hint>(hint) Всплывающая подсказка</xforms:hint><xforms:alert>(alert) Окно сообщения сподсказкой</xforms:alert></xforms:trigger><xforms:trigger appearance="minimal">290<xforms:label>(appearance="minimal")</xforms:label><xforms:help>(help) Помощь по элементу</xforms:help><xforms:hint>(hint) Всплывающая подсказка</xforms:hint><xforms:alert>(alert) Окно сообщения сподсказкой</xforms:alert></xforms:trigger></xforms:group></body></html>Результат выполнения примера:Рис.
5.15. Результат выполнения примера 5.3. Файл «trigger.xhtml».5.7.9 Элемент submitБольшинством XForms-процессоров отображается так же, как элемент trigger(в виде кнопки или гиперссылки в зависимости от атрибута «appearance»).Но если элемент trigger является кнопкой общего вида и реагирует насобытия, то элемент submit используется для завершения редактирования иотправки заполненных данных формы на сервер.У элемента submit должен быть задан атрибут «submission=id элементаsubmission». Элемент submission в модели данных определяет параметрыотправки заполненной формы.2915.7.10 Элемент selectЭлемент select позволяет выбирать несколько значений из списка элементов.Элементы списка могут быть заданы в виде констант или в виде данных в моделиданных.Несмотря на то, что список позволяет выбирать множество элементов,привязка результата выбора осуществляется к единственному XML-элементу. Этосвязано с тем, что выбранные элементы сохраняются в виде XML-списка (типданных «xsd:list»).Например, если в select выбраны элементы с кодами «val1» и «val3», то XMLэлемент данных «result» будет выглядеть как «<result>val1 val3</result>».
Кодывыбранных элементов списка будут помещены в XML-тэг result и будутразделены пробелами.На элемент «select» оказывает влияние атрибут «appearance».Если у элемента «select» указан атрибут «selection="open"», то список долженотображаться с полем ввода, в которое можно вводить дополнительные значения.Для создания элементов списка можно использовать два способа.1.
Элементы списка задаются в виде констант.Вэтомслучаевэлемент«xforms:select»помещаетсяэлемент«xforms:choices», а в него множество элементов «xforms:item», которыесоответствуют элементам списка.В элемент «xforms:item» помещается элемент «xforms:value», содержащийданные (код элемента, который записывается в результат), и элемент«xforms:label», содержащий отображаемое значение.Пример:<xforms:select model="result_model" ref="result"><xforms:choices><xforms:item><xforms:label>Значение 1</xforms:label><xforms:value>val1</xforms:value></xforms:item>.
. .292</xforms:choices></xforms:select>2. Элементы списка читаются из модели данных.Вэтомслучаевэлемент«xforms:select»помещаетсяэлемент«xforms:itemset», который задает множество элементов списка.Элемент «xforms:itemset» содержит атрибут «model» для ссылки на модельданных и атрибут «nodeset», в котором указано XPath-выражение, выбирающеемножество XML-элементов данных, соответствующих элементам списка.В элемент «xforms:itemset», как и в предыдущем случае, помещаютсяэлементы «xforms:value» и «xforms:label».














