Junior
XSLT эмне?
sobes.tech AI
AIден жооп
XSLT (eXtensible Stylesheet Language Transformations) — XML-документтерди өзгөртүү үчүн тил. Бул XMLди башка форматтарга, мисалы, HTML, башка XML же жөнөкөй текстке өзгөртүүгө колдонулат, XSLT стили таблицасында сүрөттөлгөн эрежелерди колдонуу менен.
Негизги түшүнүктөр:
- XSLT стили таблицасы: Өзгөртүүнүн эрежелерин камтыган XML документ.
- Шаблондор (Templates): Негизги эрежелер блоктору. Алар оригинал XML элементтери же атрибуттар менен салыштырып, алардын кандайча өзгөртүлөрүн аныктайт.
- XPATH: XML документиндеги түйүндөрдү тандоо үчүн суроо тили. XSLT ичинде эрежелерди колдонуу үчүн колдонулат.
- XSLT иштеткич: Программа, ал оригинал XML жана XSLT стили таблицасын окуп, натыйжаны түзөт.
Javaда XSLT үчүн ички колдоо бар, ал JAXP (Java API for XML Processing) аркылуу ишке ашырылат.
XMLди HTMLге жөнөкөй түрдө өзгөртүү мисалы:
Баштапкы XML:
<китептер>
<китеп id="1">
<аты>Мастер жана Маргарита</аты>
<жазуучу>Булгаков М.</жазуучу>
</китеп>
<китеп id="2">
<аты>Атаандаштык жана тынчтык</аты>
<жазуучу>Толстой Л.</жазуучу>
</китеп>
</китептер>
XSLT стили таблицасы (мисалы, китеп.xsl):
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/китептер">
<html>
<head>
<title>Китептер тизмеги</title>
</head>
<body>
<h1>Китептер тизмеги</h1>
<ul>
<xsl:apply-templates select="китеп"/>
</ul>
</body>
</html>
</xsl:template>
<xsl:template match="китеп">
<li>
<b><xsl:value-of select="аты"/></b>, Жазуучу: <xsl:value-of select="жазуучу"/>
</li>
</xsl:template>
</xsl:stylesheet>
Java коду менен трансформацияны аткаруу:
import javax.xml.transform.*;
import javax.xml.transform.stream.*;
import java.io.*;
public class XSLTExample {
public static void main(String[] args) {
try {
// TransformerFactory түзүү
TransformerFactory factory = TransformerFactory.newInstance();
// XSLT стили таблицасын жүктөө
Source xslt = new StreamSource(new File("китеп.xsl"));
Transformer transformer = factory.newTransformer(xslt);
// Баштапкы XMLди жүктөө
Source xml = new StreamSource(new File("китептер.xml"));
// Чыгуу агымын аныктоо
Result result = new StreamResult(new File("output.html"));
// Трансформацияны аткаруу
transformer.transform(xml, result);
System.out.println("Трансформация аяктады. Натыйжасы output.html файлына сакталды.");
} catch (TransformerConfigurationException e) {
e.printStackTrace();
} catch (TransformerException e) {
e.printStackTrace();
}
}
}
XSLT веб-дамытуу, XMLден HTML түзүү, маалыматтарды интеграциялоо жана XML билдирүүлөрүн иштетүүдө кеңири колдонулат.