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

Ganesh ganesh at j4fry.org
Sun Feb 14 03:55:31 EST 2010


I've opened a spec issue on this: https://javaserverfaces-spec-public.devjava.net/issues/show_bug.cgi?id=744

Can we schedule a clarification for 2.0 rev a to allow MyFaces and Mojarra to accept the same range of taglib declarations? This would help a lot for taglib development. E.g. DojoFaces uses http://java.sun.com/dtd/facelet-taglib_1_0.dtd and expected this to work with JSF 2.0, but with MyFaces 2.0 beta it doesn't.

Best regards,
Ganesh

Ganesh schrieb:
> 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=2.0. 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