XML transformation language
একটি এক্স. এম. এল রূপান্তর ভাষা হল একটি প্রোগ্রামিং ভাষা যা বিশেষভাবে একটি ইনপুট এক্স. এম. এল নথিকে একটি আউটপুট নথিতে রূপান্তরিত করার জন্য ডিজাইন করা হয়েছে যা কিছু নির্দিষ্ট লক্ষ্যকে সন্তুষ্ট করে। রূপান্তরের দুটি বিশেষ ঘটনা রয়েছেঃ এক্স. এম. এল থেকে এক্স. এম. এলঃ আউটপুট নথি হল একটি এক্স. এম. এল নথি। এক্স. এম. এল থেকে ডেটাঃ আউটপুট নথিটি একটি বাইট স্ট্রিম। এক্স. এম. এল থেকে এক্স. এম. এল রূপান্তর একটি এক্স. এম. এল নথির আউটপুট হিসাবে, এক্স. এম. এল থেকে এক্স. এম. এল রূপান্তর শৃঙ্খল এক্স. এম. এল পাইপলাইন গঠন করে। এক্স. এম. এল থেকে ডেটা এক্স. এম. এল (এক্সটেনসিবল মার্কআপ ল্যাঙ্গুয়েজ) থেকে ডেটা রূপান্তরের কিছু গুরুত্বপূর্ণ উদাহরণ রয়েছে। সবচেয়ে উল্লেখযোগ্য হল এক্স. এম. এল থেকে এইচ. টি. এম. এল (হাইপারটেক্সট মার্কআপ ল্যাঙ্গুয়েজ), কারণ এইচ. টি. এম. এল ডকুমেন্ট কোনও এক্স. এম. এল ডকুমেন্ট নয়। এস. জি. এম. এল-এর উৎপত্তি প্রাচীনতম রূপান্তর ভাষাগুলি এস. জি. এম. এল প্রোফাইল হিসাবে এক্স. এম. এল-এর আবির্ভাবের পূর্বাভাস দেয় এবং এইভাবে বিশেষভাবে এক্স. এম. এল-এর পরিবর্তে নির্বিচারে এস. জি. এম. এল-এ ইনপুট গ্রহণ করে। এর মধ্যে রয়েছে এসজিএমএল-থেকে-এসজিএমএল লিঙ্ক প্রসেস ডেফিনিশন (এলপিডি) বিন্যাস যা এসজিএমএল স্ট্যান্ডার্ডের অংশ হিসাবে সংজ্ঞায়িত করা হয়েছে; এসজিএমএল-এ (তবে এক্সএমএল নয়), এলপিডি ফাইলটি ডিটিডি-র জন্য ব্যবহৃত ঘোষণার মতো একটি ঘোষণার মাধ্যমে নথি থেকে উল্লেখ করা যেতে পারে। এল. পি. ডি-র কিছু ঘাটতি দূর করার জন্য এই ধরনের অন্যান্য রূপান্তরিত ভাষার মধ্যে রয়েছে ডকুমেন্ট স্টাইল সেম্যান্টিক্স অ্যান্ড স্পেসিফিকেশন ল্যাঙ্গুয়েজ (ডি. এস. এস. এস. এল) এবং অমনিমার্ক। নতুন রূপান্তরিত ভাষাগুলি বিশেষভাবে এক্স. এম. এল-কে লক্ষ্য করে এবং এইভাবে শুধুমাত্র এক্স. এম. এল গ্রহণ করে, নির্বিচারে এস. জি. এম. এল নয়। বিদ্যমান ভাষা এক্স. এস. এল. টিঃ এক্স. এস. এল. টি হল সর্বাধিক পরিচিত এক্স. এম. এল রূপান্তর ভাষা। এক্সএসএলটি 1 ডাব্লু 3 সি সুপারিশ 1999 সালে এক্সপ্যাথ 1 এর সাথে প্রকাশিত হয়েছিল এবং এটি তখন থেকে ব্যাপকভাবে বাস্তবায়িত হয়েছে। 2007 সালের জানুয়ারি থেকে এক্সএসএলটি 2 একটি ডব্লিউ3সি সুপারিশে পরিণত হয়েছে এবং স্যাক্সন 8-এর মতো নির্দিষ্টকরণের বাস্তবায়ন ইতিমধ্যে উপলব্ধ। XQuery: XQuery একটি সম্পূর্ণ কার্যকরী ভাষা, যদিও নামটিতে "প্রশ্ন" রয়েছে। এটি মাইক্রোসফ্ট, ওরাকল, ডিবি2, মার্কলজিক ইত্যাদি দ্বারা ব্যবহৃত একটি ডি ফ্যাক্টো স্ট্যান্ডার্ড, এক্সআরএক্স ওয়েব প্রোগ্রামিং মডেলের ভিত্তি এবং 1ম সংস্করণের জন্য ডাব্লু3সি সুপারিশ রয়েছে। এক্সকিউয়েরি এক্স. এস. এল. টি-র মতো এক্স. এম. এল-এ লেখা হয় না, তাই এর বাক্য গঠন অনেক হালকা। ভাষাটি এক্সপাথ 2-এর উপর ভিত্তি করে তৈরি। XSLT-এর মতো XQuery প্রোগ্রামগুলির পার্শ্ব প্রতিক্রিয়া থাকতে পারে না এবং প্রায় একই ক্ষমতা প্রদান করে (উদাহরণস্বরূপঃ পরিবর্তনশীল এবং ফাংশন ঘোষণা করা, ক্রমের উপর পুনরাবৃত্তি করা, W3C স্কিমা প্রকার ব্যবহার করা), যদিও প্রোগ্রামের বাক্য গঠন বেশ আলাদা। XQuery যুক্তি চালিত, FOR, WHERE এবং ফাংশন কম্পোজিশন ব্যবহার করে (যেমন। fn: কনক্যাট ("", জেনারেট-বডি () ",))। এর বিপরীতে, এক্সএসএলটি হল ডেটা-চালিত (পুশ প্রসেসিং মডেল) যেখানে ইনপুট নথির নির্দিষ্ট শর্তগুলি কোডটি যে ক্রমে কার্যকর করা হয় তার পরিবর্তে টেমপ্লেটগুলি কার্যকর করার জন্য ট্রিগার করে। এক্সপ্রোকঃ এক্সপ্রোক একটি এক্সএমএল পাইপলাইন ভাষা। এক্সপ্রোক 1 ডব্লিউ3সি সুপারিশ 2010 সালের মে মাসে প্রকাশিত হয়েছিল। এক্স. এম. এল নথি রূপান্তরঃ এক্স. এম. এল নথিতে সহজ রূপান্তর সম্পাদনের জন্য এটি একটি মাইক্রোসফট মান। প্রাথমিকভাবে আইআইএস Web.config ফাইল তৈরি করার জন্য (কনফিগ ট্রান্সফর্ম), অন্যান্য প্রয়োগগুলি এটিকে জেনেরিক কনফিগারেশন ফাইলগুলির জন্য বিল্ড টাইম (স্লো চিতা) বা কমান্ড লাইন (সিটিটি) হিসাবে ব্যবহার করার অনুমতি দেয়। এস. টি. এক্সঃ এস. টি. এক্স (এক্স. এম. এল-এর জন্য স্ট্রিমিং ট্রান্সফর্মেশন) এক্স. এস. এল. টি দ্বারা অনুপ্রাণিত কিন্তু একটি ওয়ান-পাস রূপান্তর প্রক্রিয়ার অনুমতি দেওয়ার জন্য ডিজাইন করা হয়েছে যা কখনও স্ট্রিমিংকে বাধা দেয় না। প্রয়োগগুলি জাভা (জুস্ট) এবং পার্ল (এক্সএমএলঃ: এসটিএক্স)-এ পাওয়া যায়। এক্স. এম. এল স্ক্রিপ্টঃ এক্স. এম. এল স্ক্রিপ্ট হল পার্ল দ্বারা অনুপ্রাণিত একটি অপরিহার্য স্ক্রিপ্টিং ভাষা যা এক্স. এম. এল বাক্য গঠন ব্যবহার করে। XML স্ক্রিপ্ট ইনপুট ট্রি থেকে নোড নির্বাচন করার জন্য XPath এবং এর মালিকানাধীন DSLPath সমর্থন করে। এফএক্সটিঃ এফএক্সটি একটি কার্যকরী এক্সএমএল রূপান্তর সরঞ্জাম, যা স্ট্যান্ডার্ড এমএল-এ প্রয়োগ করা হয়। এক্সডিউসঃ এক্সডিউস হল লাইটওয়েট সিনট্যাক্স সহ টাইপ করা একটি ভাষা, এক্সএসএলটি-র তুলনায়। এটি এম. এল-এ লেখা। সিডিউসঃ সিডিউস এক্সডিউসকে একটি সাধারণ-উদ্দেশ্যমূলক কার্যকরী প্রোগ্রামিং ভাষায় প্রসারিত করে, সিডিউস হোমপেজ দেখুন। এক্সএসিটিঃ এক্সএসিটি হল এক্সএমএল রূপান্তর প্রোগ্রামিংয়ের জন্য একটি জাভা-ভিত্তিক সিস্টেম। উল্লেখযোগ্য বৈশিষ্ট্যগুলির মধ্যে রয়েছে অপরিবর্তনীয় মান হিসাবে এক্স. এম. এল টেমপ্লেট এবং এক্স. এম. এল স্কিমা প্রকার (এক্স. এ. সি. টি হোম পেজ) ব্যবহার করে প্রকারের নিরাপত্তা নিশ্চিত করার জন্য একটি স্থির বিশ্লেষণ। এক্সফুনঃ এক্সফুন একটি কার্যকরী ভাষা এক্স-ফান যা এক্সএমএল ডেটা ট্রিগুলির মধ্যে রূপান্তরগুলি সংজ্ঞায়িত করার জন্য, শ্রেডিং নির্দেশাবলী প্রদান করে। এক্স-ফানকে আউটপুট শ্রেডিং সহ ফ্রিশের এক্সস্ট্রিম ভাষার একটি এক্সটেনশন হিসাবে বোঝা যেতে পারে, যখন প্যাটার্ন ম্যাচিংটি এক্সপ্যাথ এক্সপ্রেশনগুলির সাথে ট্রি নেভিগেশন দ্বারা প্রতিস্থাপিত হয়। () এক্সস্ট্রিমঃ এক্সস্ট্রিম হল সিএএমএল-এর উপর ভিত্তি করে এক্সএমএল নথির জন্য একটি সহজ কার্যকরী রূপান্তর ভাষা। এক্সস্ট্রিম-এ লেখা এক্স. এম. এল রূপান্তরগুলি স্ট্রিমিং-এ মূল্যায়ন করা হয়ঃ যখন সম্ভব হয়, ইনপুট নথিটি পার্স করার সময় আউটপুটের অংশগুলি গণনা করা হয় এবং তৈরি করা হয়। এইভাবে কিছু রূপান্তর বিশাল এক্স. এম. এল নথিতে প্রয়োগ করা যেতে পারে যা স্মৃতিতেও খাপ খায় না। এক্সস্ট্রিম কম্পাইলারটি সিইসিআইএলএল ফ্রি সফ্টওয়্যার লাইসেন্সের শর্তাবলীর অধীনে বিতরণ করা হয়। এক্সট্যাটিকঃ এক্সট্যাটিক এক্সডিউস থেকে সি #পর্যন্ত পদ্ধতি প্রয়োগ করে, এক্সট্যাটিক হোমপেজ দেখুন। হ্যাক্সএমএলঃ হ্যাক্সএমএল একটি গ্রন্থাগার এবং হাস্কেলে এক্সএমএল রূপান্তর লেখার সরঞ্জামের সংগ্রহ। এছাড়াও 1999 সালে প্রকাশিত হ্যাক্সএমএল সম্পর্কে এই গবেষণাপত্রটি এবং আইবিএম ডেভেলপার ওয়ার্কসের এই নিবন্ধটি দেখুন। আরও সাম্প্রতিক এইচ. এক্স. এম. এল এবং হাস্কেল এক্স. এম. এল টুলবক্স (এইচ. এক্স. টি) দেখুন, যা এইচ. এ. এক্স. এম. এল এবং এইচ. এক্স. এম. এল-এর ধারণার উপর ভিত্তি করে কিন্তু এক্স. এম. এল প্রক্রিয়াকরণের ক্ষেত্রে আরও সাধারণ পদ্ধতি গ্রহণ করে। এক্স. এম. এল. এম. বি. ডি. এঃ এক্স. এম. এল. এম. বি. ডি. এ (এক্স. এম. এল. এল) 1999 সালে এরিক মেইজার এবং মার্ক শিল্ডের একটি গবেষণাপত্রে বর্ণনা করা হয়েছে। কোনও বাস্তবায়ন পাওয়া যায় না। XMLambda হোম পেজ দেখুন। ফ্লেক্সএমএলঃ ফ্লেক্সএমএল একটি এক্সএমএল প্রক্রিয়াকরণ ভাষা যা প্রথম ক্রিস্টোফার রোজ দ্বারা প্রয়োগ করা হয়েছিল। এর পদ্ধতি হল ডিটিডি-র নিয়মের যে কোনও উপসেটের জন্য প্রক্রিয়াকরণ নির্দেশাবলী নির্দিষ্ট করে একটি এক্সএমএল ডিটিডি-তে ক্রিয়া যুক্ত করা। স্কালাঃ স্কালা একটি সাধারণ-উদ্দেশ্যমূলক কার্যকরী এবং বস্তু-ভিত্তিক ভাষা যা স্ট্যান্ডার্ড এক্সএমএল লাইব্রেরির পাশাপাশি এক্সএমএল প্যাটার্ন ম্যাচিং, আক্ষরিক এবং অভিব্যক্তিগুলির আকারে এক্সএমএল রূপান্তরের জন্য নির্দিষ্ট সমর্থন সহ। LINQ থেকে XML: LINQ থেকে XML হল একটি. NET 3.5 বাক্য গঠন এবং প্রোগ্রামিং API যা C #, VB এবং কিছু অন্যান্য. NET ভাষায় উপলব্ধ। LINQ প্রাথমিকভাবে একটি প্রশ্ন ভাষা হিসাবে ডিজাইন করা হয়েছে, তবে এটি XML রূপান্তরগুলিকেও সমর্থন করে। আরও দেখুন ফিল্টার (সফ্টওয়্যার) ফিল্টার (ইউনিক্স) ওয়েব টেমপ্লেট ওয়েব টেমপ্লেট সিস্টেম টেমপ্লেট ইঞ্জিন (ওয়েব) ট্রিটিয়াম (প্রোগ্রামিং ভাষা) রেফারেন্স ট্রান্সফর্মেশন ল্যাঙ্গুয়েজ এক্সএমএল-ভিত্তিক মান