Packages

Markup Language Expressions for LFE: creating XML/HTML with S-expressions on the Erlang VM

Current section

Files

Jump to
exemplar src exemplar.lfe
Raw

src/exemplar.lfe

(defmodule exemplar
(export all))
(include-lib "exemplar/include/xml-macros.lfe")
(defun space () " ")
(defun slash () "/")
(defun opening-bracket () "<")
(defun closing-bracket () ">")
(defun self-closing-bracket ()
(++ (space)
(slash)
(closing-bracket)))
(defun -opening-tag (tag bracket)
(++ (opening-bracket)
tag
bracket))
(defun -opening-tag (tag attrs bracket)
(++ (opening-bracket)
tag
(space)
(lutil-text:strip (xmplr-util:attrs->str attrs))
bracket))
(defun opening-tag (tag)
(-opening-tag tag (closing-bracket)))
(defun opening-tag (tag attrs)
(-opening-tag tag attrs (closing-bracket)))
(defun closing-tag (tag)
(++ (opening-bracket)
(slash)
tag
(closing-bracket)))
(defun self-closing-tag (tag)
(-opening-tag tag (self-closing-bracket)))
(defun self-closing-tag (tag attrs)
(-opening-tag tag attrs (self-closing-bracket)))
(defun non-closing-tag (tag)
(-opening-tag tag (closing-bracket)))
(defun non-closing-tag (tag attrs)
(-opening-tag tag attrs (closing-bracket)))
;;; Backwards-compatible aliases
(defun attr-to-string (name value)
"Deprecated; use attr->str instead."
(xmplr-util:attr->str name value))
(defun attrs-to-string (attrs)
"Deprecated; use attrs->str instead."
(xmplr-util:attrs->str attrs))