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.