دروس XML

الصفحة الرئيسية لـ XML مقدمة XML كيفية استخدام XML شجرة XML بناء جملة XML عناصر XML سمات XML مساحات أسماء XML عرض XML طلب XML HttpRequest محلل XML XML DOM XML XPath XML XSLT XML XQuery XML XLink مدقق XML XML DTD مخطط XML خادم XML أمثلة XML مسابقة XML شهادة XML

XML AJAX

مقدمة أجاكس أجاكس XMLHttp طلب AJAX استجابة AJAX ملف AJAX XML أجاكس بي إتش بي أجاكس آسيا والمحيط الهادئ قاعدة بيانات أجاكس تطبيقات أجاكس أمثلة AJAX

XML DOM

مقدمة حول DOM عقد DOM الوصول إلى DOM معلومات عقدة DOM قائمة عقدة DOM عبور DOM التنقل في DOM DOM احصل على القيم DOM تغيير العقد DOM إزالة العقد استبدل DOM Nodes DOM إنشاء العقد DOM أضف العقد عقد استنساخ DOM أمثلة DOM

دروس XPath

مقدمة XPath عقد XPath بناء جملة XPath محاور XPath مشغلي XPath أمثلة XPath

XSLT التعليمي

XSLT مقدمة لغات XSL تحويل XSLT XSLT <template> XSLT <قيمة> XSLT <للجميع> XSLT <ترتيب> XSLT <if> XSLT <اختر> XSLT تطبيق XSLT على العميل XSLT على الخادم XSLT تحرير XML أمثلة XSLT

XQuery تعليمي

XQuery مقدمة مثال XQuery XQuery FLWOR XQuery HTML شروط XQuery بناء جملة XQuery XQuery إضافة XQuery حدد وظائف XQuery

XML DTD

مقدمة DTD مكعبات بناء DTD عناصر DTD سمات DTD عناصر DTD مقابل Attr كيانات DTD أمثلة DTD

مخطط XSD

مقدمة XSD XSD كيف XSD <المخطط عناصر XSD سمات XSD قيود XSD

مجمع XSD

عناصر XSD XSD فارغ عناصر XSD فقط نص XSD فقط XSD مختلط مؤشرات XSD XSD <أي> XSD <أي سمة> تبديل XSD مثال XSD

بيانات XSD

سلسلة XSD تاريخ XSD XSD الرقمية XSD متفرقات مرجع XSD

خدمات الويب

خدمات XML XML WSDL صابون XML XML RDF XML RSS

مراجع

أنواع عقدة DOM عقدة DOM قائمة عقدة DOM DOM NamedNodeMap مستند DOM عنصر DOM سمة DOM نص DOM DOM CDATA تعليق DOM DOM XMLHttpRequest محلل DOM عناصر XSLT وظائف XSLT / XPath

قيود / أوجه XSD


تستخدم القيود لتعريف القيم المقبولة لعناصر أو سمات XML. تسمى القيود المفروضة على عناصر XML بالوجهات.


قيود على القيم

يعرّف المثال التالي عنصرًا يسمى "عمر" بقيد. لا يمكن أن تكون قيمة العمر أقل من 0 أو أكبر من 120:

<xs:element name="age">
  <xs:simpleType>
    <xs:restriction base="xs:integer">
      <xs:minInclusive value="0"/>
      <xs:maxInclusive value="120"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

قيود على مجموعة من القيم

لقصر محتوى عنصر XML على مجموعة من القيم المقبولة ، سنستخدم قيد التعداد.

يعرّف المثال أدناه عنصرًا يسمى "سيارة" مع وجود قيود. القيم الوحيدة المقبولة هي: Audi ، Golf ، BMW:

<xs:element name="car">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:enumeration value="Audi"/>
      <xs:enumeration value="Golf"/>
      <xs:enumeration value="BMW"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

يمكن أيضًا كتابة المثال أعلاه على النحو التالي:

<xs:element name="car" type="carType"/>

<xs:simpleType name="carType">
  <xs:restriction base="xs:string">
    <xs:enumeration value="Audi"/>
    <xs:enumeration value="Golf"/>
    <xs:enumeration value="BMW"/>
  </xs:restriction>
</xs:simpleType>

ملاحظة: في هذه الحالة ، يمكن استخدام النوع "carType" بواسطة عناصر أخرى لأنه ليس جزءًا من عنصر "car".



قيود على سلسلة من القيم

للحد من محتوى عنصر XML لتحديد سلسلة من الأرقام أو الأحرف التي يمكن استخدامها ، سنستخدم قيد النمط.

يعرّف المثال أدناه عنصرًا يسمى "letter" بقيد. القيمة الوحيدة المقبولة هي أحد الأحرف الأقل حجماً من a إلى z:

<xs:element name="letter">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="[a-z]"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

يعرّف المثال التالي عنصرًا يسمى "الأحرف الأولى" بقيد. القيمة الوحيدة المقبولة هي ثلاثة أحرف من الأحرف الكبيرة من a إلى z:

<xs:element name="initials">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="[A-Z][A-Z][A-Z]"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

يعرّف المثال التالي أيضًا عنصرًا يسمى "الأحرف الأولى" بقيد. القيمة الوحيدة المقبولة هي ثلاثة أحرف من الأحرف الصغيرة أو الكبيرة من a إلى z:

<xs:element name="initials">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="[a-zA-Z][a-zA-Z][a-zA-Z]"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

يعرّف المثال التالي عنصرًا يسمى "اختيار" بقيد. القيمة الوحيدة المقبولة هي أحد الأحرف التالية: x ، y ، or z:

<xs:element name="choice">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="[xyz]"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

يعرّف المثال التالي عنصرًا يسمى "prodid" بقيد. القيمة الوحيدة المقبولة هي خمسة أرقام متتالية ، ويجب أن يكون كل رقم في نطاق من 0 إلى 9:

<xs:element name="prodid">
  <xs:simpleType>
    <xs:restriction base="xs:integer">
      <xs:pattern value="[0-9][0-9][0-9][0-9][0-9]"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

قيود أخرى على سلسلة من القيم

يعرّف المثال أدناه عنصرًا يسمى "letter" بقيد. القيمة المقبولة هي صفر أو أكثر من تكرارات الأحرف الصغيرة من a إلى z:

<xs:element name="letter">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="([a-z])*"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

يعرّف المثال التالي أيضًا عنصرًا يسمى "letter" بقيد. القيمة المقبولة هي زوج واحد أو أكثر من الأحرف ، كل زوج يتكون من حرف صغير متبوعًا بحرف كبير. على سبيل المثال ، سيتم التحقق من صحة "sToP" من خلال هذا النمط ، ولكن ليس "Stop" أو "STOP" أو "stop":

<xs:element name="letter">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="([a-z][A-Z])+"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

يحدد المثال التالي عنصرًا يسمى "الجنس" بقيد. القيمة الوحيدة المقبولة هي ذكر أو أنثى:

<xs:element name="gender">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="male|female"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

يعرّف المثال التالي عنصرًا يسمى "password" بقيد. يجب أن يكون هناك ثمانية أحرف بالضبط في صف واحد ويجب أن تكون هذه الأحرف صغيرة أو أحرف كبيرة من a إلى z ، أو رقم من 0 إلى 9:

<xs:element name="password">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="[a-zA-Z0-9]{8}"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

القيود المفروضة على أحرف المسافات البيضاء

لتحديد كيفية التعامل مع أحرف المسافات البيضاء ، سنستخدم قيد whiteSpace.

يعرّف هذا المثال عنصرًا يسمى "العنوان" بقيد. تم تعيين قيد whiteSpace على "الاحتفاظ" ، مما يعني أن معالج XML لن يزيل أي أحرف مسافات بيضاء:

<xs:element name="address">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:whiteSpace value="preserve"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

يعرّف هذا المثال أيضًا عنصرًا يسمى "العنوان" بقيد. تم تعيين قيد whiteSpace على "استبدال" ، مما يعني أن معالج XML سوف يستبدل جميع أحرف المسافات البيضاء (موجزات الأسطر ، وعلامات التبويب ، والمسافات ، وخط الإرجاع) بمسافات:

<xs:element name="address">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:whiteSpace value="replace"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

يعرّف هذا المثال أيضًا عنصرًا يسمى "العنوان" بقيد. يتم تعيين قيد whiteSpace على "الانهيار" ، مما يعني أن معالج XML سوف يزيل جميع أحرف المسافات البيضاء (يتم استبدال موجزات الأسطر وعلامات التبويب والمسافات وإرجاع أول حرف بمسافات وإزالة المسافات البادئة والتالية وتقليل المسافات المتعددة إلى مسافة واحدة):

<xs:element name="address">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:whiteSpace value="collapse"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

قيود على الطول

لتحديد طول قيمة في عنصر ما ، سنستخدم قيود length و maxLength و minLength.

يعرّف هذا المثال عنصرًا يسمى "كلمة المرور" بقيد. يجب أن تتكون القيمة من ثمانية أحرف بالضبط:

<xs:element name="password">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:length value="8"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

يعرّف هذا المثال عنصرًا آخر يسمى "كلمة المرور" بقيد. يجب ألا تقل القيمة عن خمسة أحرف ولا تزيد عن ثمانية أحرف:

<xs:element name="password">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:minLength value="5"/>
      <xs:maxLength value="8"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

قيود لأنواع البيانات

Constraint Description
enumeration Defines a list of acceptable values
fractionDigits Specifies the maximum number of decimal places allowed. Must be equal to or greater than zero
length Specifies the exact number of characters or list items allowed. Must be equal to or greater than zero
maxExclusive Specifies the upper bounds for numeric values (the value must be less than this value)
maxInclusive Specifies the upper bounds for numeric values (the value must be less than or equal to this value)
maxLength Specifies the maximum number of characters or list items allowed. Must be equal to or greater than zero
minExclusive Specifies the lower bounds for numeric values (the value must be greater than this value)
minInclusive Specifies the lower bounds for numeric values (the value must be greater than or equal to this value)
minLength Specifies the minimum number of characters or list items allowed. Must be equal to or greater than zero
pattern Defines the exact sequence of characters that are acceptable
totalDigits Specifies the exact number of digits allowed. Must be greater than zero
whiteSpace Specifies how white space (line feeds, tabs, spaces, and carriage returns) is handled