عنصر 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>