عنصر 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 any attributes > ((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 در فضای نام هدف. attribute block جلوگیری میکند تا نوع پیچیده (یا عنصر) با نوع مشتق شده مشخص شده به جای نوع پیچیده (یا عنصر) ارثبرداری شده استفاده شود. این مقدار میتواند شامل #all یا لیستی از extension، restriction یا substitution باشد:
- extension - جلوگیری از جایگزینی نوع پیچیده مشتق شده از طریق گسترش به جای نوع پیچیده اصلی.
- restriction - جلوگیری از جایگزینی نوع پیچیده مشتق شده از طریق محدودیت به جای نوع پیچیده اصلی.
- substitution - جلوگیری از جایگزینی عناصر.
- #all - جلوگیری از استفاده همه نوع پیچیده مشتق شده به جای نوع پیچیده اصلی.
finalDefault
اختیاری. مشخص میکند که مقادیر پیشفرض برای属性 final element، simpleType و complexType در فضای نام هدف schema.
- extension - به صورت پیشفرض، عناصر این schema نمیتوانند از طریق گسترش مشتق شوند. تنها برای element و elementهای complexType مناسب است.
- restriction - از مشتقسازی از طریق محدودیت جلوگیری میکند.
- list - از مشتقسازی از طریق لیست جلوگیری میکند. تنها برای elementهای simpleType مناسب است.
- union - از مشتقسازی از طریق اتحاد جلوگیری میکند. تنها برای elementهای simpleType مناسب است.
- #all - به صورت پیشفرض، عناصر این schema نمیتوانند از طریق هیچ روشی مشتق شوند.
targetNamespace
URI مرجع فضای نام این schema. همچنین میتوان پیشوندی برای این فضای نام اختصاص داد. اگر هیچ پیشندی اختصاص داده نشده باشد، component schema این فضای نام میتواند با مراجع غیرمحدود استفاده شود.
version
اختیاری. مشخص میکند که نسخه schema.
xmlns
مشخص میکند که یک یا چند URI مرجع از فضاهای نام در این schema استفاده میشود. اگر پیشوندی اختصاص داده نشده باشد، component schema این فضای نام میتواند با مراجع غیرمحدود استفاده شود.
any attributes
اختیاری. مشخص میکند که هرگونه属性 با فضای نام 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 element, 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>