ایکس ایس ڈی عنصر رپلایسمنٹ (Element Substitution)
- پچھلے پیج ایکس ایس ڈی <کوئی بھی اٹیٹریب>
- پائیدار پیج ایکس ایس ڈی مثال
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"/>
ਲਾਗੂ XML ਦਸਤਾਵੇਜ਼ ਇਸ ਤਰ੍ਹਾਂ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ (ਉੱਪਰੋਕਤ schema ਦੇ ਅਨੁਸਾਰ):
<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 کا استعمال
قابل رپلایس عنصر کا نوع کا ساتھ مقصد عنصر کا ساتھ ہونا چاہئے، یا سے مستقل ہونا چاہئے۔ اگر قابل رپلایس عنصر کا نوع مقصد عنصر کا ساتھ ہو تو آپ کو قابل رپلایس عنصر کا نوع مقرر نہیں کرنا چاہئے۔
توجہ دیئے، substitutionGroup میں تمام عناصر (مقصد عنصر اور قابل رپلایس عنصر) کو عالمی عنصر کے طور پر اعلان کیا جانا چاہئے، نہ تو ان کا کام کرسکتا ہے!
عالمی عنصر (Global Elements) کیا ہوتا ہے؟
عالمی عنصر "شیما" عنصر کے براہ راست ذیلی عنصر کا حوالہ دیتا ہے! مقامی عنصر (Local elements) دیگر عناصر میں داخل ہونے والے عنصر کو کہا جاتا ہے۔
- پچھلے پیج ایکس ایس ڈی <کوئی بھی اٹیٹریب>
- پائیدار پیج ایکس ایس ڈی مثال