Sobes.tech
Junior

XSLT nima?

sobes.tech AI

AIdan javob

XSLT (Kengaytiriladigan uslublar jadvali tili) — XML hujjatlarini o‘zgartirish uchun mo‘ljallangan til. XML-ni HTML, boshqa XML yoki oddiy matn kabi boshqa formatlarga aylantirish uchun ishlatiladi, XSLT uslublar jadvalida tavsiflangan qoidalarga amal qilgan holda.

Asosiy tushunchalar:

  • XSLT uslublar jadvali: O‘zgartirish qoidalarini o‘z ichiga olgan XML hujjat.
  • Shablonlar (Templates): Asosiy qoidalar bloklari. Manba XML elementlari yoki atributlariga mos keladi va ularni qanday o‘zgartirishni belgilaydi.
  • XPATH: XML hujjatida tugunlarni tanlash uchun so‘rov tili. XSLTda qaysi qismlarga qoidalarni qo‘llashni aniqlash uchun ishlatiladi.
  • XSLT protsessori: Manba XML va XSLT uslublar jadvalini o‘qib, natijani ishlab chiqaradigan dastur.

Java XSLT-ni JAXP (Java API for XML Processing) orqali qo‘llab-quvvatlaydi.

XML dan HTML ga oddiy XSLT o‘zgartirish misoli:

Manba XML:

<kitoblar>
  <kitob id="1">
    <sarlavha>Usta va Margarita</sarlavha>
    <muallif>Bulgakov M.</muallif>
  </kitob>
  <kitob id="2">
    <sarlavha>Urush va tinchlik</sarlavha>
    <muallif>Tolstoy L.</muallif>
  </kitob>
</kitoblar>

XSLT uslublar jadvali (masalan, kitob.xsl):

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/kitoblar">
    <html>
      <head>
        <title>Kitoblar ro‘yxati</title>
      </head>
      <body>
        <h1>Kitoblar ro‘yxati</h1>
        <ul>
          <xsl:apply-templates select="kitob"/>
        </ul>
      </body>
    </html>
  </xsl:template>

  <xsl:template match="kitob">
    <li>
      <b><xsl:value-of select="sarlavha"/></b>, Muallif: <xsl:value-of select="muallif"/>
    </li>
  </xsl:template>
</xsl:stylesheet>

JAXP yordamida transformatsiyani bajarish uchun Java kodi:

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

public class XSLTExample {

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

            // XSLT uslublar jadvalini yuklash
            Source xslt = new StreamSource(new File("kitob.xsl"));
            Transformer transformer = factory.newTransformer(xslt);

            // Manba XML-ni yuklash
            Source xml = new StreamSource(new File("kitoblar.xml"));

            // Chiqish oqimini belgilash
            Result result = new StreamResult(new File("output.html"));

            // Transformatsiyani bajarish
            transformer.transform(xml, result);

            System.out.println("Transformatsiya tugadi. Natija output.html faylida saqlandi.");

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

XSLT keng tarqalgan web dasturlashda (XML dan HTML yaratish va ko‘rsatish uchun), ma’lumotlarni integratsiya qilishda va XML xabarlarini qayta ishlashda ishlatiladi.