পুরানো প্রশ্নের নতুন উত্তর
এই পুরানো প্রশ্নের বিদ্যমান উত্তরগুলির মধ্যে কোনওটিই আসল সমস্যাটিকে চিহ্নিত করে না।
আসল সমস্যাটি ছিলএক্সএসডি-তেxs:complexType
সরাসরিxs:extension
শিশু হিসাবেথাকতে পারে না। সমাধানটিxs:simpleContent
প্রথমেব্যবহার করা। বিশদ অনুসরণ করুন ...
আপনার এক্সএমএল,
<price currency="euros">20000.00</price>
বিরুদ্ধে কার্যকর থাকবে পারেন নিম্নলিখিত সংশোধন XSDs সংখ্যা:
স্থানীয়ভাবে সংজ্ঞাযুক্ত বৈশিষ্ট্য প্রকার
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="price">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:attribute name="currency">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="pounds" />
<xs:enumeration value="euros" />
<xs:enumeration value="dollars" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:schema>
বিশ্বব্যাপী সংজ্ঞায়িত বৈশিষ্ট্য প্রকার
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="currencyType">
<xs:restriction base="xs:string">
<xs:enumeration value="pounds" />
<xs:enumeration value="euros" />
<xs:enumeration value="dollars" />
</xs:restriction>
</xs:simpleType>
<xs:element name="price">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:attribute name="currency" type="currencyType"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:schema>
মন্তব্য
- হিসাবে @Paul দ্বারা মন্তব্য , এই বিষয়বস্তুর প্রকার পরিবর্তন না
price
থেকে xs:string
থেকে xs:decimal
, কিন্তু এই কঠোরভাবে প্রয়োজন নেই এবং বাস্তব সমস্যা ছিল না।
- @ ব্যবহারকারী 998692 এর উত্তর অনুসারে , আপনি মুদ্রার সংজ্ঞাটি আলাদা করতে পারবেন এবং আপনি এতে পরিবর্তন করতে পারেন
xs:decimal
, তবে এটিও আসল সমস্যা ছিল না।
আসল সমস্যাটি ছিল এক্সএসডি-তে xs:complexType
সরাসরি xs:extension
শিশু হিসাবে থাকতে পারে না ; xs:simpleContent
প্রথম প্রয়োজন।
সম্পর্কিত বিষয় (যা জিজ্ঞাসা করা হয়নি তবে অন্য উত্তরগুলি গুলিয়ে ফেলতে পারে):
price
এটির কোনও বৈশিষ্ট্য রয়েছে কিনা তা কীভাবে সীমাবদ্ধ করা যায়?
এই ক্ষেত্রে, একটি পৃথক, বিশ্ব সংজ্ঞা priceType
প্রয়োজন হবে; কেবল স্থানীয় ধরণের সংজ্ঞা দিয়ে এটি করা সম্ভব নয়।
যখন উপাদানটির বৈশিষ্ট্য থাকে তখন কীভাবে উপাদান সামগ্রীকে সীমাবদ্ধ করতে হয়
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="priceType">
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0.00"/>
<xs:maxInclusive value="99999.99"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="price">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="priceType">
<xs:attribute name="currency">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="pounds" />
<xs:enumeration value="euros" />
<xs:enumeration value="dollars" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:schema>