عنصر 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" نشان‌دهنده این است که باید ویژگی‌های مشخص شده در schema در فضای نام هدف با پیشوند نام فضای نام استفاده شوند.

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 - به صورت پیش‌فرض، عناصر این 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 این فضای نام می‌تواند با استفاده از ارجاع غیرمحدود استفاده شود.

ویژگی‌های هر

اختیاری. مشخص می‌کند که هر ویژگی دیگری با فضای نام 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 (نام عنصر، نوع) در فضای نام 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>