Какво е STML файл?
Файл с разширение .stml е уеб страница с инструкции от страна на сървъра, които се изпълняват, когато потребителят зареди страницата в уеб браузъра. STML страниците съдържат код от страна на сървъра, който съдържа включвания от страна на сървъра за изпълнение на задачи, които не са възможни за постигане с обикновен HTML. Въпреки че е подобен на HTML, STML предлага повече мощност чрез изпълнение на командите на сървъра, наричан още Server Side Includes (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" -->