[jsr-314-open] Old version facelets taglib jars

Ganesh ganesh at j4fry.org
Wed Feb 10 04:43:47 EST 2010


The xsd part cited below IMHO contradicts 10.1.2, because is breaks 
old Facelets taglibs that start with:
<!DOCTYPE facelet-taglib PUBLIC  "-//Sun Microsystems, Inc.//DTD Facelet Taglib 1.0//EN"
  "http://java.sun.com/dtd/facelet-taglib_1_0.dtd">

Here'S the relevant phrase from the spec, 10.1.2:

A decision was made early in this process to strive for backwards compatibility between the latest popular version of Facelets and Facelets in JSF 2.0. The sole determinant to backwards compatibility lies in the answer to the question, “is there any Java code in the application, or in libraries used by the application, that extends from or depends on any class in package com.sun.facelets and/or its sub-packages?”
■ If the answer to this question is “yes”, Facelets in JSF 2.0 is not backwards compatibile with Facelets and such an application must continue to bundle the Facelets jar file along with the application, continue to set the Facelets configuration parameters, and also set the javax.faces.DISABLE_FACELET_JSF_VIEWHANDLER
<context-param> to true. Please see Section 11.1.3 “Application Configuration Parameters” for details on this
option. Any code that extends or depends on any class in package com.sun.facelets and/or its sub-packages
must be modified to depend on the appropriate classes in package javax.faces.webapp.vdl and/or its subpackages.
■ If the answer to this question is “no”, Facelets in JSF 2.0 is backwards compatible with pre-JSF 2.0 Facelets and such an application must not continue to bundle the Facelets jar file along with the application, and must not continue to set the Facelets configuration parameters.
Thankfully, most applications that use Facelets fall into the latter category, or, if they fall in the former, their dependence will easily be migrated to the new public classes.

Is this a spec bug?

Best regards,
Ganesh

Ganesh schrieb:
> On the MyFaces dev list there are some discussions about
> which versions of facelets taglibs should be allowed
> with MyFaces 2.0. Mojarra runs fine with old facelets
> taglibs, but MyFaces 2.0 beta currently insists on a taglib version=20. 
> So, what does the EG say: Is
> a JSF 2.0 compatible implementation required to
> refuse old version facelets taglibs? Here's the relevant
> part of the spec:
> 
> <xsd:simpleType name="facelet-taglib-versionType">
>   <xsd:annotation>
>      A-100 JavaServer Faces Specification • March 2009
>      <xsd:documentation>
>         This type contains the recognized versions of
>         facelet-taglib supported.
>      </xsd:documentation>
>   </xsd:annotation>
>   <xsd:restriction base="xsd:token">
>      <xsd:enumeration value="2.0"/>
>   </xsd:restriction>
> </xsd:simpleType>
> 
> Best regards,
> Ganesh
> 




More information about the jsr-314-open-mirror mailing list