WARNING: You are not looking at the live version, but at an older version.

Introduction

Here we give an overview of the features of the Kauri template language, and their current state. We also give a qualification of the importance/urgency of the feature.

Legend:

--

not needed

+

nice to have

++

need to have

+++

blocker (i.e. need to have asap)

Template directives

directive

state

qualification

note

if...

icon_ok

++

if... else...

--

no added value next to choose when... otherwise...

choose -> when...

icon_ok

++

choose -> otherwise...

icon_ok

++

forEach...

icon_ok

icon_ok

++

++

repeat number of times ; access to: index, number, (size), (position), revIndex, revNumber

foreach x in collection

import <template>

icon_ok

++

@runtime  - xslt-alike - local macro's and var assignments overrule the ones in the imported template

include <template>

icon_ok

++

@runtime - xslt-alike - included macro's and var assignments can overrule when include is after the local declaration

insert <url>

insert <var>

icon_ok

+++

+

@runtime - verbatim copy of refered document

@runtime - serialize in sax events from refered object

comment

icon_ok

+

ability to generate comments in output

attribute

icon_ok

++

element

icon_ok

icon_nok

++

+

create an output element with a dynamic name

support creation of namespaced elements : #391

macro

icon_ok

+

variable

icon_ok

++

+

create a local alias of an object

support dom-trees

Expression language

expression

state

qualification

note

true, false

icon_ok

++

and, or, ! (not)

icon_ok

++

==, !=, <, >, <=, >=

icon_ok

++

toUpperCase, toLowerCase

icon_ok

++

substring, left, right

icon_ok

+

trim

icon_ok

+

length

icon_ok

++

concat

icon_ok

+

although this can be done implicit, we provided the method (with varargs) for convenience

date (with formatting options), now

icon_ok

+

startswith, endswith, contains

icon_ok

++

exp ? val1 : val2

icon_ok

++

Advanced topics

topic

state

qualification

note

taglibs support

icon_ok icon_nok

++

first attempt

decorator

icon_nok

+

waiting for concrete use case

formatting, i18n

+++

very important - via EL

public uri translate

icon_ok

+++

very important - via EL

function registry

icon_ok

+++

enable through module interface: important

whitespace handling

icon_ok

++

keep in mind

template inheritance mechanism

icon_ok

+++

cfr include and import ; important

XPath support in EL

icon_nok

++

inspiration from xslt - use jxpath (cfr jxtemplate) ? #392

support for groovy expressions

icon_ok

+++

security aspect

--

possibility to white- or blacklist locations of scripts (e.g. groovy) and templates : not needed, responsibility of template author

Template engine

subject

state

note

template executor

icon_ok

sax based default implementation

template builder

icon_ok

sax based default implementation

template service

icon_ok

first version with some basic caching

junit tests

icon_ok

documentation

icon_ok

some more javadoc, documentation

restlet/kauri integration

icon_ok

resolver, context, ...

caching

caching (compiledtemplate & output) : basic caching available, might need more work : #42