Що таке файл STML?
Файл із розширенням .stml — це веб-сторінка з інструкціями на стороні сервера, які виконуються, коли користувач завантажує сторінку у веб-переглядачі. Сторінки STML містять серверний код, який містить серверні компоненти для виконання завдань, які неможливо виконати за допомогою звичайного HTML. Незважаючи на те, що STML подібний до HTML, він пропонує більше можливостей завдяки запуску команд на сервері, які також називають серверними включеннями (SSI). З появою нових мов програмування з серверними сценаріями, таких як PHP, використання STML зменшилося, хоча він все ще підтримується всіма серверними технологіями. Файли STML можна відкривати в будь-якому текстовому редакторі та редагувати для оновлення команд.
Формат файлу STML
STML базується на простому текстовому форматі ASCII, який читається людиною. Однак він дотримується синтаксису, визначеного та реалізованого за допомогою команд SSI, які виконуються на стороні сервера. Як і будь-яка інша мова сценаріїв на стороні сервера, STML може використовувати команди на стороні сервера для виконання таких завдань, як лічильник відвідувачів сторінки, календар веб-сторінки, отримання записів із бази даних тощо.
Приклад STML
Інструкції на стороні сервера використовуються в таких програмах, як лічильник відвідувачів сторінки або календар веб-сторінки. У наступному прикладі показано перші чотири стовпці з перших трьох рядків бази даних користувачів.
<!--#jdbc name="result2" select="SELECT * FROM users"
user="bmahe" password=""
url="jdbc:msql://www43.inria.fr:4333/users"
driver="com.imaginary.sql.msql.MsqlDriver" -->
<table border=2>
<!--#cpt name="cpt1" init="0" -->
<tr><td><b>Name </td><td><b>Login</td>
<td><b>Email</td><td><b>Age </td></tr>
<!--#loop name="loop2" -->
<!--#jdbc name="result2" next="true" -->
<tr>
<td>
<!--#jdbc name="result2" column="1" -->
</td><td>
<!--#jdbc name="result2" column="2" -->
</td><td>
<!--#jdbc name="result2" column="3" -->
</td><td>
<!--#jdbc name="result2" column="4" -->
</td>
</tr>
<!--#cpt name="cpt1" incr="1" -->
<!--#exitloop name="loop2" command="cpt" var="cpt1" equals="3" -->
<!--#endloop name="loop2" -->
</table>
counter value : <!--#cpt name="cpt1" value="true" -->