এক্সএমএল টাইপটি নিরাপদ কেন?


30

তারা কেন বলে যে এক্সএমএল প্রকার সুরক্ষা সরবরাহ করে এবং এটি এক্সএমএলে কীভাবে প্রকাশ করা হয়?

এটি JSON (উদাহরণস্বরূপ) থেকে কীভাবে আলাদা (যা আমি বুঝতে পারি) টাইপ নিরাপদ নয়?

উত্তর:


36

কারণ XML স্কিমা সংজ্ঞা (XSD)।

এক্সএমএল দিয়ে আপনার একটি অতিরিক্ত ফাইল থাকতে পারে যা স্কিমা বর্ণনা করে। উদাহরণস্বরূপ, এটি নির্দেশ করে যে উপাদানটি /a/bএকটি অ্যারে এবং এতে 1 থেকে 10 উপাদান রয়েছে বা উপাদানটি /a/cএকটি পূর্ণসংখ্যা। আপনি এখানে একটি এক্সএসডি উদাহরণ খুঁজে পেতে পারেন ।

একটি এক্সএসডি এর মাধ্যমে প্রদত্ত এক্সএমএল ফাইলের বৈধতা অনেকগুলি ভাষা সমর্থন করে । উদাহরণস্বরূপ, .NET অ্যাপ্লিকেশন অবিশ্বস্ত উত্স থেকে একটি এক্সএমএল ফাইলের জন্য অনুরোধ করতে পারে এবং এটি এক্সএসডি এর সাথে মেলে কিনা তা পরীক্ষা করতে পারে ; তারপরে, এটি এটি একটি মাইক্রোসফ্ট এসকিউএল সার্ভার ডাটাবেসে সংরক্ষণ করতে পারে, যার পরিবর্তে একটি এক্সএসডি থাকতে পারে এবং আবারও পরীক্ষা করতে পারে (যে কোনও ক্লায়েন্টের ডেটাবেস অ্যাক্সেস রয়েছে তা নিশ্চিত করতে )।

এক্সএসডি একমাত্র ভাষা নয়।

  • আপনি যদি ওয়েব ডেভলপমেন্ট করে ফেলেছেন তবে আপনি অবশ্যই ডকুমেন্ট টাইপ ডেফিনেশন (ডিটিডি) MLএ মার্কআপ ল্যাঙ্গুয়েজ সম্পর্কে শুনেছেন যা এক্সএমএলের কাঠামো সংজ্ঞায়িত করে এবং বিশেষত এইচটিএমএল সম্পর্কিত সামগ্রীর বৈধতাতে ব্যবহৃত হয়। যদিও এটি এক্সএসডি করতে পারে এমন সমস্ত কিছু করতে পারে না যেমন যেমন কোনও উপাদান বা কোনও বৈশিষ্ট্যে একটি পূর্ণসংখ্যার সংখ্যা রয়েছে তা নিশ্চিত করে, এটি এখনও কাঠামোগত চেকগুলি একটি গুচ্ছ সম্পাদন করতে পারে।

  • অন্যান্য ভাষার তুলনায় তুলনামূলকভাবে সহজ হওয়ার সুবিধায় রিলাক্স এনজি এবং এক্সএমএল এর চেয়ে আরও কমপ্যাক্ট আকারে লেখা যেতে পারে।

  • স্কিমাট্রন হ'ল এক্সএমএল গাছগুলিতে নিদর্শনগুলির উপস্থিতি বা অনুপস্থিতি সম্পর্কে দৃ making়তা তৈরি করার জন্য নিয়ম ভিত্তিক বৈধতা ভাষা "( উইকিপিডিয়া ) এবং এক্সপাথের উপর ভিত্তি করে কিছুটা ভিন্ন পদ্ধতির উপস্থাপন করে।

জেএসএনের জন্য অনুরূপ উদ্যোগগুলি জনপ্রিয় নয় (বিশেষত, আমি বিশ্বাস করি, মাইক্রোসফ্ট কেন্দ্রিক কর্পোরেট বিশ্বে) world এর অন্যতম কারণ হ'ল জেএসওন এমন পরিস্থিতিতে রয়েছে যেখানে ডেটা স্ট্রাকচারটি বরং মৌলিক (যেমন একটি গাছ হিসাবে প্রকাশ করা যেতে পারে, গুণাবলীর প্রয়োজন ছাড়াই, উদাহরণস্বরূপ) এবং অগত্যা যাচাইকরণের প্রয়োজন হয় না। একটি দুর্দান্ত উদাহরণ হ'ল গতিশীল টাইপযুক্ত ভাষার দ্বারা ব্যবহৃত একটি REST এপিআই:

  • ক্লায়েন্ট প্রয়োগ করা খুব সহজ এবং দ্রুত,
  • এপিআই বিশ্বাসযোগ্য না পরিবর্তিত হয়,
  • ক্লায়েন্ট সহজেই নির্দিষ্ট পাতাগুলি মোকাবেলা করতে পারে যেখানে বৈধতা প্রয়োজনীয় (উদাহরণস্বরূপ এটি পরীক্ষা করে নিন যে /something/percentageএটি একটি আসল সংখ্যা এবং ০.১০০ রেঞ্জের মধ্যে)।

20

এক্সএমএল করতে টাইপ নিরাপদ হতে এটা যেহেতু এটি XSD স্কিমের সম্ভব উপাদানের ডাটা টাইপ ডিক্লেয়ার। এক্সএসডি স্কিমার বিপরীতে বৈধতাযুক্ত একটি দস্তাবেজ প্রত্যাশিত ধরণের সাথে সামঞ্জস্য করার গ্যারান্টিযুক্ত। তবে একটি এক্সএমএল ফর্ম্যাটটির স্কিমা থাকা প্রয়োজন নয়, তাই কোনও ডকুমেন্ট কেবল এক্সএমএল হয়ে স্বয়ংক্রিয়ভাবে নিরাপদ টাইপ হয় না।

জেএসএনের জন্যও একটি স্কিমা ভাষা বিদ্যমান রয়েছে , তাই নিরাপদ জেএসওএন টাইপ করা সম্ভব। তবে এটি খুব কমই ব্যবহৃত হয়, তাই সাধারণত JSON নিরাপদ টাইপ হয় না।


2
আপনার উত্তরটি XSD এর সমতুল্য JSON এর জন্য একটি নাম বা লিঙ্কের সাথে ভাল হবে।
ডগএম

1
বিটিডাব্লু: এক্সএমএল স্কিমা এক্সএমএল-র জন্য একমাত্র স্কিমা সংজ্ঞা ভাষা নয়। এখানে স্কিম্যাট্রন, রিলাক্সএনজি এবং অবশ্যই ভাল ওল'এসজিএমএল ডিটিডি রয়েছে।
জার্গ ডব্লু মিট্টাগ

এছাড়াও মনে রাখবেন যে কোনও স্কিমা সহ, এক্সএমএল টাইপ-নিরাপদ নাও হতে পারে। "কোনও" ধরণের বিষয়বস্তু থাকার জন্য কেউ একটি উপাদান নির্দিষ্ট করতে পারে। যদিও কেউ যুক্তি দিতে পারে যে এটি একধরণের সুরক্ষা (আমি যত্ন করি না, কিছু বৈধ হয়) একই সাথে কোনও বৈধতা কার্যকর করা যায় না: এটি মূলত একটি "বৈকল্পিক" প্রকার।

3

কম্পিউটার বিজ্ঞানে, টাইপ সুরক্ষা হ'ল এমন একটি মাত্রা যা একটি প্রোগ্রামিং ভাষা টাইপ ত্রুটিগুলিকে নিরুৎসাহিত করে বা প্রতিরোধ করে।

প্রকারের সুরক্ষা কোনও পরম বৈশিষ্ট্য নয়। এটি বুলিয়ান নয়। ভাষা (এবং XML এবং JSON হয় ভাষা) অনুমতি দেয় এবং এটি ভুলত্রুটি বিভিন্ন ধরণের প্রতিরোধ। উদাহরণস্বরূপ আপনি উপাদানগুলির ভুল নামকরণ করতে পারেন। তবে আপনি বন্ধ হওয়া ট্যাগ এবং ধনুর্বন্ধনীগুলির মতো প্রয়োজনীয় সিনট্যাকটিক উপাদানগুলি এড়িয়ে যেতে পারবেন না।

সরল এক্সএমএল এবং জেএসওন হ'ল সমানভাবে টাইপ-সেফ (বা টাইপ-অনিরাপদ)। একটি বৈধ এক্সএমএল / জেএসএন স্ট্রিংয়ের একটি নির্দিষ্ট সিনট্যাকটিক এবং শব্দার্থ কাঠামো রয়েছে তবে এটি কোনও অ্যাপ্লিকেশন এর সাথে কাজ করার জন্য এটি প্রায় কখনওই যথেষ্ট নয়। অ্যাপ্লিকেশন না ঠিক কোন একটি কাঠামো কিন্তু একটি নির্দিষ্ট করুন।

এক্সএমএল এক্সএমএল স্কিমা সংজ্ঞা (এক্সএসডি) দিয়ে জ্বলজ্বল করে যা কোনও স্কিমার বিপরীতে প্রদত্ত এক্সএমএল ডকুমেন্টকে বৈধতা দেওয়ার একটি নমনীয় এবং শক্তিশালী উপায়। এটি উপরে বর্ণিত সংজ্ঞা অনুসারে প্রচুর ধরণের সুরক্ষা সরবরাহ করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.