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
cualquier atributos
>
((include|import|redefine|annotation)*,(((simpleType|complexType|
group|attributeGroup)|element|attribute|notation),annotation*)*)
</schema>

Atributo

id

Opcional. Define el ID único de este elemento.

attributeFormDefault

Opcional. La forma del atributo declarado en el espacio de nombres objetivo de este schema. Este valor debe ser uno de los siguientes strings: "qualified" o "unqualified". El valor predeterminado es "unqualified".

  • "unqualified" indica que los atributos del espacio de nombres objetivo no deben especificarse con un prefijo de nombre de espacio.
  • "qualified" indica que los atributos del espacio de nombres objetivo deben especificarse con un prefijo de nombre de espacio.

elementFormDefault

Opcional. La forma del elemento declarado en el espacio de nombres objetivo de este schema. Este valor debe ser uno de los siguientes strings: "qualified" o "unqualified". El valor predeterminado es "unqualified".

  • "unqualified" indica que los elementos del espacio de nombres objetivo no deben especificarse con un prefijo de nombre de espacio.
  • "qualified" indica que los elementos del espacio de nombres objetivo deben especificarse con un prefijo de nombre de espacio.

blockDefault

Opcional. Define el valor predeterminado de la propiedad block de los elementos element y complexType en el espacio de nombres objetivo. La propiedad block impide que los tipos complejos (o elementos) con tipos derivados específicos sustituyan a los tipos complejos (o elementos) heredados. Este valor puede contener #all o una lista, que es un subconjunto de extension, restriction o substitution:

  • extension - Impide que los tipos complejos derivados mediante extensión sustituyan a este tipo complejo.
  • restriction - Impide que los tipos complejos derivados mediante restricción sustituyan a este tipo complejo.
  • substitution - Impide la sustitución de elementos.
  • #all - Impide que todos los tipos complejos derivados sustituyan a este tipo complejo.

finalDefault

Opcional. Define el valor predeterminado de la propiedad final de los elementos element, simpleType y complexType en el espacio de nombres objetivo de esta arquitectura. La propiedad final impide que los tipos derivados específicos de element, simpleType o complexType sustituyan a estos elementos. Para los elementos element y complexType, este valor puede contener #all o una lista, que es un subconjunto de extension o restriction. Para los elementos simpleType, este valor también puede contener list y union:

  • extension - Por defecto, los elementos de este schema no pueden derivarse por extensión. Únicamente para elementos element y complexType.
  • restriction - Evita la derivación por restricción.
  • list - Evita la derivación por lista. Únicamente para elementos simpleType.
  • union - Evita la derivación por unión. Únicamente para elementos simpleType.
  • #all - Por defecto, los elementos de este schema no pueden derivarse por ningún método.

targetNamespace

La referencia URI del espacio de nombres de este schema. También se puede asignar un prefijo a este espacio de nombres. Si no se asigna ningún prefijo, los componentes schema de este espacio de nombres pueden usarse junto con referencias no limitadas.

versión

Opcional. Define la versión del schema.

xmlns

Define una o más referencias URI de espacios de nombres utilizados en este schema. Si no se asigna un prefijo, el componente schema del espacio de nombres puede usarse con referencias no limitadas.

cualquier atributos

Opcional. Define cualquier otra propiedad con espacio de nombres no schema.

Ejemplo

Ejemplo 1

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="values" type="xs:string">
</xs:schema>

Ejemplo 2

En este ejemplo, el componente schema (nombre de elemento, tipo) en el espacio de nombres http://www.w3.org/2001/XMLSchema no está limitado, mientras que http://www.codew3c.com/codew3cschema (mystring) está limitado por el prefijo wsc:

<?xml version="1.0"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"}
xmlns:wsc="http://www.codew3c.com/codew3cschema"
<elemento name="fname" type="wsc:mystring"/>
</schema>