XSD <anyAttribute>


<anyAttribute> elementi XML hujjatni sxemada ko‘rsatilmagan atributlar bilan kengaytirish imkonini beradi!


ULASHISH

<anyAttribute> elementi

<anyAttribute> elementi XML hujjatni sxemada ko‘rsatilmagan atributlar bilan kengaytirish imkonini beradi.

Quyidagi misol "family.xsd" nomli XML sxemasidan olingan fragment. Unda "person" elementining e’loni ko‘rsatilgan. <anyAttribute> elementidan foydalanib, "person" elementiga istalgan miqdordagi atributlarni qo‘shishimiz mumkin:

<xs:element name="person">   <xs:complexType>     <xs:sequence>       <xs:element name="firstname" type="xs:string"/>       <xs:element name="lastname" type="xs:string"/>     </xs:sequence>     <xs:anyAttribute/>   </xs:complexType> </xs:element>

Endi "person" elementini "eyecolor" atributi bilan kengaytirmoqchimiz. Yuqoridagi sxema muallifi hech qanday "eyecolor" atributini e’lon qilmagan bo‘lsa ham, bu holda buni qila olamiz.

"attribute.xsd" nomli ushbu sxema fayliga qarang:

<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="https://www.w3schools.com" xmlns="https://www.w3schools.com" elementFormDefault="qualified"> <xs:attribute name="eyecolor">   <xs:simpleType>     <xs:restriction base="xs:string">       <xs:pattern value="blue|brown|green|grey"/>     </xs:restriction>   </xs:simpleType> </xs:attribute> </xs:schema>


Quyidagi XML fayl ("Myfamily.xml" deb nomlangan) ikki xil sxemadagi komponentlardan foydalanadi: "family.xsd" va "attribute.xsd":

<?xml version="1.0" encoding="UTF-8"?> <persons xmlns="http://www.microsoft.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:SchemaLocation="http://www.microsoft.com family.xsd https://www.w3schools.com attribute.xsd"> <person eyecolor="green">   <firstname>Hege</firstname>   <lastname>Refsnes</lastname> </person> <person eyecolor="blue">   <firstname>Stale</firstname>   <lastname>Refsnes</lastname> </person> </persons>

Yuqoridagi XML fayl yaroqli (valid), chunki "family.xsd" sxemasi "person" elementiga atribut qo‘shishga ruxsat beradi.

<any> va <anyAttribute> elementlari KENGAYTIRILUVCHAN hujjatlar yaratish uchun ishlatiladi! Ular hujjatlarga asosiy XML sxemasida e’lon qilinmagan qo‘shimcha elementlarni o‘z ichiga olish imkonini beradi.


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!