<!ATTLIST attribute id ID#IMPLIED>
Субэлементы attribute'а имеют форму:
name | имя атрибута (необходим) |
required | необходимо или не обязательно наличие атрибута (по выбору) |
rtexprvalue | может ли значение атрибута динамически вычисляться во время прогона выражением скриптлета (по выбору) |
type | тип значения атрибута (по выбору) |
description |
необязательное описание атрибута |
Синтаксис:
<!ELEMENT attribute (name, required?,rtexprvalue?, type?, description?)>
<name>
Определяет каноническое имя определяемого тэга или атрибута.
Синтаксис:
<!ELEMENT name (#PCDATA)>
#PCDATA ::= NMTOKEN
<required>
Определяет, является содержащий вложение/nesting атрибут required/необходимым или optional/"по выбору".
Синтаксис:
<!ELEMENT required (#PCDATA)>
#PCDATA ::= true | false | yes | no
Если отсутствует, то по умолчанию “false”, т.е. это атрибут optional.
<rtexprvalue>
Определяет, может ли содержащий (имеющий вложенные атрибуты) атрибут иметь выражения скриптлета в качестве значения, т.е. может ли значение атрибута динамически вычисляться на этапе запроса, что противоположно статическому значению, определяемому на этапе трансляции.
Синтаксис:
<!ELEMENT rtexprvalue (#PCDATA)>
#PCDATA ::= true | false | yes | no
Если отсутствует, по умолчанию - “false”, т.е. атрибут имеет статическое/static значение.
<type>
Определяет тип Java значения атрибута. Для литеральных значений (rtexprvalue = false) тип всегда - java.lang.String. Если rtexprvalue установлен в true, тогда type определяет тип возвращаемого значения, ожидаемый от любого выражения скриптлета, специфицированного как значение этого атрибута.
Значение данного атрибута должно совпадать со значением свойства основного компонента JavaBean.
Синтаксис:
<!ELEMENT type (#PCDATA)>
#PCDATA ::= полное квалифицированное имя Java-класса - тип результата
Пример:
<type> java.lang.Object </type>
<example>
Содержимое этого элемента предназначается в качестве примера использования тэга. Этот элемент не интерпретируется JSP-контейнером и не воздействует на семантику тэга.
<!ELEMENT example (#PCDATA)>