উদাহরণ সহ XSLT ব্যবহার

XSLT (Extensible Stylesheet Language Transformations) - জাভা এক্সএমএল (Java XML) - Java Technologies

317

XSLT (Extensible Stylesheet Language Transformations) হল একটি ভাষা যা XML ডকুমেন্টকে অন্য ফরম্যাটে রূপান্তর করতে ব্যবহৃত হয়, যেমন HTML, টেক্সট, বা অন্য XML ফরম্যাট। Java তে XSLT ব্যবহার করার জন্য আমরা Transformer API ব্যবহার করি। এর মাধ্যমে XML ডকুমেন্টকে XSLT স্টাইলশীটের সাহায্যে একটি নির্দিষ্ট ফরম্যাটে রূপান্তর করা যায়।

এখানে একটি উদাহরণ দেখানো হয়েছে, যেখানে একটি XML ডকুমেন্টকে XSLT স্টাইলশীট ব্যবহার করে HTML ফরম্যাটে রূপান্তর করা হয়েছে।

উদাহরণ:

ধরা যাক, আমাদের একটি XML ডকুমেন্ট আছে যার নাম books.xml এবং একটি XSLT স্টাইলশীট transform.xsl রয়েছে, যার মাধ্যমে XML ডেটাকে HTML ফরম্যাটে রূপান্তর করতে হবে।

1. books.xml (XML ডকুমেন্ট)

<?xml version="1.0" encoding="UTF-8"?>
<library>
    <book>
        <title>Java Programming</title>
        <author>John Doe</author>
        <price>29.99</price>
    </book>
    <book>
        <title>XML Basics</title>
        <author>Jane Doe</author>
        <price>19.99</price>
    </book>
</library>

2. transform.xsl (XSLT স্টাইলশীট)

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html" encoding="UTF-8"/>
    
    <xsl:template match="/library">
        <html>
            <head>
                <title>Library Book List</title>
            </head>
            <body>
                <h1>Books in the Library</h1>
                <table border="1">
                    <tr>
                        <th>Title</th>
                        <th>Author</th>
                        <th>Price</th>
                    </tr>
                    <xsl:for-each select="book">
                        <tr>
                            <td><xsl:value-of select="title"/></td>
                            <td><xsl:value-of select="author"/></td>
                            <td><xsl:value-of select="price"/></td>
                        </tr>
                    </xsl:for-each>
                </table>
            </body>
        </html>
    </xsl:template>
</xsl:stylesheet>

3. Java কোড - XSLT ট্রান্সফর্মেশন

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

public class XSLTExample {
    public static void main(String[] args) throws Exception {
        // XML ফাইল এবং XSLT ফাইল লোড করা
        File xmlFile = new File("books.xml");
        File xslFile = new File("transform.xsl");

        // TransformerFactory তৈরি করা
        TransformerFactory factory = TransformerFactory.newInstance();
        
        // XSLT ফাইল থেকে Transformer তৈরি করা
        StreamSource xslStream = new StreamSource(xslFile);
        Transformer transformer = factory.newTransformer(xslStream);
        
        // XML ফাইল থেকে ইনপুট স্ট্রিম তৈরি করা
        StreamSource xmlStream = new StreamSource(xmlFile);
        
        // আউটপুট স্ট্রিম তৈরি করা (HTML আউটপুট)
        StreamResult result = new StreamResult(new File("output.html"));
        
        // XML ডকুমেন্টকে XSLT স্টাইলশীটের মাধ্যমে রূপান্তরিত করা
        transformer.transform(xmlStream, result);
        
        System.out.println("Transformation completed. Output saved to output.html");
    }
}

কোড ব্যাখ্যা:

  1. XML এবং XSLT ফাইল লোড করা: books.xml এবং transform.xsl ফাইল দুটি লোড করা হয়।
  2. TransformerFactory তৈরি করা: XSLT ট্রান্সফর্মেশন করার জন্য TransformerFactory ব্যবহার করা হয়।
  3. XSLT স্টাইলশীট থেকে Transformer তৈরি করা: StreamSource ব্যবহার করে XSLT ফাইল থেকে একটি Transformer তৈরি করা হয়।
  4. XML ডকুমেন্ট পার্স করা: StreamSource ব্যবহার করে XML ডকুমেন্ট থেকে একটি ইনপুট স্ট্রিম তৈরি করা হয়।
  5. ট্রান্সফর্মেশন সম্পন্ন করা: transformer.transform() মেথড ব্যবহার করে XML ডকুমেন্টটি XSLT স্টাইলশীটের মাধ্যমে রূপান্তরিত করা হয় এবং আউটপুটটি output.html ফাইলে সংরক্ষণ করা হয়।

আউটপুট (output.html):

<html>
    <head>
        <title>Library Book List</title>
    </head>
    <body>
        <h1>Books in the Library</h1>
        <table border="1">
            <tr>
                <th>Title</th>
                <th>Author</th>
                <th>Price</th>
            </tr>
            <tr>
                <td>Java Programming</td>
                <td>John Doe</td>
                <td>29.99</td>
            </tr>
            <tr>
                <td>XML Basics</td>
                <td>Jane Doe</td>
                <td>19.99</td>
            </tr>
        </table>
    </body>
</html>

এভাবে, Java ব্যবহার করে XSLT এর মাধ্যমে XML ডেটাকে HTML ফরম্যাটে রূপান্তর করা হয়েছে।

Content added By
Promotion

Are you sure to start over?

Loading...