عنصر schema XML Schema
تعریف و استفاده
عنصر schema عنصر ریشه تعریف schema.
اطلاعات عنصر
تعداد دفعات | یک بار |
عنصر والد | بدون عنصر والد |
محتوا | include،import،annotation،redefine،attribute،attributeGroup،element،group،notation،simpleType،complexType |
زبان
<schema id=ID attributeFormDefault=qualified|unqualified elementFormDefault=qualified|unqualified blockDefault=(#all|list of (extension|restriction|substitution)) finalDefault=(#all|list of (extension|restriction|list|union)) targetNamespace=anyURI version=token xmlns=anyURI ویژگیهای هرچه باشد > ((include|import|redefine|annotation)*,(((simpleType|complexType| group|attributeGroup)|element|attribute|notation),annotation*)*) </schema>
ویژگی
id
اختیاری است. تعیین شناسه منحصر به فرد برای این عنصر.
attributeFormDefault
اختیاری است. فرم ویژگیهای اعلام شده در schema در فضای نام هدف. این مقدار باید یکی از این رشتهها باشد: "qualified" یا "unqualified". مقدار پیشفرض "unqualified" است.
- "unqualified" نشاندهنده این است که نیازی به استفاده از پیشوند نام فضای نام برای ویژگیهای فضای نام هدف نیست.
- "qualified" نشاندهنده این است که باید ویژگیهای فضای نام هدف با پیشوند نام فضای نام استفاده شوند.
elementFormDefault
اختیاری است. فرم عناصر اعلام شده در schema در فضای نام هدف. این مقدار باید یکی از این رشتهها باشد: "qualified" یا "unqualified". مقدار پیشفرض "unqualified" است.
- "unqualified" نشاندهنده این است که نیازی به استفاده از پیشوند نام فضای نام برای عناصر فضای نام هدف نیست.
- "qualified" نشاندهنده این است که باید عناصر فضای نام هدف با پیشوند نام فضای نام استفاده شوند.
blockDefault
اختیاری است. تعیین مقدار پیشفرض برای ویژگی block عناصر element و complexType در فضای نام هدف. ویژگی block از جایگزینی نوعهای پیچیده (یا عناصر) با نوعهای مشتق شده مشخص شده جلوگیری میکند. این مقدار میتواند شامل #all یا یک لیست باشد که شامل زیر مجموعهای از extension،restriction یا substitution است:
- extension - جلوگیری از جایگزینی نوعهای پیچیده مشتق شده از طریق گسترش به جای این نوع پیچیده.
- restriction - جلوگیری از جایگزینی نوعهای پیچیده مشتق شده از طریق محدودیت به جای این نوع پیچیده.
- substitution - جلوگیری از جایگزینی عناصر.
- #all - جلوگیری از جایگزینی همه نوعهای پیچیده مشتق شده به جای این نوع پیچیده.
finalDefault
اختیاری است. تعیین مقدار پیشفرض برای ویژگی final عناصر element،simpleType و complexType در فضای نام هدف این معماری. ویژگی final از جایگزینی عناصر،simpleType یا complexType به وسیله نوعهای مشتق شده جلوگیری میکند. برای عناصر و عناصر complexType، این مقدار میتواند شامل #all یا یک لیست باشد که شامل زیر مجموعهای از extension یا restriction است. برای عناصر simpleType، این مقدار همچنین میتواند شامل list و union باشد:
- extension - به صورت پیشفرض، elementهای این schema نمیتوانند از طریق گسترش (extension) ایجاد شوند. تنها برای element و elementهای complexType اعمال میشود.
- restriction - از درخشیدن با استفاده از محدودیت (restriction) جلوگیری میکند.
- list - از درخشیدن با استفاده از لیست (list) جلوگیری میکند. تنها برای elementهای simpleType اعمال میشود.
- union - از درخشیدن با استفاده از ترکیب (union) جلوگیری میکند. تنها برای elementهای simpleType اعمال میشود.
- #all - به صورت پیشفرض، elementهای این schema نمیتوانند از طریق هیچ روشی از طریق درخشیدن (deriving) ایجاد شوند.
targetNamespace
URI مرجع فضای نام این schema. همچنین میتوان پیشوندی برای این فضای نام اختصاص داد. اگر هیچ پیشندی اختصاص داده نشده باشد، component schema این فضای نام میتواند با مراجع غیرمحدود استفاده شود.
version
اختیاری. نسخه schema را مشخص میکند.
xmlns
هر یک یا چند URI مرجع فضای نام استفاده شده در این schema را مشخص میکند. اگر پیشوندی اختصاص داده نشده باشد، component schema این فضای نام میتواند با مراجع غیرمحدود استفاده شود.
ویژگیهای هرچه باشد
اختیاری. هرگونه ویژگی غیر schema در فضای نام non-schema را مشخص میکند.
مثال
مثال 1
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="values" type="xs:string"> </xs:schema>
مثال 2
در این مثال، component schema (name, type) در فضای نام http://www.w3.org/2001/XMLSchema غیرمحدود است و http://www.codew3c.com/codew3cschema (mystring) از پیشوند wsc محدود شده است:
<?xml version="1.0"?> <schema xmlns="http://www.w3.org/2001/XMLSchema"}} xmlns:wsc="http://www.codew3c.com/codew3cschema"> <element name="fname" type="wsc:mystring"/> </schema>