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 qualquer atributos > ((include|import|redefine|annotation)*,(((simpleType|complexType| group|attributeGroup)|element|attribute|notation),annotation*)*) </schema>
Atributo
id
Opcional. Define o ID exclusivo do elemento.
attributeFormDefault
Opcional. A forma dos atributos declarados no espaço de nomes alvo do schema. O 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 alvo não precisam ser qualificados por prefixo de namespace.
- "qualified" indica que os atributos do espaço de nomes alvo devem ser qualificados por prefixo de namespace.
elementFormDefault
Opcional. A forma dos elementos declarados no espaço de nomes alvo da schema. O 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 alvo não precisam ser qualificados por prefixo de namespace.
- "qualified" indica que os elementos do espaço de nomes alvo devem ser qualificados por prefixo de namespace.
blockDefault
Opcional. Define o valor padrão da propriedade block dos elementos element e complexType no espaço de nomes alvo. A propriedade block impede que tipos complexos (ou elementos) com tipos derivados específicos sejam usados para substituir tipos complexos (ou elementos) herdados. O valor pode conter #all ou uma lista, que é um subconjunto de extension, restriction ou substitution:
- extension - Impede que tipos derivados complexos derivados por extensão sejam usados para substituir esse tipo complexo.
- restriction - Impede que tipos derivados complexos derivados por restrição sejam usados para substituir esse tipo complexo.
- substitution - Impede a substituição do elemento.
- #all - Impede que todos os tipos derivados complexos sejam usados para substituir esse tipo complexo.
finalDefault
Opcional. Define o valor padrão da propriedade final dos elementos element, simpleType e complexType no espaço de nomes alvo da arquitetura. A propriedade final impede que tipos derivados específicos sejam usados para substituir os elementos element, simpleType ou complexType. Para elementos element e complexType, o valor pode conter #all ou uma lista, que é um subconjunto de extension ou restriction. Para elementos simpleType, o valor também pode conter list e union:
- extension - Por padrão, os elementos deste schema não podem ser derivados por extensão. Apenas aplicável a elementos element e complexType.
- restriction - Impede a derivação por restrição.
- list - Impede a derivação por lista. Apenas aplicável a elementos simpleType.
- union - Impede a derivação por união. Apenas aplicável a elementos simpleType.
- #all - Por padrão, os elementos deste 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 junto com referências não limitadas.
versão
Opcional. Define a versão do schema.
xmlns
Define uma ou mais referências URI 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>