এক্সএমএল এবং এক্সএসডি এর মধ্যে পার্থক্য কী?


উত্তর:


145

আসলে এক্সএসডি নিজে এক্সএমএল। এর উদ্দেশ্য হ'ল অন্য এক্সএমএল ডকুমেন্টের কাঠামোটিকে বৈধতা দেওয়া। এক্সএসডি কোনও এক্সএমএল জন্য বাধ্যতামূলক নয়, তবে এটি আশ্বাস দেয় যে এক্সএমএল কিছু নির্দিষ্ট উদ্দেশ্যে ব্যবহার করা যেতে পারে। এক্সএমএলে কেবল উপযুক্ত ফর্ম্যাট এবং কাঠামোর ডেটা রয়েছে।


ঠিক তাই আমি স্পষ্ট - যদি কোনও তৃতীয় পক্ষ আমাকে একটি। XSD নথি প্রেরণ করে থাকে: <xs: উপাদান নাম = "QuoteRequestID" টাইপ = "xs: স্বাক্ষরযুক্ত লং" minOccurs = "0" /> অন্তর্ভুক্ত - এটি ঠিক ক্ষেত্রগুলির বর্ণনা এটি নয়। তাদের কাছে প্রকৃত নমুনার অনুরোধের জন্য জিজ্ঞাসা করা কি যুক্তিসঙ্গত বিষয় যা << কৌতুক রেজাল্ট আইডি ইত্যাদি ইত্যাদির সাথে কাঁচা এক্সএমএল হবে
জেমস উইলসন

3
অবশ্যই, আপনি তাদের জিজ্ঞাসা করতে পারেন। আপনি এমন কয়েকটি অনলাইন সরঞ্জামও ব্যবহার করতে পারেন যা এটি আপনার পক্ষে করতে পারে, উদাহরণস্বরূপ - xsd2xML । কেবল এক্সএসডি পেস্ট করুন এবং এটি এর ভিত্তিতে একটি নমুনা এক্সএমএল নথি তৈরি করবে।
13-15

@ আঁথারেস, আমি এর সাথে লিঙ্কটি চেষ্টা করেছি: <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="QuoteRequestID" type="xs:unsignedLong" minOccurs="0" /> </xs:schema> তবে ত্রুটিটি পেয়ে শেষ হয়েছে: Error!!! The 'minOccurs' attribute cannot be present.
আজ এফিনটিভিটি

কেন যে একটি সমস্যা হবে?
এহেতুহীনতা

111


একটি উদাহরণ নিন

<root>
  <parent>
     <child_one>Y</child_one>
     <child_two>12</child_two>
  </parent>
</root>

এবং এটির জন্য একটি এক্সএসডি ডিজাইন করুন:

<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" 
xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="root">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="parent">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="child_one" type="xs:string" />
              <xs:element name="child_two" type="xs:int" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>


এক্সএসডি দিয়ে যা সম্ভব নয়: তালিকাটি খুব ছোট বলে প্রথমে এটি লিখতে চাই
1) আপনি অন্য নোড / বৈশিষ্ট্যের মান ব্যবহার করে কোনও নোড / গুণকে বৈধতা দিতে পারবেন না।
2) এটি একটি সীমাবদ্ধতা: এক্সএসডি ফাইলে সংজ্ঞায়িত একটি উপাদানকে কেবলমাত্র একটি ডেটাটাইপ দিয়ে সংজ্ঞায়িত করতে হবে। [উপরের উদাহরণে, <child_two>অন্য <parent>নোডে উপস্থিত হওয়ার জন্য , ডেটাটাইপ ইন্ট ব্যতীত অন্য কোনও সংজ্ঞা দেওয়া যায় না।
3) আপনি উপাদান এবং বৈশিষ্ট্যগুলির বৈধতা উপেক্ষা করতে পারবেন না, অর্থাত্ যদি কোনও উপাদান / গুণাবলী এক্সএমএলে উপস্থিত হয় তবে অবশ্যই এটি সম্পর্কিত এক্সএসডিতে ভালভাবে সংজ্ঞায়িত করা উচিত। যদিও এর ব্যবহার <xsd:any>এটির অনুমতি দেয় তবে এটি নিজস্ব নিয়ম পেয়েছে। যা অনুমোদনের মাধ্যমে বৈধতা ত্রুটি বাড়ে। আমি অনুরূপ পদ্ধতির জন্য চেষ্টা করেছি, এবং অবশ্যই সফল হয়নি, এখানে প্রশ্নোত্তর রয়েছে


এক্সএসডি দিয়ে কী কী সম্ভব:
1) আপনি এক্সএমএল নোডগুলির সঠিক শ্রেণিবিন্যাস পরীক্ষা করতে পারেন। [এক্সএসডি সংজ্ঞায়িত করে যে কোন সন্তানের কোন পিতামাতার অধীনে আসা উচিত, ইত্যাদি অনুসরণ করে যা ত্রুটি হিসাবে গণ্য হবে, উপরোক্ত উদাহরণস্বরূপ, চাইল্ড_টুই তত্ক্ষণাত্ মূলের সন্তান হতে পারে না, তবে এটি "অভিভাবক" ট্যাগের সন্তান যা পরিবর্তিত হয় "রুট" নোডের সন্তান, একটি শ্রেণিবিন্যাস রয়েছে ..]
2) আপনি নোডের মানগুলির ডেটা ধরণ নির্ধারণ করতে পারেন। [উপরের উদাহরণে চাইল্ড_টায় দুটি সংখ্যার চেয়ে অন্য কোনও ডেটা থাকতে পারে না]
3) আপনি কাস্টম ডেটা টাইপগুলিও সংজ্ঞায়িত করতে পারেন, [উদাহরণস্বরূপ, নোডের জন্য <month>, সম্ভাব্য ডেটা 12 মাসের মধ্যে একটি হতে পারে .. সুতরাং আপনাকে সমস্ত 12 মাস নির্ধারণ করতে হবে একটি নতুন তথ্য টাইপে সমস্ত 12 মাসের নাম গণনা মান হিসাবে লিখুন ..
4) আপনি উপাদানগুলির উপস্থিতিতে সীমাবদ্ধতা রাখতে পারেন, মিনিঅ্যাক্সার এবং ম্যাকস্যাক্স ব্যবহার করে, ডিফল্ট মানগুলি 1 এবং 1 হয়।

.. এবং আরো অনেক ...


1
@ ইনফ্যান্টপ্রো'আরবিন্দ 'আপনি অন্য নোড / বৈশিষ্ট্যটির মান ব্যবহার করে কোনও নোড / গুণকে বৈধতা দিতে পারবেন না "এর অর্থ কী? কেউ কেন এটি করতে চাইবে?
গীক


"আপনি অন্য নোড / বৈশিষ্ট্যের মান ব্যবহার করে কোনও নোড / গুণকে বৈধতা দিতে পারবেন না"। এর অর্থ কী
গ্রোইনম্যান

@ GrowinMan, শর্তসাপেক্ষ বৈধতা (না পিতা বা মাতা-শিশু সম্পর্ক) উদা: যদি এটি আপনার XML হল: <root> <A>A</A> <B/> <C/> </root>আর যদি নোড <A>হয় <A>B</A>, তারপর করা <B>বাধ্যতামূলক, যদি <A>C</A>তারপর করা <C>বাধ্যতামূলক।
ইনফ্যান্টপ্রো'আরবিন্দ '

উপরের প্রয়োজনের একা
এক্সএসডি

15

এক্সএসডি:
এক্সএসডি (এক্সএমএল স্কিমা সংজ্ঞা) কীভাবে এক্সটেনসিবল মার্কআপ ল্যাঙ্গুয়েজ (এক্সএমএল) নথির উপাদানগুলিকে আনুষ্ঠানিকভাবে বর্ণনা করতে হবে তা নির্দিষ্ট করে।
এক্সএমএল:
এক্সএমএল ডেটা বর্ণনার জন্য ডিজাইন করা হয়েছিল। এটি সফ্টওয়্যার পাশাপাশি হার্ডওয়্যার থেকে পৃথক।
এটি নিম্নলিখিত জিনিসগুলি বাড়ায়।
-তথ্য আদান প্রদান.
-স্বাধীন প্ল্যাটফর্ম.
- ডেটা প্রাপ্যতা বৃদ্ধি।

পার্থক্য:

  1. এক্সএসডি এক্সএমএল ভিত্তিক এবং রচিত।

  2. এক্সএসডি এমন উপাদান এবং কাঠামো সংজ্ঞায়িত করে যা নথিতে উপস্থিত হতে পারে, যখন এক্সএমএল দেয় না।

  3. এক্সএসডি নিশ্চিত করে যে ডেটা সঠিকভাবে ব্যাখ্যা করা হয়েছে, যদিও এক্সএমএল তা করে না।

  4. একটি এক্সএসডি ডকুমেন্টটি এক্সএমএল হিসাবে বৈধ করা হয়েছে, তবে বিপরীতে সর্বদা সত্য হতে পারে না।

  5. এক্সএমডি এক্সএমএল এর চেয়ে ত্রুটি ধরাতে আরও ভাল।

একটি এক্সএসডি এমন উপাদানগুলির সংজ্ঞা দেয় যা ডকুমেন্টগুলিতে ব্যবহার করা যেতে পারে, আসল ডেটা যার সাথে এটি এনকোড করা উচিত to
উদাহরণস্বরূপ:
1/12/2010 হিসাবে প্রকাশিত একটি তারিখ 12 জানুয়ারী বা 1 লা ডিসেম্বর হতে পারে। এক্সএসডি ডকুমেন্টে তারিখের ডেটা টাইপ ঘোষণা করে তা নিশ্চিত করে যে এটি এক্সএসডি দ্বারা নির্ধারিত ফর্ম্যাটটি অনুসরণ করে।


প্রথম বিবৃতিতে সমস্ত কিছু বর্ণনা করা হয়েছে।
ওজোনুগওয়া জুড ওচালিফু

6

এক্সএমএল বনাম এক্সএসডি

এক্সএমএল সংজ্ঞায়িত সিনট্যাক্স এর উপাদান এবং বৈশিষ্ট্যাবলী একটি স্ট্রাকচারিং ডেটার জন্য সুগঠিত নথি।

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


6

সহজ এক্সএমএল উদাহরণ:

<school>
  <firstname>John</firstname>
  <lastname>Smith</lastname>
</school>

উপরের এক্সএমএল এর এক্সএসডি (ব্যাখ্যা):

<xs:element name="school">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="firstname" type="xs:string"/>
      <xs:element name="lastname" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

এখানে:

xs: উপাদান : একটি উপাদানকে সংজ্ঞায়িত করে।

xs: ক্রম : শিশু উপাদানগুলি কেবল উল্লিখিত ক্রমে প্রদর্শিত হয় Den

xs: জটিল টাইপ : এটিতে অন্যান্য উপাদান রয়েছে তা বোঝায়

xs: সিম্পল টাইপ: বোঝায় যে এগুলিতে অন্য উপাদান থাকে না।

প্রকার: স্ট্রিং, দশমিক, পূর্ণসংখ্যা, বুলিয়ান, তারিখ, সময়,

  • সাধারণ কথায় , এক্সএসডি হ'ল নির্দিষ্ট ধরণের সাথে এক্সএমএল ডেটা উপস্থাপন ও বৈধতা দেওয়ার অন্য উপায়।
  • অতিরিক্ত বৈশিষ্ট্যের সাহায্যে, আমরা একাধিক অপারেশন করতে পারি।

  • এক্সএসডি-তে কোনও কাজ সম্পাদন করা এক্সএমএল থেকে সহজ।


ওহে! এক্সএসডি ফাইল তৈরি করতে আমি কোন প্রোগ্রাম ব্যবহার করব?
জুডিথ

@ জুডিথ প্রোগ্রাম? আপনি আপনার প্রশ্ন ব্যাখ্যা করতে পারেন? সম্পাদক বা ভাষা বা সরঞ্জামের মতো?
shubham1js

1

মূলত একটি এক্সএসডি ফাইল এটি নির্ধারণ করে যে কীভাবে এক্সএমএল ফাইলটি দেখতে যাচ্ছে। এটি একটি স্কিমা ফাইল যা এক্সএমএল ফাইলের কাঠামো সংজ্ঞায়িত করে। সুতরাং এটি সম্ভাব্য ক্ষেত্রগুলি কী এবং কোন আকার হতে চলেছে তা নির্দিষ্ট করে।

এক্সএসডি ফাইলটি এক্সএসডি-র উদাহরণ হিসাবে এটি XSD- এ সংজ্ঞায়িত বিধিগুলি ব্যবহার করে।


0

এক্সএমএল এর f.ex এর চেয়ে অনেক বেশি বিস্তৃত অ্যাপ্লিকেশন রয়েছে। এইচটিএমএল। এটির কোনও অন্তর্নিহিত বা ডিফল্ট "অ্যাপ্লিকেশন" নেই। সুতরাং, আপনি যখন সত্যিই যত্নশীল হবেন না যে ওয়েব পৃষ্ঠাগুলিও যা অনুমতি দেওয়া হয়েছে তা দ্বারা পরিচালিত হয়, তবে আপনি সম্ভবত কোনও এক্সএমএল ডকুমেন্টের মধ্যে কী থাকতে পারে এবং না থাকতে পারে তা অবশ্যই সংজ্ঞায়িত করতে চাইবেন।

এটি একটি ডাটাবেস ডিজাইনের মতো।

এক্সএমএল প্রযুক্তিগুলির বিষয় হ'ল এগুলি প্রকৃতির পাঠ্য। এক্সএসডি সহ, এর অর্থ আপনার কাছে একটি ডেটা স্ট্রাকচার সংজ্ঞা কাঠামো রয়েছে যা পিএইচপি এর মতো পাঠ্য প্রক্রিয়াকরণ সরঞ্জামগুলিতে "প্লাগ ইন" হতে পারে। সুতরাং আপনি কেবল ডেটা নিজেই চালিত করতে পারবেন না, তবে খুব সহজেই কাঠামোটি পরিবর্তন এবং ডকুমেন্ট করতে পারেন, এবং এমনকি সামনের-প্রান্তগুলি স্বয়ংক্রিয়ভাবে উত্পন্ন করে।

এর মতো দেখা গেছে, এক্সএসডি হ'ল ডেটা (এক্সএমএল) এবং ডেটা-প্রসেসিং সরঞ্জামগুলির মধ্যে "আঠালো" বা "মিডলওয়্যার"।

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