Some questions and suggestions that may need further discussion: - Is there a reason why validators and converters (actionListeners and valueChangeListeners too?) are not inherited by elements and extending components?
- There is a problem with properties. A component is possibly based on the generic attribute map and has no setter for a property. e.g. functionName property in ValidatorScript. At the moment Clay has no knowledge about such attributes and it's impossible to do a type conversion. I think something like this is needed: <component jsfid="validatorScript" componentType="org.apache.shale.ValidatorScript"/> <properties> <property name="functionName" type="String"/> </properties> ... </component> Which could be optional if a setter exists. - I think something like namespaces is needed for the jsfid attribut to avoid name collisions between components of different sources. - I think that it would be a nice possibility to have a component without componentType to define components without common parent. Something like this: <component jsfid="aField"/> <element jsfid="outputLabel"> <attributes> <set name="value" value="#{messages["components.fieldName"]}" /> <set name="for" value="inputField"/> </attributes> </element> <element jsfid="emptyOutputText"/> <element jsfid="panelGroup"> <element id="inputField" jsfid="inputText"> <attributes> <set name="value" value="#{managed-bean-name.value}" /> </attributes> </element> <element jsfid="errorMessage"> <attributes> <set name="for" value="inputField"/> </attributes> </element> </element> </component> <component jsfid="aPanel" extends="panelGrid"> <element jsfid="aField"/> </component> Whereby the elements from aField are directly added to the panelGrid. Comments welcome. Manfred ______________________________________________________________ Verschicken Sie romantische, coole und witzige Bilder per SMS! Jetzt bei WEB.DE FreeMail: http://f.web.de/?mc=021193 --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]