Edit in JSFiddle

<!DOCTYPE html>
<html>
  <head>
    <style>
      body,span{
        padding: 10px
      }
      input {
        margin: 10px
        }
      ol {
        border: solid 1px gray;
        min-height:100px;
        margin: 10px;
      }
    </style>
  </head>
  <body>
    <div id="container"></div>
    <!-- Generate main view -->
    <script type="text/domql">
      INSERT INTO (SELECT DIV FROM BODY WHERE ID='container') VALUES (
        CREATE ELEMENT h2 (
         innerText 'TODOS:'
        ),
        CREATE ELEMENT SPAN (
          innerText 'Count: 0',
          id 'count'
        ),
        CREATE ELEMENT OL (
         class 'list' 
        )
      );
      INSERT INTO (SELECT DIV FROM BODY WHERE ID='container') VALUES (
        CREATE ELEMENT LABEL (
          innerHTML 'Controls:'
        ),
        INSERT INTO (CREATE ELEMENT DIV(class 'controls')) VALUES (
            CREATE ELEMENT LABEL (
              innerHTML 'TODO:'
            ),
            CREATE ELEMENT INPUT (
              id 'input-name',
              type 'text'
            ),
            CREATE ELEMENT LABEL (
              innerHTML 'Time:'
            ),
            CREATE ELEMENT INPUT (
              id 'input-time',
              type 'text'
            ),
            CREATE ELEMENT INPUT (
              type 'submit',
              value 'add',
              onclick 'DOMQL.tmpl("add-list-item",
                                   DOMQL.tmpl("get-input", "input-name"),
                                   DOMQL.tmpl("get-input", "input-time")
                                  )
                       DOMQL.tmpl("update-count", DOMQL.tmpl("get-count"))'
            ),
            CREATE ELEMENT BR(),
            CREATE ELEMENT INPUT (
              type 'submit',
              value 'delete all',
              onclick 'DOMQL.tmpl("delete-all")
                       DOMQL.tmpl("update-count", DOMQL.tmpl("get-count"))'
            ),
            CREATE ELEMENT BR(),
            CREATE ELEMENT INPUT (
              type 'submit',
              value 'I dont need TODOS. I go through life like a boss!',
              onclick 'DOMQL.tmpl("like-a-boss")'
            )
        )
      )
    </script>
    
    <!-- PROCEDURES -->
      
    <!-- Adds a todo item to the list -->
    <script id="add-list-item" type="text/domql-tmpl">
      INSERT INTO (SELECT OL FROM DIV WHERE CLASS = 'list') VALUES (
        INSERT INTO (CREATE ELEMENT LI (
          class 'item'
        )) VALUES (
          CREATE ELEMENT SPAN (
            class 'name',
            innerHTML '%s'
          ),
          CREATE ELEMENT SPAN (
            class 'time',
            innerHTML '%s'
          ),
          CREATE ELEMENT BUTTON (
            innerHTML 'Delete',
            onclick 'DOMQL.DELETE(this.parentNode)
                     DOMQL.tmpl("update-count", DOMQL.tmpl("get-count"))'
          )
        )
      )
    </script>
     
    <!-- Gets a value of an input element by id -->
    <script id="get-input" type="text/domql-tmpl">
      SELECT VAL(INPUT) FROM BODY.ALL WHERE ID = '%s'
    </script>
      
    <!-- Gets the todo items count -->
    <script id="get-count" type="text/domql-tmpl">
      SELECT COUNT(LI) FROM OL
    </script>
    
    <!-- Updates the todo count with an integer -->
    <script id="update-count" type="text/domql-tmpl">
      UPDATE (SELECT SPAN FROM BODY.ALL WHERE ID='count')
        SET innerText = 'Count: %d'
    </script>
    
    <!-- Delete all todos -->
    <script id="delete-all" type="text/domql-tmpl">
      DROP ELEMENT LI;
    </script>
      
    <!-- Like a boss! -->
    <script id="like-a-boss" type="text/domql-tmpl">
      DROP ELEMENT DIV;
      INSERT INTO BODY VALUES (
        CREATE ELEMENT IMG (
          src 'http://27.media.tumblr.com/tumblr_lrcme60gbz1qzzzy9o1_500.jpg'
        )
      )  
    </script>
   <!-- END PROCEDURES -->
      
   <!-- When the app is ready add a predefined item. -->
    <script>
    DOMQL.ready(function () {
        DOMQL.tmpl("add-list-item",'Learn DOMQL', (new Date).toTimeString())
        DOMQL.tmpl("update-count", DOMQL.tmpl("get-count"))
    })    
    </script>
  </body>
</html>