I have just downloaded standar-1.1.1 and noticed that on: c.tld, fmt.tld, sql.tld and x.tld this line appears: <taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd" version="2.0"> on http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd is missing a final / http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd Pedro Salgado
According to the W3C document the schemaLocation declaration is made up of a pair of URI references. One defines the namespace name and the other is a hint as to the location of the schema document. The space in the schemaLocation definition separates the two declarations. For a complete explanation you can take a look at part 3 of: http://www.w3.org/TR/xmlschema-1/#schema-loc In the JSTL case the location is not an absolute URI which can be confusing especially to some IDE's. I went ahead and changed it to be an absoluate URI pointing to the schema document location. Note that there is a space character between the namespace declaration and schema document location. That space character is intentional. I know that some IDE's may have problems with the new W3C standards. Hopefully they will be catching up and supporting these types of definitions soon.