<xsd:schema> Element
Contains the definition of a schema.
<schema
attributeFormDefault = (qualified | unqualified): unqualified
blockDefault = (#all | List of (extension | restriction | substitution) : ''
elementFormDefault = (qualified | unqualified): unqualified
finalDefault = (#all | List of (extension | restriction | list |
union): ''
id = ID
targetNamespace = anyURI
version = token
xml:lang = language
{any attributes with non-schema Namespace}...>
Content: ((include | import | redefine | annotation)*, (((simpleType |
complexType | group | attributeGroup) | element | attribute | notation),
annotation*)*)
</schema>
Attributes
attributeFormDefault
The form for attributes declared in the target namespace of this schema. The value must be one of the following strings: qualified or unqualified. The default is unqualified.If the value is unqualified, attributes from the target namespace are not required to be qualified with the namespace prefix.
If the value is qualified, attributes from the target namespace must be qualified with the namespace prefix.
This value is the global default for all attributes declared in the target namespace. Individual attributes can override this setting for their local scope using the form attribute.
Optional.
blockDefault
The type of derivation. The blockDefault attribute sets the default value of the block attribute on element and complexType elements in the target namespace of this schema. The block attribute prevents a complex type (or element) that has the specified type of derivation from being used in place of the inherited complex type (or element). This value can contain #all or a list that is a subset of extension, restriction, or substitution.extension
Prevents complex types derived by extension from being used in place of this complex type.
restriction
Prevents complex types derived by restriction from being used in place of this complex type.
substitution
Prevents substitution of elements. (An element can declare itself a substitution for another element by specifying the name of the other element in its substitutionGroup attribute.)
#all
Prevents all derived complex types from being used in place of this complex type.
Optional.
elementFormDefault
The form for elements declared in the target namespace of this schema. The value must be one of the following strings: qualified or unqualified. The default is unqualified.If the value is unqualified, elements from the target namespace are not required to be qualified with the namespace prefix.
If the value is qualified, elements from the target namespace must be qualified with the namespace prefix.
This value is the global default for all elements declared in the target namespace. Individual elements can override this setting for their local scope using the form attribute.
Optional.
finalDefault
The type of derivation. The finalDefault attribute sets the default value of the final attribute on element, simpleType, and complexType elements in the target namespace of this schema. The final attribute prevents the specified type of derivation of an element, simpleType,or complexType element. For element and complexType elements, this value can contain #all or a list that is a subset of extension or restriction. For simpleType elements, this value can additionally contain list and union.extension
By default, elements in this schema cannot be derived by extension. Applies to element and complexType elements only.
restriction
Prevents derivation by restriction.
list
Prevents derivation by list. Applies to simpleType elements only.
union
Prevents derivation by union. Applies to simpleType elements only.
#all
#all. By default, elements in this schema cannot be derived by any method.
Optional.
id
The ID of this element. The id value must be of type ID and be unique within the document containing this element.Optional.
targetNamespace
The URI reference of the namespace of this schema. A prefix for the namespace can also be assigned. If no prefix is assigned, the schema components of the namespace can be used with unqualified references.Optional.
version
The version of the schema.Optional.
xml:lang
The indicator of the language used in the contents.Optional.
Element Information
Number of occurrences |
One time |
Parent elements |
(No parent elements) |
Content |
include, import, annotation, redefine attribute, attributeGroup, element, group, notation, simpleType, complexType |
Other |
The include, import, and redefine elements must come before the other elements — except for annotation element, which can appear anywhere. |
Remarks
The schema element is the document element (the top-level element) in a schema definition.
The namespaces specified using the xmlns attribute must include the namespace for the schema-defining elements and attributes (schema, element, and so on). Any prefix can be used, but it is convenient to make the schema namespace the default namespace to avoid having to use a prefix on every XML Schema element.
The targetNamespace is the namespace of all schema components in this schema as well as any schemas included using the include element. (Included schemas must have the same target namespace as the containing schema or have no target namespace at all.) In the following example, the schema components (element name, type) in the http://www.w3.org/2001/XMLSchema namespace are unqualified and those for http://tempuri.org/myschema (mydecimal) are qualified with the msc prefix.
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msc="http://tempuri.org/myschema"
targetNamespace="http://tempuri.org/myschema">
<xs:element name="Price" type="msc:mydecimal"/>
</xs:schema>
For XML Schema, the namespace is the following:
http://www.w3.org/2001/XMLSchema
In addition, the schema element should also contain namespace declarations for any other schemas that it uses.
Example
The following schema uses the XML Schema namespace as the default namespace and defines the target namespace for the schema as http://mynamespace/myschema
.
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://mynamespace/myschema">
<!--Put schema content here -->
</xs:schema>
Other Resources
For more information see the W3C XML Schema Part 1: Structures Recommendation at www.w3.org/TR/2001/REC-xmlschema-1-20010502/\#element-all.
See Also
Reference
XML Schemas (XSD) Reference
XML Schema Elements
<xsd:include> Element