Τι είναι ένα αρχείο STML;
Ένα αρχείο με επέκταση .stml είναι μια ιστοσελίδα με οδηγίες από την πλευρά του διακομιστή που εκτελούνται όταν ένας χρήστης φορτώνει τη σελίδα στο πρόγραμμα περιήγησης ιστού. Οι σελίδες STML περιέχουν κώδικα από την πλευρά του διακομιστή που περιέχει συμπεριλαμβανόμενα από την πλευρά του διακομιστή για την εκτέλεση εργασιών που δεν είναι δυνατό να επιτευχθούν με απλό HTML. Αν και παρόμοιο με το HTML, το STML προσφέρει περισσότερη ισχύ εκτελώντας τις εντολές στον διακομιστή, που ονομάζεται επίσης Περιλαμβάνει από την πλευρά του διακομιστή (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" -->