عنصر XSD <anyAttribute>
- الصفحة السابقة XSD <any>
- الصفحة التالية إنتقال عنصر XSD
يُمكن لعنصر <anyAttribute> منحنا القدرة على توسيع وثيقة XML باستخدام خصائص لم يتم تحديدها في مخطط!
عنصر <anyAttribute>
يُمكن لعنصر <anyAttribute> منحنا القدرة على توسيع وثيقة XML باستخدام خصائص لم يتم تحديدها في مخطط!
النموذج التفصيلي التالي هو جزء من مخطط XML يُدعى "family.xsd". يُظهر لنا هذا البيان لـ "element person". من خلال استخدام علامة <anyAttribute>، يمكننا إضافة أي عدد من الخصائص إلى علامة "person":
<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>
الآن، نأمل في توسيع عنصر "person" من خلال خاصية "gender". في هذه الحالة يمكننا القيام بذلك، حتى لو لم يعلن المؤلف عن أي خاصية "gender".
انظروا إلى هذا ملف schema، يُدعى "attribute.xsd":
<?xml version="1.0" encoding="ISO-8859-1"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.codew3c.com" xmlns="http://www.codew3c.com" elementFormDefault="qualified"> <xs:attribute name="gender"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="male|female"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:schema>
هذا XML (مدعوم بـ "Myfamily.xml")، يستخدم مكونات من مختلف schemata، "family.xsd" و "attribute.xsd":
<?xml version="1.0" encoding="ISO-8859-1"?> <persons xmlns="http://www.microsoft.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:SchemaLocation="http://www.microsoft.com family.xsd http://www.codew3c.com attribute.xsd"> <person gender="female"> <firstname>Jane</firstname> <lastname>Smith</lastname> </person> <person gender="male"> <firstname>David</firstname> <lastname>Smith</lastname> </person> </persons>
ملف XML هذا صالح لأن schema "family.xsd" يسمح لنا بإضافة خصائص إلى عنصر "person".
<any> و <anyAttribute> يمكن استخدامها لإنشاء وثائق قابلة للتعديل! إنها تعطي الوثيقة القدرة على تضمين عناصر إضافية لم يتم تبريرها في schema الرئيسي لـ XML.
- الصفحة السابقة XSD <any>
- الصفحة التالية إنتقال عنصر XSD