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>