XSLT এর মাধ্যমে XML ডেটা HTML, JSON এ রূপান্তর

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

279

Java তে XSLT (Extensible Stylesheet Language Transformations) ব্যবহার করে XML ডেটাকে HTML বা JSON এ রূপান্তর করা সম্ভব। XSLT একটি শক্তিশালী প্রযুক্তি যা XML ডকুমেন্টকে বিভিন্ন ফরম্যাটে রূপান্তর করার জন্য ব্যবহৃত হয়। এই প্রক্রিয়ায় XSLT স্টাইলশীট ব্যবহার করা হয় যা XML ডেটাকে কাঙ্খিত ফরম্যাটে রূপান্তর করে।

নিচে XSLT এর মাধ্যমে XML ডেটাকে HTML এবং JSON এ রূপান্তর করার পদ্ধতি বর্ণনা করা হলো।

1. XML থেকে HTML এ রূপান্তর (Using XSLT)

HTML ফরম্যাটে রূপান্তরের জন্য, প্রথমে একটি XSLT স্টাইলশীট তৈরি করতে হবে, যা XML ডকুমেন্টের কাঠামো অনুযায়ী HTML টেমপ্লেট তৈরি করবে।

উদাহরণ:

XML ফাইল (data.xml):

<employees>
    <employee>
        <name>John Doe</name>
        <position>Software Developer</position>
        <salary>50000</salary>
    </employee>
    <employee>
        <name>Jane Smith</name>
        <position>Project Manager</position>
        <salary>75000</salary>
    </employee>
</employees>

XSLT ফাইল (transform.xsl):

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html" indent="yes"/>
    
    <xsl:template match="/">
        <html>
            <head>
                <title>Employee List</title>
            </head>
            <body>
                <h2>Employees</h2>
                <table border="1">
                    <tr>
                        <th>Name</th>
                        <th>Position</th>
                        <th>Salary</th>
                    </tr>
                    <xsl:for-each select="employees/employee">
                        <tr>
                            <td><xsl:value-of select="name"/></td>
                            <td><xsl:value-of select="position"/></td>
                            <td><xsl:value-of select="salary"/></td>
                        </tr>
                    </xsl:for-each>
                </table>
            </body>
        </html>
    </xsl:template>
</xsl:stylesheet>

Java কোড (XSLT Transformation to HTML):

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

public class XmlToHtml {
    public static void main(String[] args) throws Exception {
        // XML and XSLT files
        String xmlFile = "data.xml";
        String xsltFile = "transform.xsl";
        
        // Create transformer factory
        TransformerFactory factory = TransformerFactory.newInstance();
        
        // Load XSLT file
        StreamSource xslt = new StreamSource(new File(xsltFile));
        Transformer transformer = factory.newTransformer(xslt);
        
        // Load XML file
        StreamSource xml = new StreamSource(new File(xmlFile));
        
        // Output to HTML file
        StreamResult result = new StreamResult(new File("output.html"));
        
        // Perform transformation
        transformer.transform(xml, result);
        
        System.out.println("Transformation completed. Check output.html.");
    }
}

এই কোডটি XML ডেটাকে HTML ফরম্যাটে রূপান্তর করে এবং একটি HTML ফাইল তৈরি করে।

2. XML থেকে JSON এ রূপান্তর (Using XSLT)

XML থেকে JSON এ রূপান্তর করতে XSLT ব্যবহার করা সম্ভব, তবে এটি কিছুটা জটিল হতে পারে, কারণ JSON-এর স্ট্রাকচার XML-এর তুলনায় ভিন্ন। JSON ফরম্যাটে রূপান্তর করার জন্য XSLT-এ একটু বেশি কাস্টমাইজেশন প্রয়োজন।

উদাহরণ:

XML ফাইল (data.xml):

<employees>
    <employee>
        <name>John Doe</name>
        <position>Software Developer</position>
        <salary>50000</salary>
    </employee>
    <employee>
        <name>Jane Smith</name>
        <position>Project Manager</position>
        <salary>75000</salary>
    </employee>
</employees>

XSLT ফাইল (transformToJson.xsl):

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="text"/>

    <xsl:template match="/">
        <xsl:text>{ "employees": [</xsl:text>
        <xsl:for-each select="employees/employee">
            <xsl:text>{</xsl:text>
            <xsl:value-of select="concat('"name": "', name, '", "position": "', position, '", "salary": ', salary)"/>
            <xsl:text>}</xsl:text>
            <xsl:if test="position()!=last()"><xsl:text>,</xsl:text></xsl:if>
        </xsl:for-each>
        <xsl:text>]</xsl:text>
    </xsl:template>
</xsl:stylesheet>

Java কোড (XSLT Transformation to JSON):

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

public class XmlToJson {
    public static void main(String[] args) throws Exception {
        // XML and XSLT files
        String xmlFile = "data.xml";
        String xsltFile = "transformToJson.xsl";
        
        // Create transformer factory
        TransformerFactory factory = TransformerFactory.newInstance();
        
        // Load XSLT file
        StreamSource xslt = new StreamSource(new File(xsltFile));
        Transformer transformer = factory.newTransformer(xslt);
        
        // Load XML file
        StreamSource xml = new StreamSource(new File(xmlFile));
        
        // Output to JSON file
        StreamResult result = new StreamResult(new File("output.json"));
        
        // Perform transformation
        transformer.transform(xml, result);
        
        System.out.println("Transformation completed. Check output.json.");
    }
}

এই কোডটি XML ডেটাকে JSON ফরম্যাটে রূপান্তর করে এবং একটি JSON ফাইল তৈরি করে।

সারাংশ:

  • XSLT হল একটি শক্তিশালী টুল যা XML ডেটাকে HTML, JSON অথবা অন্য যেকোনো কাঙ্খিত ফরম্যাটে রূপান্তর করার জন্য ব্যবহার করা যায়।
  • XML থেকে HTML রূপান্তর করতে, XSLT স্টাইলশীট তৈরি করতে হয় যা XML এর উপাদানগুলোকে HTML টেমপ্লেটে রূপান্তর করবে।
  • JSON রূপান্তর করতে, XSLT কাস্টমাইজেশন করা প্রয়োজন, যাতে XML উপাদানগুলো JSON অবজেক্টে সঠিকভাবে রূপান্তরিত হয়।

এভাবে Java এবং XSLT ব্যবহার করে XML ডেটাকে HTML এবং JSON ফরম্যাটে রূপান্তর করা সম্ভব।

Content added By
Promotion

Are you sure to start over?

Loading...