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>