XTML 1.0 Release Notes
Overview
XTML is a lightweight DSL for creating HTML-based content with embedded logic and function calls. This first official release allows combining HTML structures, variables, and functions seamlessly.
New Features
-
Variables and Data Types
- Support for strings, numbers, booleans, and arrays.
- Static definitions (
xtmldef) for reusable content.
-
Functions
- User-defined function declaration and invocation.
- Return HTML blocks or other data types.
- Supports recursive calls.
-
Control Flow
if,else if,elsestatements.whileandforloops.breakandcontinuefor loop control.returnfor function output.
-
HTML Integration
- Embed HTML directly using
<xtml>blocks. - Placeholders
{{@variable}}for dynamic variable output.
- Embed HTML directly using
-
Native Functions
- Access to built-in functions like
std::randStrandstd::getfor arrays.
- Access to built-in functions like
-
Expressions
exprblocks for evaluating and returning complex values.
Improvements
- Clear separation between output (
output) and evaluated value (value). - Better handling of arrays and data types.
- Consistent error reporting with descriptive messages.
Known Limitations
- Placeholders in
xtmldefblocks are static; later changes do not affect previously defined blocks. - Debug symbols are only in
.pdb; the.exeis sufficient for end users.
Included Files
xtml.exe– executable file.functions.xtml– example and utility functions.
Notes
This version is targeted at developers and testers. Feedback on syntax and functionality is welcome.