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

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

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

icon_ok

+++

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

icon_okicon_nok

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