DevToys Web Pro iconDevToys Web Proব্লগ
আমাদের রেট দিন:
ব্রাউজার এক্সটেনশন ব্যবহার করে দেখুন:

XML / XSD ভ্যালিডেটর

সার্ভার-সাইড

নমুনাসমূহ

যাচাইয়ের ফলাফল

যাচাই লোড করা হচ্ছে...

XSD স্কিমা

  • XML ডকুমেন্ট

  • Loading editor...
    Loading editor...
    প্রযুক্তিগত বিবরণ

    XML / XSD ভ্যালিডেটর কীভাবে কাজ করে

    টুলটি কী করে

    এই XML XSD ভ্যালিডেটরটি সার্ভার-সাইড প্রসেসিং ব্যবহার করে XML Schema ডেফিনিশনের বিরুদ্ধে XML ডকুমেন্ট পরীক্ষা করে। টুলটি আপনার স্কিমায় সংজ্ঞায়িত স্ট্রাকচার, ডেটা টাইপ, এলিমেন্ট অর্ডারিং, এবং অ্যাট্রিবিউটের প্রয়োজনীয়তা ভ্যালিডেট করে। ভ্যালিডেশন ব্যর্থ হলে, সম্ভব হলে লাইন ও কলাম নম্বরসহ নির্দিষ্ট এরর রিপোর্ট করে। ভ্যালিডেটরটি নেমস্পেস, কমপ্লেক্স টাইপ, সিকোয়েন্স কনস্ট্রেইন্ট, এবং প্যাটার্ন ম্যাচিং ও ভ্যালু রেস্ট্রিকশনের মতো স্কিমা ফ্যাসেট হ্যান্ডেল করে।

    উদাহরণ: বই ক্যাটালগ ভ্যালিডেশন

    এই XSD স্কিমাটি বিবেচনা করুন, যেখানে বইগুলোর integer ID এবং decimal price থাকা বাধ্যতামূলক:

    <xs:element name="book">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="title" type="xs:string"/>
                <xs:element name="price" type="xs:decimal"/>
              </xs:sequence>
              <xs:attribute name="id" type="xs:integer" use="required"/>
            </xs:complexType>
          </xs:element>

    &lt;book id="abc"&gt;&lt;price&gt;not-a-number&lt;/price&gt;&lt;/book&gt; এর মতো অবৈধ XML ভ্যালিডেশন ফেল করবে, কারণ ID অ্যাট্রিবিউট এবং price এলিমেন্ট—দুটির জন্যই টাইপ কনস্ট্রেইন্ট এরর হবে।

    সাধারণ ব্যবহারক্ষেত্র

    ডেভেলপাররা SOAP API-এর সাথে ইন্টিগ্রেশন, কনফিগারেশন ফাইল ভ্যালিডেট করা, বা ডেটা ইন্টারচেঞ্জ ফরম্যাট প্রসেস করার সময় XML Schema ভ্যালিডেশন ব্যবহার করেন। সাধারণ পরিস্থিতির মধ্যে রয়েছে প্রকাশিত স্কিমার বিরুদ্ধে API রেসপন্স ভ্যালিডেট করা, ডিপ্লয়মেন্টের আগে কনফিগারেশন ফাইল পরীক্ষা করা, এবং ETL পাইপলাইনে ডেটার গুণমান নিশ্চিত করা। প্রোডাকশন সিস্টেমে ডেটা পৌঁছানোর আগে টাইপ মিসম্যাচ, প্রয়োজনীয় এলিমেন্ট অনুপস্থিত থাকা, এবং ভুল এলিমেন্ট অর্ডারিং ধরতে ভ্যালিডেটরটি বিশেষভাবে উপকারী।

    ভ্যালিডেশন ইঞ্জিন এবং সীমাবদ্ধতা

    এই টুলটি libxmljs Node.js বাইন্ডিংয়ের মাধ্যমে libxml2 ব্যবহার করে, যা XML Schema 1.0 কমপ্লায়েন্স প্রদান করে। নিরাপত্তার জন্য ভ্যালিডেটরটি সম্পূর্ণ সার্ভার-সাইডে স্কিমা প্রসেস করে এবং বাহ্যিক রিসোর্স ফেচ করে না বা নেটওয়ার্ক-ভিত্তিক ইমপোর্ট রিজলভ করে না। নিরাপত্তার জন্য এক্সটার্নাল এন্টিটি প্রসেসিং (XXE) নিষ্ক্রিয় করা আছে। স্কিমা include এবং import কেবল তখনই কাজ করে যখন সব রেফারেন্স করা স্কিমা মূল XSD কনটেন্টে প্রদান করা হয়।

    • নেটওয়ার্ক অ্যাক্সেস:নিরাপত্তার জন্য ব্লক করা
    • স্কিমা ইমপোর্ট:ইনলাইন হতে হবে, বাহ্যিক রিজল্যুশন নেই
    • এক্সটার্নাল এন্টিটি:নিষ্ক্রিয় (XXE সুরক্ষা)
    • প্রসেসিং সীমা:যৌক্তিক সাইজ সীমা প্রযোজ্য

    সার্ভার-সাইড বনাম ক্লায়েন্ট-সাইড প্রসেসিং

    মৌলিক সিনট্যাক্স যাচাইয়ের জন্য ক্লায়েন্ট-সাইড XML well-formedness চেক যথেষ্ট। তবে, XSD ভ্যালিডেশনের জন্য একটি বিশেষায়িত ইঞ্জিন দরকার, কারণ ব্রাউজারগুলোতে XML Schema প্রসেসর অন্তর্ভুক্ত থাকে না। সার্ভার-সাইড ভ্যালিডেশন ধারাবাহিক ফলাফল নিশ্চিত করে, ইনহেরিটেন্স ও ইমপোর্টের মতো জটিল স্কিমা ফিচার সামলায়, এবং সম্ভাব্য ক্ষতিকর XML কনটেন্ট থেকে নিরাপত্তাজনিত আইসোলেশন প্রদান করে।