.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" -->