1. The only thing your devs and designers need to agree on is some basic semantic markup and tag IDs. Then they can make a full comp (complete with sample data) for their purposes. You simply rewrite that data.
2. The approach is very declarative, which makes it a lot easier to reason about what is actually being shown and what is actually changing.
3. It's amenable to all the same functional properties of the sexp->xml stuff that you see here.
Enlive's approach is a nearly 100% win for doing site templating over these sorts of sexp->xml libraries.
https://github.com/cgrand/enlive
This has some really nice properties:
1. The only thing your devs and designers need to agree on is some basic semantic markup and tag IDs. Then they can make a full comp (complete with sample data) for their purposes. You simply rewrite that data.
2. The approach is very declarative, which makes it a lot easier to reason about what is actually being shown and what is actually changing.
3. It's amenable to all the same functional properties of the sexp->xml stuff that you see here.
Enlive's approach is a nearly 100% win for doing site templating over these sorts of sexp->xml libraries.