Elm:
XML এর সাথে কাজ করা

কিভাবে:

Elm-এ, আপনি elm/xml প্যাকেজ ব্যবহার করে XML নিয়ে কাজ করবেন। এখানে XML স্নিপেট পারসিংয়ের একটি দ্রুত উদাহরণ দেখা যাক:

import Xml.Decode exposing (..)
import Xml.Decode.Pipeline exposing (..)

xmlString = """
<book id="123">
    <title>Elm in Action</title>
    <author>Robin Heggelund Hansen</author>
</book>
"""

type alias Book =
    { id : String
    , title : String
    , author : String
    }

bookDecoder : Decoder Book
bookDecoder =
    decode Book
        |> required "id" (attribute "id")
        |> required "title" (child "title" (content text))
        |> required "author" (child "author" (content text))

case Xml.Decode.fromString bookDecoder xmlString of
    Ok book ->
        -- এখানে ডিকোড করা বইয়ের সাথে কিছু করুন
        Debug.toString book

    Err error ->
        -- ত্রুটিগুলি সামলান
        Debug.toString error

ধরা যাক ত্রুটি না থাকার ক্ষেত্রে, নমুনা আউটপুট:

"{ id = \"123\", title = \"Elm in Action\", author = \"Robin Heggelund Hansen\" }"

গভীর ডাইভ

XML (eXtensible Markup Language) ৯০-এর দশকের শেষের দিকে আবির্ভাব হয়েছিল, যখন ওয়েব মূলত টেক্সট-ভারী ছিল এবং ডেটা বহনের জন্য একটি গঠনমূলক, তবে নমনীয় উপায়ের প্রয়োজন ছিল। বাগাড়ম্বর এবং জটিলতার কারণে, XML কিছুটা জায়গা হারিয়েছে JSON-এর কাছে। তবে, XML বিশেষ করে এন্টারপ্রাইজ পরিবেশ বা যেমন SOAP প্রোটোকলে এখনও প্রচলিত।

Elm-এর XML-এর প্রতি দৃষ্টিভঙ্গি কার্যকারিতা এবং টাইপ-নিরাপদ। elm/xml প্যাকেজ ব্যবহার করা মানে Elm-এর স্পষ্টতা এবং বিশ্বাসযোগ্যতা-ভিত্তিক দর্শনকে গ্রহণ করা। পারসিং ক্ষেত্রে, প্যাকেজটি একধিক ডিকোডার প্রদান করে যা আপনি XML কাঠামো সামলানোর জন্য রচনা করতে পারেন।

JavaScript-এর DOMParser বা Python-এর ElementTree এর মতো বিকল্পগুলির তুলনায়, Elm-এর পদ্ধতি আরও বহুলাংশে মনে হতে পারে কিন্তু নিরাপত্তা নিশ্চিত করে। কোনো রানটাইম ব্যতিক্রম নেই যদি ক্ষেত্রগুলি অনুপস্থিত থাকে বা টাইপ অমিল থাকে; যদি কিছু অসংগতি থাকে, আপনি একটি কম্পাইল-সময়ের ত্রুটি পাবেন।

elm/xml ডিকোড ফাংশনগুলি XML নোডগুলিকে Elm টাইপে ম্যাপিং করতে নির্ভর করে। আপনি আপনার ডেটার আকারকে প্রতিফলিত করে এমন ডিকোডারগুলি তৈরি করেন, যাতে আপনার Elm অ্যাপ্লিকেশন XML-কে তার নিজের অভ্যন্তরীণ ডেটা কাঠামোর মতো করে সামলানো নিশ্চিত করা হয়৷

XML তৈরি করা Elm-এ কম সাধারণ হলেও, elm/xml-এর বিপরীত Xml.Encode এর মাধ্যমে সম্ভব।

আরও দেখুন