About ZML

Overview

The Zero Markup Language, abbreviated ZML, is a template language to represent hierarchically structured data in conjunction with template logic in an integrated system. Structuring is without wrapping in <tags></tags> using indentation (indentation). ZML is designed for a platform- and implementation-independent use. A very lean but powerful syntax is based on glyphs:

* Views
+ Models
% Logic
! Translation
# Data
& Metadata
@ Resources
~ Routes
| Slots
< Signal handler
> Signal emitter
" Comment

The language uses a MVS approach. (Model View Signal)

%import components
%inherit 2col

*col1_content:
  div.panel:
    %for user in users:
      h1: User
      div.card:
        %if user.active:
          p: {user.firstname}
          p: {user.lastname}
          p: {user.email}
        %else:
          p: The user is not active

This ZML template produces the following HTML code:

<!DOCTYPE html>
<html>
  <head>
    <title>zml</title>
  </head>
  <body>
    <h1>zml  -  zero  markup  language</h1>
    <div class="grid" >
      <div class="m66" >
        <div class="left" >
          <div class="panel" >
            <h1>User</h1>
            <div class="card" >
              <p>Richard</p>
              <p>Langly</p>
              <p>ringo@l4ngly.org</p>
            </div>
            <h1>User  </h1>
            <div class="card" >
              <p>Melvin</p>
              <p>Frohike</p>
              <p>melvin@frohike1.net</p>
            </div>
            <h1>User  </h1>
            <div class="card" >
              <p>John Fitzgerald</p>
              <p>Byers</p>
              <p>jfb@byers23.org</p>
            </div>
          </div>
        </div>
      </div>
      <div class="m33" >
        <div class="right" >some  sidebar  stuff</div>
      </div>
    </div>
  </body>
</html>