<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib
        PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
        "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">

<!-- a tab library descriptor -->

<taglib>
  <!-- after this the default space is
	"http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd"
   -->

	<tlibversion>1.0</tlibversion>
	<jspversion>1.1</jspversion>
	<shortname>jml</shortname>
	<info>
		Oracle's jml tag library.  Not all of the jml
		tag's available in the Oracle JSP environment
		are provided in this library.  No jsp: tags are
		duplicated, some tags are unavailable, and some tags
		have stricter syntax.  No bean expressions are supported.
		
		The differences are:
			*-jml:call - not available 
			* jml:choose - works as documented
			* jml:flush - works as documented
			* jml:for - works as documented
			* jml:foreach - the type attribute is required, otherwise,
				as documented
			*!jml:forward - use jsp:forward
			*!jml:getProperty - use jsp:getProperty
			* jml:if - works as documented
			*!jml:include - use jsp:include
			*-jml:lock - not available
			*!jml:plugin - use jsp:plugin
			* jml:print - the expression to print must be supplied as
				an attribute.  i.e. the tag cannot have a body		
			* jml:remove - works as documented
			* jml:return - works as documented
			*-jml:set - not available
			*!jml:setProperty - use jsp:setProperty
			* jml:styleSheet - works as documented
			* jml:transform - works as documented
			*!jml:useBean - use jsp:useBean
			* jml:useCookie - works as documented 
			* jml:useForm - works as documented
			* jml:useVariable - works as documented		
	</info>

  	<!-- The choose tag -->
	<tag>
		<name>choose</name>
		<tagclass>oracle.jsp.jml.tagext.JmlChoose</tagclass>
		<bodycontent>JSP</bodycontent>
		<info>
			The outer tag of a multiple choice logic block,
			choose
				when condition1
				when condition2
				otherwise
			end choose
		</info>
	</tag>

  	<!-- The flush tag -->
	<tag>
		<name>flush</name>
		<tagclass>oracle.jsp.jml.tagext.JmlFlush</tagclass>
		<bodycontent>empty</bodycontent>
		<info>
			Flush the current JspWriter
		</info>
	</tag>
  
	<!-- The for tag -->
	<tag>
		<name>for</name>
		<tagclass>oracle.jsp.jml.tagext.JmlFor</tagclass>
		<teiclass>oracle.jsp.jml.tagext.JmlForTEI</teiclass>
		<bodycontent>JSP</bodycontent>
		<info>
			A simple for loop
		</info>

		<attribute>
			<name>id</name>
			<required>true</required>
		</attribute>
		<attribute>
			<name>from</name>
			<required>true</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<name>to</name>
			<required>true</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
	</tag>

	<!-- The foreach tag -->
	<tag>
		<name>foreach</name>
		<tagclass>oracle.jsp.jml.tagext.JmlForeach</tagclass>
		<teiclass>oracle.jsp.jml.tagext.JmlForeachTEI</teiclass>
		<bodycontent>JSP</bodycontent>
		<info>
			A foreach loop for iterating arrays, enumerations,
			and vector's.
		</info>

		<attribute>
			<name>id</name>
			<required>true</required>
		</attribute>
		<attribute>
			<name>in</name>
			<required>true</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<name>type</name>
			<required>true</required>
		</attribute>
		<attribute>
			<name>limit</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
	</tag>


	<!-- The if tag -->
	<tag>
		<name>if</name>
		<tagclass>oracle.jsp.jml.tagext.JmlIf</tagclass>
		<bodycontent>JSP</bodycontent>
		<info>
			A classic if
		</info>
	
		<attribute>
			<name>condition</name>
			<required>true</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
	</tag>

  	<!-- The otherwise tag -->
	<tag>
		<name>otherwise</name>
		<tagclass>oracle.jsp.jml.tagext.JmlOtherwise</tagclass>
		<bodycontent>JSP</bodycontent>
		<info>
			(optional) final part of a choose block
		</info>
	</tag>
	
  	<!-- The print tag -->
	<tag>
		<name>print</name>
		<tagclass>oracle.jsp.jml.tagext.JmlPrint</tagclass>
		<bodycontent>empty</bodycontent>
		<info>
			print the expression specified in the eval attribute
		</info>
		<attribute>
			<name>eval</name>
			<required>true</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
	</tag>

  	<!-- The remove tag -->
	<tag>
		<name>remove</name>
		<tagclass>oracle.jsp.jml.tagext.JmlRemove</tagclass>
		<bodycontent>empty</bodycontent>
		<info>
			remove the specified object from the pageContext
		</info>
		<attribute>
			<name>id</name>
			<required>true</required>
		</attribute>
		<attribute>
			<name>scope</name>
			<required>false</required>
		</attribute>
	</tag>

  	<!-- The return tag -->
	<tag>
		<name>return</name>
		<tagclass>oracle.jsp.jml.tagext.JmlReturn</tagclass>
		<bodycontent>empty</bodycontent>
		<info>
			Skip the rest of the page
		</info>
	</tag>

  	<!-- The styleSheet tag -->
	<tag>
		<name>styleSheet</name>
		<tagclass>oracle.jsp.jml.tagext.JmlStyleSheet</tagclass>
		<bodycontent>JSP</bodycontent>
		<info>
			Transform the body of the tag using a stylesheet
		</info>
		<attribute>
			<name>href</name>
			<required>true</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
	</tag>

  	<!-- The transform tag -->
	<tag>
		<name>transform</name>
		<tagclass>oracle.jsp.jml.tagext.JmlStyleSheet</tagclass>
		<bodycontent>JSP</bodycontent>
		<info>
			Transform the body of the tag using a stylesheet
		</info>
		<attribute>
			<name>href</name>
			<required>true</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
	</tag>

  	<!-- The useCookie tag -->
	<tag>
		<name>useCookie</name>
		<tagclass>oracle.jsp.jml.tagext.JmlUseCookie</tagclass>
		<teiclass>oracle.jsp.jml.tagext.JmlUseTEI</teiclass>
		<bodycontent>empty</bodycontent>
		<info>
			create a jml variable and initialize it to a cookie value
		</info>
		<attribute>
			<name>id</name>
			<required>true</required>
		</attribute>
		<attribute>
			<name>scope</name>
			<required>false</required>
		</attribute>
		<attribute>
			<name>type</name>
			<required>true</required>
		</attribute>
		<attribute>
			<name>cookie</name>
			<required>true</required>
		</attribute>
	</tag>

  	<!-- The useForm tag -->
	<tag>
		<name>useForm</name>
		<tagclass>oracle.jsp.jml.tagext.JmlUseForm</tagclass>
		<teiclass>oracle.jsp.jml.tagext.JmlUseTEI</teiclass>
		<bodycontent>empty</bodycontent>
		<info>
			create a jml variable and initialize it to a parameter value
		</info>
		<attribute>
			<name>id</name>
			<required>true</required>
		</attribute>
		<attribute>
			<name>scope</name>
			<required>false</required>
		</attribute>
		<attribute>
			<name>type</name>
			<required>true</required>
		</attribute>
		<attribute>
			<name>param</name>
			<required>true</required>
		</attribute>
	</tag>

  	<!-- The useVariable tag -->
	<tag>
		<name>useVariable</name>
		<tagclass>oracle.jsp.jml.tagext.JmlUseVariable</tagclass>
		<teiclass>oracle.jsp.jml.tagext.JmlUseTEI</teiclass>
		<bodycontent>empty</bodycontent>
		<info>
			create a jml variable and initialize it to a parameter value
		</info>
		<attribute>
			<name>id</name>
			<required>true</required>
		</attribute>
		<attribute>
			<name>scope</name>
			<required>false</required>
		</attribute>
		<attribute>
			<name>type</name>
			<required>true</required>
		</attribute>
		<attribute>
			<name>value</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
	</tag>

  	<!-- The when tag -->
	<tag>
		<name>when</name>
		<tagclass>oracle.jsp.jml.tagext.JmlWhen</tagclass>
		<bodycontent>JSP</bodycontent>
		<info>
			one part of a choose block, see choose
		</info>
		<attribute>
			<name>condition</name>
			<required>true</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
	</tag>

</taglib>
