<?xml encoding='ISO-8859-1' ?>
<!ELEMENT jsp-script (
version?,
language?,
errorpage?,
import*,
contenttype?,
header*,
declaration?,
body?
)
>
<!ATTLIST jsp-script name CDATA #REQUIRED>
<!ELEMENT version (#PCDATA)>
<!ELEMENT language (#PCDATA)>
<!ELEMENT errorpage (#PCDATA)>
<!ELEMENT import (#PCDATA)>
<!ELEMENT contenttype (#PCDATA)>
<!ELEMENT declaration (#PCDATA)>
<!ELEMENT body
(
boilerplate
|comment
|display
|excludeif
|expression
|includeif
|include
|loop
|scriptlet
|usebean
)*
>
<!ELEMENT boilerplate (#PCDATA)>
<!ELEMENT comment (#PCDATA)>
<!ELEMENT display EMPTY>
<!ATTLIST
display
property CDATA #REQUIRED
placeholder CDATA #IMPLIED
>
<!ELEMENT excludeif (body?)>
<!ATTLIST
excludeif
property CDATA #REQUIRED
value CDATA #REQUIRED
case (sensitive|insensitive) 'insensitive'
match (contains|startswith|endswith|null|exact) 'exact'
>
<!ELEMENT expression (#PCDATA)>
<!ELEMENT header EMPTY>
<!ATTLIST
header
name CDATA #REQUIRED
value CDATA #REQUIRED
>
<!ELEMENT include EMPTY>
<!ATTLIST
include
file CDATA #IMPLIED
virtual CDATA #IMPLIED
include CDATA #IMPLIED
>
<!ELEMENT includeif (body?)>
<!ATTLIST
includeif
property CDATA #REQUIRED
value CDATA #REQUIRED
case (sensitive|insensitive) 'insensitive'
match (contains|startswith|endswith|null|exact) 'exact'
>
<!ELEMENT loop (body?)>
<!ATTLIST
loop
property CDATA #REQUIRED
propertyelement CDATA #REQUIRED
>
<!ELEMENT setoncreate EMPTY>
<!ATTLIST
setoncreate
beanproperty CDATA #REQUIRED
value CDATA #REQUIRED
>
<!ELEMENT setfromrequest EMPTY>
<!ATTLIST
setfromrequest
beanproperty CDATA #REQUIRED
paramname CDATA #IMPLIED
>
<!ELEMENT scriptlet (#PCDATA)>
<!ELEMENT usebean ((setoncreate|setfromrequest)*)>
<!ATTLIST
usebean
name CDATA #REQUIRED
type CDATA #REQUIRED
lifespan (page|session|application) #REQUIRED
>