Учебное пособие (1075724), страница 29
Текст из файла (страница 29)
Атрибут submission ссылается наэлемент xforms:submission в модели --><xforms:submit submission="submit_id"><xforms:label>Отправка формы</xforms:label></xforms:submit></xforms:group></body></html>Результат выполнения примера:275Рис. 5.10. Результат выполнения примера 5.3. Файл «textarea.xhtml».5.7.4 Элемент outputБольшинством XForms-процессоров отображается как текст, в которыйнельзя вводить данные.
Обычно используется для вывода вычисляемых полей.Если в элементе «xforms:output» используется атрибут «mediatype», то с егопомощью можно выводить данные различных типов (гиперссылки, изображения,фрагменты HTML и т.д.).Вместо атрибута mediatype в элементе «xforms:output» может использоватьсявложенный элемент xforms:mediatype.Пример 5.3. Файл «output.xhtml».276<?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"xmlns:xsd="http://www.w3.org/2001/XMLSchema"><head><title>Пример вывода</title><!-- Пустой префикс пространства имен обязателен для корневогоэлемента xforms:instance --><xforms:model><xforms:instance><example xmlns=""><out1>Пример вывода 1</out1><out2>http://localhost:8080/tomcat.gif</out2><type_model>image/*</type_model><html><![CDATA[ Разметка HTML <b>полужирный</b><i>курсив</i> <a href="http://localhost:8080/">главнаястраница</a>]]></html></example></xforms:instance><xforms:bind id="bind_out1" nodeset = "out1" /><!-- Элемент out2 имеет тип xsd:anyURI --><xforms:bind nodeset = "out2" type="xsd:anyURI" /><!-Кроме гиперссылок возможна ссылка на бинарные ресурсы типаxsd:base64Binary или xsd:hexBinary, которые являются частью модели.Бинарный ресурс должен быть декодирован и представлен,например, в виде изображения--></xforms:model></head><body>277<xforms:group><xforms:input ref="out1"><xforms:label>Введите текст:</xforms:label></xforms:input><!-- Вывод текста из элемента.
В атрибутеvalue используетсяXPath-выражение, которое определяет выводимое значение--><!-- С использованием value элемент должен обновляться приизменениях формы--><xforms:output value="concat('!!! ', out1, ' !!!')"><xforms:label>Вывод текста с использованиемvalue:</xforms:label></xforms:output><!-- Возможно также выводить значения с использованием ref илиbind, но рекомендуется использовать value--><xforms:output ref="out1"><xforms:label>Вывод текста с использованиемref:</xforms:label></xforms:output><xforms:output bind="bind_out1"><xforms:label>Вывод текста с использованиемbind:</xforms:label></xforms:output><!-- Если тип выводимого элемента xsd:anyURI, то он считаетсягиперссылкой на ресурс --><!-- В случае использования атрибута ref гиперссылка выводитсякак гиперссылка --><xforms:output ref="out2"><xforms:label>Гиперссылка на изображение</xforms:label></xforms:output>278<!-- В случае использования атрибута value гиперссылкавыводится как текст --><xforms:output value="out2"><xforms:label>Вывод текста ссылки наизображение:</xforms:label></xforms:output><!-- Атрибут mediatype указывает тип ресурса --><xforms:output value="out2" mediatype="image/*"><xforms:label>Вывод изображения (атрибутmediatype):</xforms:label></xforms:output><!-- Тип ресурса может быть также указан с помощью элементаmediatype и получен из модели с помощью атрибута value --><xforms:output value="out2"><xforms:mediatype>image/*</xforms:mediatype><xforms:label>Вывод изображения (элементmediatype):</xforms:label></xforms:output><xforms:output value="out2"><xforms:mediatype value="type_model"/><xforms:label>Вывод изображения (элемент mediatype соссылкой на модель):</xforms:label></xforms:output><!-- Атрибут mediatype указывает тип ресурса --><xforms:output value="html" mediatype="text/html"><xforms:label>Вывод фрагмента HTML:</xforms:label></xforms:output></xforms:group></body></html>279Результат выполнения примера:Рис.
5.11. Результат выполнения примера 5.3. Файл «output.xhtml».5.7.5 Элемент uploadБольшинством XForms-процессоров отображается как поле выбора файла.Элемент данных, связанный с этим полем, может быть типа xsd:anyURI,xsd:base64Binary или xsd:hexBinary.В случае типов данных xsd:base64Binary или xsd:hexBinary после выборафайла содержимое файла кодируется в соответствии с типом данных280(xsd:base64Binary или xsd:hexBinary) и помещается в содержимое связанногоэлемента. То есть весь файл помещается в содержимое XML-элемента данных.В случае типа данных xsd:anyURI в содержимое связанного элементапомещается только URI файла.Однако, кроме содержимого файла, как правило, требуется сохранить егоназвание и тип содержимого.
В элемент «upload» могут быть вложены элементы«filename» и «mediatype» с атрибутом «ref». Атрибут «ref» указывает поляданных, в которые после выбора файла помещаются его название и типсодержимого.Пример 5.3. Файл «upload.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"xmlns:xsd="http://www.w3.org/2001/XMLSchema"><head><title>Пример загрузки</title><!-- Пустой префикс пространства имен обязателен для корневогоэлемента xforms:instance --><xforms:model><xforms:instance><example xmlns=""><upload1/><upload2/><upload3/><type/><filename/></example></xforms:instance><xforms:bind nodeset = "upload1" type="xsd:anyURI" /><xforms:bind nodeset = "upload2" type="xsd:base64Binary" /><xforms:bind nodeset = "upload3" type="xsd:hexBinary" />281<xforms:submission action="" method="post" id="submit_id"includenamespaceprefixes=""/></xforms:model></head><body><xforms:group><xforms:upload ref="upload1"><xforms:label>Загрузка URI:</xforms:label><xforms:filename ref="filename"/><xforms:mediatype ref="type"/></xforms:upload><xforms:upload ref="upload2"><xforms:label>Загрузка файла base64Binary:</xforms:label><xforms:filename ref="filename"/><xforms:mediatype ref="type"/></xforms:upload><xforms:upload ref="upload3"><xforms:label>Загрузка файла hexBinary:</xforms:label><xforms:filename ref="filename"/><xforms:mediatype ref="type"/></xforms:upload><!-- Кнопка отправки формы.
Атрибут submission ссылается наэлемент xforms:submission в модели --><xforms:submit submission="submit_id"><xforms:label>Отправка формы</xforms:label></xforms:submit></xforms:group></body></html>282Результат выполнения примера:Рис.5.12. Результат выполнения примера 5.3. Файл «upload.xhtml».5.7.6 Элемент rangeБольшинством XForms-процессоров отображается как шкала, на которойможно выбрать одно значение.Элемент range содержит атрибуты: start=«начальное значение диапазона» end=«конечное значение диапазона» step=«шаг»По спецификации может использоваться для данных следующих типов:xsd:duration,xsd:date,xsd:time,xsd:dateTime,xsd:gYearMonth,xsd:gYear,xsd:gMonthDay, xsd:gDay, xsd:gMonth, xsd:float, xsd:double, xsd:decimal.Наиболее часто используется для целочисленных данных.Пример 5.3. Файл «range.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>283<title>Пример элемента range</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:input ref="int"><xforms:label>Введите число:</xforms:label></xforms:input><xforms:range ref="int" start="0" end="10" step="1"><xforms:label>Выберите значение:</xforms:label></xforms:range></xforms:group></body></html>Результат выполнения примера:284Рис.
5.13. Результат выполнения примера 5.3. Файл «range.xhtml».5.7.7 Элементы задания подсказок и вывода сообщенийДля задания подсказок и вывода сообщений в XForms используютсяследующие элементы: label – подпись к элементу, как правило, отображается слева отэлемента. help – справочная информация об элементе. hint – короткая справка об элементе, может отображаться каквсплывающая подсказка. alert – сообщение об ошибке, может отображаться в виде всплывающейподсказки при ошибке ввода данных в элемент управления.Разные XForms-процессоры могут отображать эти элементы различнымиспособами.Пример 5.3.














