XSD 元素替换(Element Substitution)
- 上一页 XSD <anyAttribute>
- 下一页 XSD 实例
通过 XML Schema,一个元素可对另一个元素进行替换。
元素替换
让我们举例说明:我们的用户来自英国和挪威。我们希望有能力让用户选择在 XML 文档中使用挪威语的元素名称还是英语的元素名称。
为了解决这个问题,我们可以在 XML schema 中定义一个 substitutionGroup。首先,我们声明主元素,然后我们会声明次元素,这些次元素可声明它们能够替换主元素。
<xs:element name="name" type="xs:string"/> <xs:element name="navn"}} substitutionGroup="name"/>
উপরোক্ত উদাহরণে, "name" ইলেকট্রনটি মূল ইলেকট্রন এবং "navn" ইলেকট্রনটি "name" ইলেকট্রনকে পরিবর্তনীয় করতে পারে。
একটি XML schema-র একটি অংশ দেখুন:
<xs:element name="name" type="xs:string"/> <xs:element name="navn" substitutionGroup="name"/> <xs:complexType name="custinfo"> <xs:sequence> <xs:element ref="name"/> </xs:sequence> </xs:complexType> <xs:element name="customer" type="custinfo"/> <xs:element name="kunde" substitutionGroup="customer"/>
উপরোক্ত schema-র অনুযায়ী বৈধ XML ডকুমেন্টটি এইরকম হওয়া উচিত:
<customer> <name>John Smith</name> </customer>
বা এইরকম:
<kunde> <navn>John Smith</navn> </kunde>
ইলেকট্রন পরিবর্তনীয় করা না করুন
অন্য কোনও ইলেকট্রনকে নির্দিষ্ট ইলেকট্রনকে পরিবর্তনীয় করার প্রতিরোধ করতে, block অ্যাট্রিবিউট ব্যবহার করুন:
<xs:element name="name" type="xs:string"> block="substitution"/>
কোনও XML schema-র একটি অংশ দেখুন:
<xs:element name="name" type="xs:string" block="substitution"/> <xs:element name="navn" substitutionGroup="name"/> <xs:complexType name="custinfo"> <xs:sequence> <xs:element ref="name"/> </xs:sequence> </xs:complexType> <xs:element name="customer" type="custinfo" block="substitution"/> <xs:element name="kunde" substitutionGroup="customer"/>
বৈধ XML ডকুমেন্টটি এইরকম হওয়া উচিত (উপরোক্ত schema অনুযায়ী):
<customer> <name>John Smith</name> </customer>
কিন্তু নিচের ডকুমেন্টটি বৈধ নয়:
<kunde> <navn>John Smith</navn> </kunde>
substitutionGroup ব্যবহার করুন
পরিবর্তনীয় ইলেকট্রনের ধরনটি মূল ইলেকট্রনের সমতুল্য হতে পারে বা মূল ইলেকট্রন থেকে উদ্ভূত হতে পারে।যদি পরিবর্তনীয় ইলেকট্রনের ধরনটি মূল ইলেকট্রনের ধরনের সমতুল্য হয়, তবে আপনাকে পরিবর্তনীয় ইলেকট্রনের ধরনকে নির্দিষ্ট করতে হবে না。
প্রত্যেকটি element (প্রধান element এবং পরিবর্তনী element) substitutionGroup-এর মধ্যে দেওয়া হতে হবে, না তবে তা কাজ করবে না!
什么是全局元素(Global Elements)?
全局元素指 "schema" 元素的直接子元素!本地元素(Local elements)指嵌套在其他元素中的元素。
- 上一页 XSD <anyAttribute>
- 下一页 XSD 实例