<div class="gmail_quote"><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="gmail_quote"><div><br>Here's how the formal XML syntax would look (with our new URN namespaces ;))<div class="im">
<br><br><?xml version="1.0" encoding="UTF-8"?><br></div><f:view xmlns:f="jsf:core" xmlns:h="jsf:html" omitXmlDeclaration="true"><br>
<h:doctype lang="xhtml" type="strict"/><br> <h:html><br> <h:head><br> </h:head><br> <h:body><br> <h1>Hello World!</h1><br> </h:body><br>
</h:html><br></f:view><br></div></div><br></blockquote><div>And we should be writing composite components like this:<br><br><?xml version="1.0" encoding="UTF-8"?><br><ui:composition xmlns:ui="jsf:facelets" xmlns:cc="jsf:cc"><br>
<cc:interface><br> <cc:attribute name="name" required="true"/><br> </cc:interface><br> <cc:implementation><br> Hello, #{<a href="http://cc.attr.name">cc.attr.name</a>}<br>
</cc:implementation><br></ui:composition><br><br>The point being, no need for all the HTML wrapper garbage.<br><br>I'd even like to get rid of the ui:composition there and perhaps have something like "cc:component" or "cc:tag" as the wrapper.<br>
<br>We can also leverage the default namespace to cut out the unnecessary namespace prefixes:<br><br><?xml version="1.0" encoding="UTF-8"?><br><component xmlns="jsf:cc"><br> <interface><br>
<attribute name="name" required="true"/><br> </interface><br> <implementation><br> Hello, #{<a href="http://cc.attr.name">cc.attr.name</a>}<br> </implementation><br>
</component><br><br>Notice that I'm not really changing all that much in JSF to get to this point. It's really just a shift in thinking (and recommending).<br><br>-Dan<br></div></div><br>-- <br>Dan Allen<br>
Senior Software Engineer, Red Hat | Author of Seam in Action<br>Registered Linux User #231597<br><br><a href="http://mojavelinux.com">http://mojavelinux.com</a><br><a href="http://mojavelinux.com/seaminaction">http://mojavelinux.com/seaminaction</a><br>
<a href="http://www.google.com/profiles/dan.j.allen">http://www.google.com/profiles/dan.j.allen</a><br>