XSD – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
מ עריכת הפתיח
סקריפט החלפות (על ידי, תת-, סדרת)
שורה 11:
<source lang="xml">
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="country" type="Country"/>
<xs:complexType name="Country">
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="population" type="xs:decimal"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
</source>
שורה 25:
<source lang="xml">
<country
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="country.xsd">
<name>France</name>
<population>60,144,000</population>
</country>
</source>
 
== מערכת טיפוסים ==
 
===xsd:anyType===
 
טיפוס xsd:anyType מהווה בסיס לכל הטיפוסים המוגדרים בסכמה.
במערכות שמאפשרות שימוש ב xsd:anyType הטיפוס ממופה לטיפוס בסיס בשפות המאפשרות זאת (Object ב Java) ולטיפוס הפשוט ביותר שניתן לשימוש (void * עבור C ו C++).
 
===sequence===
 
אלמנט המאפשר יצרת מופעים נוספים של תת -אלמנטים בסידרתבסדרת מופעים כאשר יש לפחות מופע אחד יכול להיות מוכל ב
group, choice, sequence, complexType, או בהורשת טיפוסי נתונים.
 
תג squence מאפשר יצרת [[מערכים]] פתרון ל[[רשימה מקושרת|רשימות מקושרות]] ע"יעל ידי יצרת שימוש בתגיות:
* maxOccurs= מספר שלם חיובי או unbounded (כמות הופעות לפי מספר שלם או כל מספר)
* minOccurs=מספר שלם חיובי
 
מערך סטטי (גודל ידוע בזמן יצרת ה XML) ייצוג ע"יעל ידי הגדרת macOccurs למספר שלם חיובי.
 
רשימה תיוצג ע"יעל ידי שימוש בהגדרה unbound עבור כמות מקסימלית של הופעות.
 
===simpleType===
 
'''simpleType''' תיאור מבנה נתונים בXML המתאר טיפוסים שהינם מוגדרים מראש או טיפוסים שהוגדרו על ידי משתמש.
simpleType לא יכול להכיל [[attribure]] ולא יכול להכיל תת -אלמנטים.
ניתן להגדיר טיפסים נוספים.
 
שורה 62 ⟵ 61:
==== ערכים מובנים ברמת הסכמה ====
 
* string
* boolean
* decimal
* float
* double
* duration
* dateTime
* time
* date
* gYearMonth
* gYear
* gMonthDay
* gDay
* gMonth
* hexBinary
* base64Binary
* anyURI
* QName
* NOTATION
* enum
 
==== יצרת טיפוסים חדשים ====
שורה 89 ⟵ 88:
<pre style="text-align: left; direction: ltr; margin-left: 1em;">
<simpleType name="nice_atricale">
<restriction base="xsd:string">
</restriction>
</simpleType>
</pre>
 
שורה 99 ⟵ 98:
 
* אוסף של [[simpleTypes]]
* תת -אלמנטים (nodes)
* מצביעים
 
שורה 111 ⟵ 110:
==== דוגמה ====
<source lang="xml">
<complexType name="wikipedia">
<sequence>
<element name="authers" type="xs:integer" minOccurs="0"/>
<element name="readers" type="xs:integer" minOccurs="0"/>
<element name="languages" minOccurs="0" maxOccurs="1/>
</sequence>
</complexType>
</source>
 
== הורשת טיפוסי נתונים ==
 
ב XML הורשה מתבצעת באמצעות restriction או extension
 
===restriction ===
שורה 129 ⟵ 128:
<source lang="xml">
<complexType name="restricted_wikipedia">
<complexContent>
<restriction base="n:wikipedia">
<sequence>
...
<element name="languages" maxOccurs="3"/>
</sequence>
</restriction>
</complexContent>
</complexType>
</source>
שורה 146 ⟵ 145:
<source lang="xml">
<complexType name="ext_wikipedia">
<complexContent>
<extension base="n:wikipedia">
<sequence>
<element name="languages" minOccurs="3" maxOccurs="4"/>
</sequence>
</extension>
</complexContent>
</complexType>
</source>
שורה 158 ⟵ 157:
=== Subsumption ([[פולימורפיזם (תוכנה)|פולימורפיזם]]) )===
 
ניתן לקבל רב צורתיות ב XML ע"יעל ידי שימוש בטיפוס אותו אנו יורשים בהגדרה אנו מייצרים אלמנט שיכול להיות מטיפוס ext_wikipedia או מטיפוס wikipedia
 
<source lang="xml">
שורה 167 ⟵ 166:
 
על מנת למנוע הורשה ניתן האפשרות להשתמש ב:
* מניעת הורשה "final="restriction
* מניעת שימוש ב subsumption הוספת "block="#all
* קבלת טיפוס שאוסר שימוש באלמנטים abstract="true" (מקבילה ל abstract class ב java)
 
==קישורים חיצוניים==
אוחזר מתוך "https://he.wikipedia.org/wiki/XSD"