An implementation can still work in a 1 pass manner; it only needs to remember all the 
prefixes it has found and make the assumption that taglib directives appear before their use.  
But, if it later discovers that a taglib directive is defining a prefix that was used previously 
then it can cause a translation error.
Processing Tag Libraries
We describe some details of how to compile Tag Libraries and show an sketch of some code 
implementing a JSP page.
Processing a Tag Library Descriptor
The tag library descriptor is read and information is extracted from it. Some of the actions to 
be performed include:
Record the mapping from tag to tag handler class
Record the tag as a known to the JSP container so a taglib directive will introduce new 
Record information on what tags must have an empty body, to be checked on individual 
pages later on.
Record what are the valid attributes, and which ones can have request time values.
Record the TagExtraInfo classes, if any, associated with given tags,.
Can be used to perform reflection on the tag handler classes to determine if the class 
implements Tag or BodyTag
Can be used to perform introspection on the tag handler classes to determine their 
properties and their setter methods.
Processing a JSP page
When the JSP container processes a JSP page, it will perform analysis, validation, and 
generation of code. Actions include:
Validate that actions who must have an empty body do.
Validate that the only attributes that appear are those indicated in the TLD.
Validate that the only attributes with request time values are those indicated in the TLD.
JavaServer Pages 1.1 Specification  
November 30, 1999

JSP Web Hosting JavaServer Pages Specifications JSP Hosting Business web hosting division of Vision Web Hosting Inc. All rights reserved.