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

Egenskab

id

Valgfri. Angiver det unikke ID for elementet.

attributeFormDefault

Valgfri. Formen af egenskaber deklarerede i schemaets målnavnerum. Værdien skal være en af følgende strenge: "qualified" eller "unqualified". Standardværdien er "unqualified".

  • "unqualified" indikerer, at egenskaber i målnavnerummet ikke skal være navnerumskvalificerede.
  • "qualified" indikerer, at egenskaber i målnavnerummet skal være navnerumskvalificerede.

elementFormDefault

Valgfri. Formen af elementer deklarerede i schemaets målnavnerum. Værdien skal være en af følgende strenge: "qualified" eller "unqualified". Standardværdien er "unqualified".

  • "unqualified" indikerer, at elementer i målnavnerummet ikke skal være navnerumskvalificerede.
  • "qualified" indikerer, at elementer i målnavnerummet skal være navnerumskvalificerede.

blockDefault

Valgfri. Angiver standardværdien for block-attributten på element og complexType-elementer i målnavnerummet. Block-attributten forbyder brug af komplekse typer (eller elementer) med angivet afledningstyp til at erstatte arvede komplekse typer (eller elementer). Værdien kan indeholde #all eller en liste, som er en delmængde af extension, restriction eller substitution:

  • extension - Forbyder brug af afledte komplekse typer til at erstatte den komplekse type gennem udvidelse.
  • restriction - Forbyder brug af afledte komplekse typer til at erstatte den komplekse type gennem begrænsning.
  • substitution - Forbyder erstatning af elementer.
  • #all - Forbyder alle afledte komplekse typer at erstatte den komplekse type.

finalDefault

Valgfri. Definerer standardværdien for element, simpleType og complexType-elementernes final-attribut i målnavnerummet for dette schema. Final-attributten forhindrer, at element, simpleType eller complexType-elementer afledes til specifikke derivationsTyper. For element og complexType-elementer kan værdien indeholde #all eller en liste, der er en delmængde af extension eller restriction. For simpleType-elementer kan værdien også indeholde list og union:

  • extension - Som standard kan elementerne i dette schema ikke afledes ved udvidelse. Gælder kun for element og complexType-elementer.
  • restriction - Forhindrer afledelse gennem begrænsning.
  • list - Forhindrer afledelse gennem liste. Gælder kun for simpleType-elementer.
  • union - Forhindrer afledelse gennem union. Gælder kun for simpleType-elementer.
  • #all - Som standard kan elementerne i dette schema ikke afledes ved nogen metode.

targetNamespace

URI-referencen til schemaets navnerum. Man kan også tildele et præfiks til dette navnerum. Hvis ingen præfiks er tildelt, kan komponenterne i dette navnerum bruges sammen med ubegrænsede referencer.

version

Valgfri. Definerer versionen af schema.

xmlns

Definerer en eller flere URI-referencer til navnerum, der bruges i dette schema. Hvis ingen præfiks er tildelt, kan schema-komponenten i dette navnerum bruges sammen med ubegrænsede referencer.

Enhver attribut

Valgfri. Definerer hvilke andre attributter der kan have en non-schema navnerum

Eksempel

Eksempel 1

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

Eksempel 2

I dette eksemplet er komponenten schema (element navn, type) ikke begrænset i navnerummet http://www.w3.org/2001/XMLSchema, mens http://www.codew3c.com/codew3cschema (mystring) er begrænset gennem præfiks 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>