عنصر <any> لـ XSD
- الصفحة السابقة مؤشر XSD
- الصفحة التالية XSD <anyAttribute>
يمنحنا عنصر <any> القدرة على توسيع وثيقة XML عبر عناصر غير محددة في النمذجة!
<any> عناصر
يمنحنا عنصر <any> القدرة على توسيع وثيقة XML عبر عناصر غير محددة في النمذجة!
هذا المثال تم استيراده من ملف النمذجة XML المسمى "family.xsd". يوضح هذا الطلب لـ "person". يمكننا توسيع محتوى "person" باستخدام عنصر <any> عبر أي عنصر (بعد <lastname>):
<xs:element name="person"> <xs:complexType> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> <xs:any minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element>
الآن، نريد استخدام عنصر "children" لتمديد عنصر "person". في هذه الحالة يمكننا القيام بذلك، حتى لو لم يعلن صانع هذا schema عن أي عنصر "children".
انظر إلى هذا ملف schema، اسمه "children.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:element name="children"> <xs:complexType> <xs:sequence> <xs:element name="childname" type="xs:string" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
هذا الملف XML (اسمه "Myfamily.xml"), يستخدم مكونات من schemaين مختلفين، "family.xsd" و "children.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 children.xsd"> <person> <firstname>David</firstname> <lastname>Smith</lastname> <children> <childname>mike</childname> </children> </person> <person> <firstname>Tony</firstname> <lastname>Smith</lastname> </person> </persons>
ملف XML هذا صالح لأن schema "family.xsd" يسمح لنا بتوسيع عنصر "person" عبر عنصر اختياري بعد عنصر "lastname".
<any> و <anyAttribute> يمكن استخدامهما لإنشاء وثائق قابلة للتعديل! إنها تجعل الوثائق قادرة على احتواء عناصر إضافية لم يتم إعلانها في schema الرئيسي لـ XML.
- الصفحة السابقة مؤشر XSD
- الصفحة التالية XSD <anyAttribute>