XML Schema 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
Herhangi bir özellik
>
((include|import|redefine|annotation)*,(((simpleType|complexType|
(group|attributeGroup)|element|attribute|notation),annotation*)*)
</schema>

Özellik

id

Opsiyonel. Bu elemanın benzersiz ID'sini belirler.

attributeFormDefault

Opsiyonel. Bu schema'nın hedef adlandırma alanında tanımlanan özelliğin formunu belirler. Bu değer, "qualified" veya "unqualified" olmalıdır. Varsayılan değer "unqualified" dir.

  • "unqualified" hedef adlandırma alanının özelliklerinin, adlandırma alanı ön eki ile tanımlanmaması gerektiğini belirtir.
  • "qualified" hedef adlandırma alanının özelliklerinin, adlandırma alanı ön eki ile tanımlanması gerektiğini belirtir.

elementFormDefault

Opsiyonel. Bu schema'nın hedef adlandırma alanında tanımlanan elemanın formunu belirler. Bu değer, "qualified" veya "unqualified" olmalıdır. Varsayılan değer "unqualified" dir.

  • "unqualified" hedef adlandırma alanının elemanlarının, adlandırma alanı ön eki ile tanımlanmaması gerektiğini belirtir.
  • "qualified" hedef adlandırma alanının elemanlarının, adlandırma alanı ön eki ile tanımlanması gerektiğini belirtir.

blockDefault

Opsiyonel. Hedef adlandırma alanında element ve complexType elemanlarının block özelliğinin varsayılan değerini belirler. block özelliği, belirli türetilmiş türlerin (veya elemanların) miras edilen türlerin (veya elemanların) yerine kullanılmasını önlemek için kullanılır. Bu değer, #all veya extension, restriction veya substitution alt kümesi olan bir liste içerebilir:

  • extension - Türetilmiş karmaşık türlerin, bu karmaşık türün yerine kullanılmasını genişletmek için.
  • restriction - Türetilmiş karmaşık türlerin, bu karmaşık türün yerine kullanılmasını sınırlamak için.
  • substitution - Elemanın değiştirilmesini önlemek.
  • #all - Tüm türetilmiş karmaşık türlerin, bu karmaşık türün yerine kullanılmasını önlemek için.

finalDefault

Opsiyonel. Bu mimarinin hedef ad alanında element, simpleType ve complexType elementlerinin final özelliğinin varsayılan değerini tanımlar. Final özelliği, element, simpleType veya complexType elementlerinin belirtilen türetilmiş türlerini önler. Element ve complexType elementleri için bu değer #all veya bir list olabilir, bu liste extension veya restriction'un bir alt kümesi olabilir. SimpleType elementleri için bu değer list ve union içerebilir:

  • extension - Varsayılan olarak, bu schema'daki elementler genişletme yoluyla türetilmez. Sadece element ve complexType elementleri için geçerlidir.
  • restriction - Sınırlama yoluyla türetimi önler.
  • list - Listeleme yoluyla türetimi önler. Sadece simpleType elementleri için geçerlidir.
  • union - Birleşim yoluyla türetimi önler. Sadece simpleType elementleri için geçerlidir.
  • #all - Varsayılan olarak, bu schema'daki elementler herhangi bir yöntemle türetilmez.

targetNamespace

Bu schema'nın ad alanının URI referansı. Ayrıca bu ad alanına bir ön ek atanabilir. Hiçbir ön ek atanmadıysa, bu ad alanının schema bileşenleri sınırsız referanslarla birlikte kullanılabilir.

sürüm

Opsiyonel. Schema'nın sürümünü tanımlar.

xmlns

Bu schema'da kullanılan bir veya daha fazla ad alanının URI referansını tanımlar. Öne ek bir ön ek atanmadıysa, bu ad alanının schema bileşenleri sınırsız referanslarla kullanılabilir.

Herhangi bir özellik

Opsiyonel. Non-schema ad alanına sahip herhangi bir diğer özelliği tanımlar.

Örnek

Örnek 1

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="values" type="xs:string">
</xs:schema>

Örnek 2

Bu örnekte, http://www.w3.org/2001/XMLSchema adlı ad alanında schema bileşeni (element name, type) sınırsızdır, http://www.codew3c.com/codew3cschema (mystring) ise wsc öne ekli ile sınırlıdır:

<?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>