Templates
Templates are using XML Syntax and scoped into 3 Namespaces:
- XT (Standard XELOS Template Output and Control Structures)
- XLIB (Accessor for LIB Functions, primarily formatting)
- XUI (UI Components which are replaced during rendering)
It is advised as to use the provided DTD files for IDE autocompletion. The DTD is provided additionally for reference within this document.
Example Usage
Example XT Control Structure
<h1>Todo List</h1>
<xt:if marker="my_array">
<ul>
<xt:forach marker="my_array" value_marker="my_element">
<li><xt:echo marker="my_element" /></li>
</xt:foreach>
</ul>
</xt:if>
<xt:else>
<strong>Nothing todo</strong>
</xt:else>
Example XLIB Formatting
<h1>What time is it?</h1>
<xlib:format format="datetime" from_string="true" friendly="true" live_update="true">
now
</xlib:format>
Example XUI
<xui:user_image />
Legacy / Attribute Syntax
When trying to place an attribute or markers within a javascript block, the XML template syntax is not very suitable and you are advised to use old legacy markers in such circumstances.
Example Legacy Syntax
<script>
alert('###message###');
</script>
XT DTD
<!ELEMENT xt:echo EMPTY>
<!ATTLIST xt:echo
marker CDATA #REQUIRED
escape (default|false|urlencode|htmlentities_ent_quotes) #IMPLIED
block CDATA #IMPLIED
trim (true|false) #IMPLIED
index (1|1.title|_count|_current|_next|_prev|_sum|_unique|_rand|_json|_csv) #IMPLIED
config CDATA #IMPLIED
>
<!ELEMENT xt:if ANY>
<!ATTLIST xt:if
marker CDATA #REQUIRED
value CDATA #IMPLIED
condition (istrue|isfalse|isset|isnotset|greater|smaller|equal|unequal|in|count_equal|count_unequal|count_greater|count_smaller) #IMPLIED
block CDATA #IMPLIED
config (global.system_default_navset|user.i18n_language|view.module|view.instance|view.page|view.cmd|view.navid|view.is_public) #IMPLIED
index CDATA #IMPLIED
valuemarker CDATA #IMPLIED
config CDATA #IMPLIED
>
<!ELEMENT xt:elseif ANY>
<!ATTLIST xt:elseif
marker CDATA #REQUIRED
value CDATA #IMPLIED
condition (istrue|isfalse|isset|isnotset|greater|smaller|equal|unequal|in|count_equal|count_unequal|count_greater|count_smaller) #IMPLIED
block CDATA #IMPLIED
config (global.system_default_navset|user.i18n_language|view.module|view.instance|view.page|view.cmd|view.navid|view.is_public) #IMPLIED
index CDATA #IMPLIED
valuemarker CDATA #IMPLIED
>
<!ELEMENT xt:else ANY>
<!ATTLIST xt:else>
<!ELEMENT xt:foreach ANY>
<!ATTLIST xt:foreach
marker CDATA #REQUIRED
key_marker CDATA #IMPLIED
value_marker CDATA #IMPLIED
block CDATA #IMPLIED
limit (1|unlimited) #IMPLIED
separator (;) #IMPLIED
>
<!ELEMENT xt:assign ANY>
<!ATTLIST xt:assign
marker CDATA #REQUIRED
value CDATA #IMPLIED
mode (append, prepend, replace) #IMPLIED
value_marker CDATA #IMPLIED
>
<!ELEMENT xt:include EMPTY>
<!ATTLIST xt:include
section CDATA #IMPLIED
template CDATA #IMPLIED
escape CDATA #IMPLIED
>
<!ELEMENT xt:param ANY>
<!ATTLIST xt:param
name CDATA #REQUIRED
value CDATA #IMPLIED
for CDATA #IMPLIED
>
<!ELEMENT xt:vars ANY>
<!ATTLIST xt:vars
title CDATA #REQUIRED
type (email|plain|pdf) #IMPLIED
>
<!ELEMENT xt:block ANY>
<!ATTLIST xt:block
name CDATA #REQUIRED
type (short|text) #IMPLIED
format (html|plain) #IMPLIED
>
XLIB DTD
<!ELEMENT xlib:format ANY>
<!ATTLIST xlib:format
src CDATA #IMPLIED
format (auto|parse_text|text_parse|by_callback|queue|date|datetime|time|money|money_underlying|percent|percentpa|number|filesize|string|boolean|insert|text|email|cast|userlink|sprintf) #IMPLIED
prefix CDATA #IMPLIED
suffix CDATA #IMPLIED
custom_format CDATA #IMPLIED
from_string (true|false) #IMPLIED
friendly (true|false) #IMPLIED
>
<!-- See xui:param -->
<!ELEMENT xlib:param ANY>
<!ATTLIST xlib:param
name CDATA #IMPLIED
id CDATA #IMPLIED
value CDATA #IMPLIED
for CDATA #IMPLIED
type CDATA #IMPLIED
label CDATA #IMPLIED
>
XUI DTD
<!ELEMENT xui:css ANY>
<!ATTLIST xui:css
src CDATA #IMPLIED
>
<!ELEMENT xui:javascript ANY>
<!ATTLIST xui:javascript
src CDATA #IMPLIED
>
<!ELEMENT xui:link ANY>
<!ATTLIST xui:link
href CDATA #IMPLIED
view CDATA #IMPLIED
page CDATA #IMPLIED
cmd CDATA #IMPLIED
icon_class CDATA #IMPLIED
target CDATA #IMPLIED
label CDATA #IMPLIED
class CDATA #IMPLIED
render_mode (full|url) #IMPLIED
confirm_text CDATA #IMPLIED
>
<!ELEMENT xui:param ANY>
<!ATTLIST xui:param
name CDATA #IMPLIED
id CDATA #IMPLIED
value CDATA #IMPLIED
for CDATA #IMPLIED
type CDATA #IMPLIED
label CDATA #IMPLIED
>
<!ELEMENT xui:image ANY>
<!ATTLIST xui:image
src CDATA #IMPLIED
width CDATA #IMPLIED
height CDATA #IMPLIED
alt CDATA #IMPLIED
title CDATA #IMPLIED
crop CDATA #IMPLIED
appearance_mode (none|online_status|avatar|edge|polaroid) #IMPLIED
disable_replacer (1|0) #IMPLIED
resize (1|0) #IMPLIED
>
<!ELEMENT xui:userlink ANY>
<!ATTLIST xui:userlink
user_id CDATA #REQUIRED
>
<!ELEMENT xui:breadcrumb ANY>
<!ELEMENT xui:user_image ANY>
<!ATTLIST xui:user_image
user_id CDATA #REQUIRED
>
<!ELEMENT xui:math ANY>
<!ATTLIST xui:math
a CDATA #IMPLIED
b CDATA #IMPLIED
operation (mul|div|add|sub|+|*|-|%) #IMPLIED
>
<!ELEMENT xui:callback ANY>
<!ATTLIST xui:callback
module CDATA #IMPLIED
instance_id CDATA #IMPLIED
further_optional_params CDATA #IMPLIED
>
<!ELEMENT xui:tabs ANY>
<!ATTLIST xui:tabs
hide_heading (1|0) #IMPLIED
collapsible (1|0) #IMPLIED
start_collapsed (1|0) #IMPLIED
selected (1|2|3|4|5|6|7|8|9) #IMPLIED
>
<!ELEMENT xui:carousel ANY>
<!ATTLIST xui:carousel
autoplay CDATA #IMPLIED
class CDATA #IMPLIED
show_bullets (1|0) #IMPLIED
>
<!ELEMENT xui:doclink ANY>
<!ATTLIST xui:doclink
document_index_id CDATA #REQUIRED
include_actions CDATA #IMPLIED
exclude_actions CDATA #IMPLIED
context_prepend CDATA #IMPLIED
context_append CDATA #IMPLIED
show CDATA #IMPLIED
displaystyle (icon|icontext|singleaction|widget|menu) #IMPLIED
>
<!ELEMENT xui:inline_editor ANY>
<!ATTLIST xui:inline_editor
document_index_id CDATA #IMPLIED
alternative_edit_url CDATA #IMPLIED
readonly (1|0) #IMPLIED
>
<!ELEMENT xui:viewmode_switcher ANY>
<!ATTLIST xui:viewmode_switcher
uid CDATA #IMPLIED
viewmodes CDATA #IMPLIED "list,detail,gallery,calendar"
target_container CDATA #IMPLIED
default (list|detail|gallery|calendar) #IMPLIED
>
<!ELEMENT xui:html_generic ANY>
<!ATTLIST xui:html_generic
tag CDATA #REQUIRED
>
<!ELEMENT xui:translation ANY>
<!ATTLIST xui:translation
document_index_id CDATA #IMPLIED
cache_key CDATA #IMPLIED
target_language CDATA #IMPLIED
add_to_search_index (1|0) CDATA #IMPLIED
translation_only (1|0) CDATA #IMPLIED
minimal (1|0) CDATA #IMPLIED
minimal_switch (1|0) CDATA #IMPLIED
>