Also, this issue is important for some clients, especially governments since they sometimes have politics about W3C standard compliance. Therefore, a very small issue like the generated id can be enough to put an end to a proposed JSF solution on its own. Of course, I know this is not the only thing needed to get full HTML 4.01, but it would be a good start.
Regards, ~ Simon On 4/20/07, Mike Kienenberger <[EMAIL PROTECTED]> wrote:
I did a quick search, and this issue has come up at least twice before, but the responses to keeping the current behavior were unconvincing. 5/20/2005 Serious problems with MyFaces ID allocation which is not conform to XHTML! 7/12/2006 w3c Markup validator does not like generated ID's after MyFaces version 1.1.1 There's nothing in the spec that says we must use underscore (_) for a clientID prefix. In fact, the spec (and javadocs) are pretty clear that we can provide any prefix we like so long as it is "unique". It's also recommended that it be short :-) Now a server-side id limited to [A-Z_-]. What are the limitations of a client-side id for xhtml and html? Maybe there's another character we can use that's not allowed in a server-side id. I know that colon is also allowed client-side. Either that or we pick something and hope users won't use the same prefix, like mc_, mf_, mm_, zz, or qq_. Finally, I proposed on the other thread that we allow the web.xml file to define the unique prefix. Unfortunately, I noticed now that the value has been declared final. It might still be possible to allow the user to configure it at startup, but that will probably make it more difficult. On 4/20/07, Simon Lessard <[EMAIL PROTECTED]> wrote: > Hello everyone, > > This thread is a follow-up for [EMAIL PROTECTED] thread about HTML 4.01 > compliance. As mentioned in that thread, JSF spec requires implementor to > provide a HTML 4.01 compliant renderkit (Section 8.5). However, both JSF RI > and MyFaces cannot currently ensure that. One of the reason is the prefix > used for generated ids. Currently UIViewRoot.UNIQUE_PREFIX_ID = "_id". > However, W3C does not allow ids starting with an underscore (see > http://www.w3.org/TR/html401/struct/global.html#h-7.5.2 and > http://www.w3.org/TR/html401/types.html#type-name ). > > Therefore, I think the value of UNIQUE_PREFIX_ID should be changed to > something like "mf_id" in order to comply with the spec, even if RI does > not. > > > Regards, > > ~Simon > > > Original thread can be found at > http://mail-archives.apache.org/mod_mbox/myfaces-users/200704.mbox/browser , > thread named XHTML Strict >
