Elemento schema do XML Schema
Definição e uso
O elemento schema define o elemento raiz do schema.
Informações do elemento
Ocorrência | 一次 |
Elemento pai | (无父元素) |
Conteúdo | include、import、annotation、redefine、attribute、attributeGroup、element、group、notation、simpleType、complexType |
Gramática
<schema id=ID attributeFormDefault=qualified|unqualified elementFormDefault=qualified|unqualified blockDefault=(#all|list of (extension|restriction|substitution)) finalDefault=(#all|lista de (extension|restriction|lista|união)) targetNamespace=anyURI version=token xmlns=anyURI qualquer atributos > ((include|import|redefine|annotation)*,(((simpleType|complexType| (group|attributeGroup)|element|attribute|notation),annotation*)*) </schema>
Atributo
id
Opcional. Define o ID único deste elemento.
attributeFormDefault
Opcional. Forma dos atributos declarados no espaço de nomes de destino da schema. Este valor deve ser uma das seguintes strings: "qualified" ou "unqualified". O valor padrão é "unqualified".
- "unqualified" indica que os atributos do espaço de nomes de destino não precisam ser qualificados por prefixo de espaço de nomes.
- "qualified" indica que os atributos do espaço de nomes de destino devem ser qualificados por prefixo de espaço de nomes.
elementFormDefault
Opcional. Forma dos elementos declarados no espaço de nomes de destino da schema. Este valor deve ser uma das seguintes strings: "qualified" ou "unqualified". O valor padrão é "unqualified".
- "unqualified" indica que os elementos do espaço de nomes de destino não precisam ser qualificados por prefixo de espaço de nomes.
- "qualified" indica que os elementos do espaço de nomes de destino devem ser qualificados por prefixo de espaço de nomes.
blockDefault
Opcional. Define o valor padrão do atributo block para os elementos element e complexType no espaço de nomes de destino. O atributo block impede que tipos complexos (ou elementos) com tipos derivados especificados sejam usados para substituir tipos complexos (ou elementos) herdados. Este valor pode conter #all ou uma lista que seja subconjunto de extension, restriction ou substitution:
- extension - Proibir que tipos complexos derivados por extensão sejam usados para substituir este tipo complexo.
- restriction - Proibir que tipos complexos derivados por restrição sejam usados para substituir este tipo complexo.
- substitution - Proibir a substituição de elementos.
- #all - Proibir que todos os tipos complexos derivados sejam usados para substituir este tipo complexo.
finalDefault
Opcional. Define o valor padrão para a propriedade final dos elementos, simpleType e complexType no espaço de nomes alvo do schema. A propriedade final impede a derivação do tipo especificado do elemento, simpleType ou complexType. Para elementos e tipos complexType, o valor pode conter #all ou uma lista que é subconjunto de extension ou restriction. Para elementos simpleType, o valor também pode conter list e union:
- extension - Pelo padrão, os elementos neste schema não podem ser derivados por extensão. Apenas aplicável a elementos e tipos complexType.
- restriction - Evita a derivação por restrição.
- list - Evita a derivação por lista. Apenas aplicável a elementos simpleType.
- union - Evita a derivação por união. Apenas aplicável a elementos simpleType.
- #all - Pelo padrão, os elementos neste schema não podem ser derivados por nenhum método.
targetNamespace
A referência URI do espaço de nomes do schema. Também pode ser atribuído um prefixo a esse espaço de nomes. Se nenhum prefixo for atribuído, os componentes schema do espaço de nomes podem ser usados com referências não limitadas.
versão
Opcional. Define a versão do schema.
xmlns
Define uma ou mais referências URIs de espaços de nomes usados neste schema. Se não for atribuído um prefixo, o componente schema do espaço de nomes pode ser usado com referências não limitadas.
qualquer atributos
Opcional. Define qualquer outra propriedade com espaço de nomes non-schema.
Exemplo
Exemplo 1
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="values" type="xs:string"> </xs:schema>
Exemplo 2
Neste exemplo, o componente schema (nome do elemento, tipo) no espaço de nomes http://www.w3.org/2001/XMLSchema é ilimitado, enquanto http://www.codew3c.com/codew3cschema (mystring) é limitado pelo prefixo 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>