XSD 属性
সমস্ত অ্যাট্রিবিউটকে সহজ টাইপ হিসাবে ঘোষণা করা হয়。
অ্যাট্রিবিউট কী হয়?
সহজ এলিমেন্টগুলির অ্যাট্রিবিউট থাকবে না। যদি কোনো এলিমেন্ট অ্যাট্রিবিউট সহ থাকে, তবে তা কোনো কম্পোজিট টাইপ হিসাবে বহিঃপ্রকাশ করা হবে। কিন্তু অ্যাট্রিবিউটটি সবসময় সহজ টাইপ হিসাবে ঘোষণা করা হবে。
কিভাবে অ্যাট্রিবিউট ঘোষণা করা যায়?
অ্যাট্রিবিউট নির্দিষ্ট করার সুবিধা হল:
<xs:attribute name="xxx" type="yyy"/>
এখানে, xxx অ্যাট্রিবিউটের নাম, yyy তখন অ্যাট্রিবিউটের ডাটা টাইপ নির্দিষ্ট করে।XML Schema অনেক অন্তর্নিহিত ডাটা টাইপ সহ আছে。
সবচেয়ে সাধারণ টাইপগুলি হল:
- xs:string
- xs:decimal
- xs:integer
- xs:boolean
- xs:date
- xs:time
উদাহরণ
এটি অ্যাট্রিবিউট সহ থাকা XML এলিমেন্টকে দেখায়:
<lastname lang="EN">Smith</lastname>
এটি অ্যাট্রিবিউটের প্রতিযোগিতা হল:
<xs:attribute name="lang" type="xs:string"/>
অ্যাট্রিবিউটের ডিফল্ট মান ও ফিক্সড মান
অ্যাট্রিবিউটকে নির্দিষ্ট ডিফল্ট মান বা ফিক্সড মান দেওয়া যেতে পারে。
যখন অন্য কোনো মান নির্দিষ্ট করা হয়নি, তখন ডিফল্ট মানটি স্বচালিতভাবে এলিমেন্টকে এক্সট্রাক্ট করা হবে。
নিম্নলিখিত উদাহরণে, ডিফল্ট মান "EN" হবে:
<xs:attribute name="lang" type="xs:string" default="EN"/>
ফিক্সড মানও স্বচালিতভাবে এলিমেন্টকে এক্সট্রাক্ট করা হবে, এবং আপনি অন্য মান নির্দিষ্ট করতে পারবেন না。
নিম্নলিখিত উদাহরণে, ফিক্সড মান "EN" হবে:
<xs:attribute name="lang" type="xs:string" fixed="EN"/>
অপশনাল এবং অপশনাল অ্যাট্রিবিউট
ডিফল্টে, অ্যাট্রিবিউট অপশনাল হয়। যদি অ্যাট্রিবিউটকে অপশনাল করতে হয়, তবে "use" অ্যাট্রিবিউট ব্যবহার করুন:
<xs:attribute name="lang" type="xs:string" use="required"/>
কনটেন্টের সীমানা
যখন XML এলিমেন্ট বা অ্যাট্রিবিউট নির্দিষ্ট ডাটা টাইপ সহ থাকে, তখন এলিমেন্ট বা অ্যাট্রিবিউটের কনটেন্টে সীমানা যোগ করা হবে。
যদি XML এলিমেন্টের টাইপ "xs:date" হোক এবং তার অন্তর্ভুক্ত কনটেন্ট "Hello World"-এর মতো স্ট্রিং হোক, তবে এলিমেন্টটি পরীক্ষণ করা হবে না。
通过 XML schema,您也可向您的 XML 元素及属性添加自己的限定。这些限定被称为 facet(编者注:意为(多面体的)面,可译为限定面)。您会在下一节了解到更多有关 facet 的知识。