Templates
There is a general feeling that JXTemplateGenerator need to be refactored so it becomes more supportable, and also so that some components are possible in other parts of Cocoon, see:
- Templating Engine - Next steps? and also
- (RT) StringTemplate: The answer to our templating needs?
- Expression languages
- Planning Cocoon's future
Design
A TemplateEngineDesign has been propsed and partially implemented:
- (Design) JXTG 2.0
- (RFC) "Cocoon Templates": Name and Tag Interface
- (status/roadmap) JXTG Refactoring
- (RFC) Plugable Expressions
Experimental stuff
- HtmlToXsltExperiments - simple conversion of HTML attribute-based templates to XSLT
Attribute Driven Templating
In some cases e.g. when using Dreamweaver, using attributes as template directives is better as it doen't disturb WYSIWYG. It might also make the templates less verbose and easier to read. This has been discussed in various threads and a design proposal can be found in AttributeTemplates:
- (Design) JXTG 2.0 (Just say no!)
- (Design) JXTG 2.0 (Just say yes!)
- (Design) JXTG 2.0 (Just my opinion)
- What do we need taglibs for?
- (RT) do me a favor, don't call them taglibs
- (RT) Attribute Driven Templates
- (RT) Attribute Driven Templates
Formatting
There has also been discussions, design and implementation activities about factoring out the format part of templating and CForms to a separate layer:
XSLT/XQuery based templating
The idea of using XSLT or XQuery as template language was discussed in quite some detail in the beginning of 2003:
- http://marc.theaimsgroup.com/?t=104930795600004&r=4&w=2
- http://marc.theaimsgroup.com/?l=xml-cocoon-dev&m=104998241710064&w=2
- http://marc.theaimsgroup.com/?t=105016536400004&r=1&w=2
- http://marc.theaimsgroup.com/?l=jakarta-commons-dev&m=105178436429214&w=2
Although being an attractive templating solution in many ways, the conclusion back then was that it was to complicated to get efficient traversal of Java beans. Also there wasn't any good XQuery implementations that had a licence that was considered compatible with ASL either.