Fork me on GitHub
by Look! It's a gravatar! Marc Palmer and Look! It's a gravatar! Chris Denman
HORN - HTML Object RepresentatioN

The HORN specification describes a way to weave your model data into HTML markup such that it can be used for both the presentation and data model in your client (typically JavaScript) code.

Using special CSS classes or HTML5 attributes you indicate which parts of your DOM are to be used as data.

This decouples your JavaScript code from the structure of the DOM - you deal with the model instead. It does not however force you to use an MVC pattern or anything like that. The specification details only how you weave data into HTML.

There is a jQuery based reference implementation of the parser with DOM-node re-population for full data round trip in your UI, without enforcing a specific MVC approach.


HORN Specification 1.0

Reference Implementations

Based on jQuery

Source code
User guide
Test reports (for CSS indicators)
Test reports (for HTML5 indicators)


You can download this project in either zip or tar formats.

You can also clone the project with Git by running:

$ git clone git://

Applications and tools using HORN

Grails HORN Plugin - Resources and tags for Grails developers to use HORN

Contributors / Contact

HORN was borne of the work done by Spotty Mushroom on the web application NoticeLocal.

Code: Chris Denman ( | Twitter)
Concept & docs: Marc Palmer (Contact | Twitter)
Logo: Patricia Furtado (Twitter)