Sobes.tech
Junior

XSLT nədir?

sobes.tech Süni İntellekt

AI-dan cavab

XSLT (Genişləndirilə bilən Üslublar Səhifəsi Dili) — XML sənədlərinin çevrilməsi üçün istifadə olunan bir dildir. XML-i HTML, başqa XML və ya sadə mətn kimi digər formatlara çevirmək üçün istifadə olunur və XSLT üslublar cədvəlində təsvir olunan qaydaları tətbiq edir.

Əsas anlayışlar:

  • XSLT üslublar cədvəli: Çevrilmə qaydalarını ehtiva edən XML sənədi.
  • Şablonlar (Templates): Əsas qayda blokları. Mənbə XML elementləri və ya atributları ilə uyğunlaşır və onları necə çevirmək lazım olduğunu müəyyən edir.
  • XPATH: XML sənədində düyünləri seçmək üçün sorğu dili. XSLT-də qaydaları tətbiq etmək üçün hansı XML hissələrinə tətbiq ediləcəyini müəyyən etməkdə istifadə olunur.
  • XSLT prosessoru: Mənbə XML və XSLT üslublar cədvəlini oxuyaraq nəticəni yaradan proqram.

Java, JAXP (Java API for XML Processing) vasitəsilə daxili XSLT dəstəyinə malikdir.

XML-dən HTML-ə sadə XSLT çevirmə nümunəsi:

Mənbə XML:

<kitablar>
  <kitab id="1">
    <başlıq>Usta və Margarita</başlıq>
    <müəllif>Bulgakov M.</müəllif>
  </kitab>
  <kitab id="2">
    <başlıq>Vətən və Sülh</başlıq>
    <müəllif>Tolstoy L.</müəllif>
  </kitab>
</kitablar>

XSLT üslublar cədvəli (məsələn, kitab.xsl):

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/kitablar">
    <html>
      <head>
        <title>Kitabların Siyahısı</title>
      </head>
      <body>
        <h1>Kitabların Siyahısı</h1>
        <ul>
          <xsl:apply-templates select="kitab"/>
        </ul>
      </body>
    </html>
  </xsl:template>

  <xsl:template match="kitab">
    <li>
      <b><xsl:value-of select="başlıq"/></b>, Müəllif: <xsl:value-of select="müəllif"/>
    </li>
  </xsl:template>
</xsl:stylesheet>

Java kodu ilə JAXP istifadə edərək çevirmə:

import javax.xml.transform.*;
import javax.xml.transform.stream.*;
import java.io.*;

public class XSLTExample {

    public static void main(String[] args) {
        try {
            // TransformerFactory yaradın
            TransformerFactory factory = TransformerFactory.newInstance();

            // XSLT üslublar cədvəlini yükləyin
            Source xslt = new StreamSource(new File("kitab.xsl"));
            Transformer transformer = factory.newTransformer(xslt);

            // Mənbə XML-i yükləyin
            Source xml = new StreamSource(new File("kitablar.xml"));

            // Çıxış axını təyin edin
            Result result = new StreamResult(new File("output.html"));

            // Çevirməni həyata keçirin
            transformer.transform(xml, result);

            System.out.println("Çevirmə tamamlandı. Nəticə output.html faylında saxlanıldı.");

        } catch (TransformerConfigurationException e) {
            e.printStackTrace();
        } catch (TransformerException e) {
            e.printStackTrace();
        }
    }
}

XSLT, veb inkişafında (XML-dən HTML yaratmaq və göstərmək üçün), məlumatların inteqrasiyasında və XML mesajlarının işlənməsində geniş istifadə olunur.