أحدث البرامج التعليمية وتطوير الشبكة
 

XSD و <any> Element


و <any> عنصر تمكننا من تقديم وثيقة XML مع عناصر لم يحددها المخطط!


و <any> العنصر

و <any> عنصر تمكننا من تقديم وثيقة XML مع عناصر لم يحددها المخطط.

المثال التالي هو جزء من مخطط XML تسمى "family.xsd" . ويظهر الإعلان ل "person" عنصر. باستخدام <any> عنصر يمكننا تمديد (after <lastname>) مضمون "person" مع أي عنصر:

<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>

الآن نريد أن تمديد "person" عنصر مع "children" عنصر. في هذه الحالة يمكننا القيام بذلك، حتى لو كان صاحب المخطط أعلاه لم يعلن أي "children" عنصر.

انظروا الى هذا ملف المخطط، ودعا "children.xsd" :

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3ii.com"
xmlns="http://www.w3ii.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 أدناه (called "Myfamily.xml") ، يستخدم عناصر من اثنين من مخططات مختلفة. "family.xsd" و "children.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
http://www.w3ii.com children.xsd">

<person>
  <firstname>Hege</firstname>
  <lastname>Refsnes</lastname>
  <children>
    <childname>Cecilie</childname>
  </children>
</person>

<person>
  <firstname>Stale</firstname>
  <lastname>Refsnes</lastname>
</person>

</persons>

ملف XML أعلاه هو صالح لأن مخطط "family.xsd" يسمح لنا لتوسيع "person" عنصر مع عنصر اختياري بعد "lastname" عنصر.

و <any> و <anyAttribute> يتم استخدام عناصر لجعل الوثائق انزلاقية! أنها تسمح الوثائق التي تحتوي على عناصر إضافية التي لم يتم تعريفها في مخطط XML الرئيسي.