Limitazioni su un insieme dei valori
|
Per limitare il contenuto degli elementi di XML ad un insieme dei valori accettabili, useremmo il vincolo di enumerazione.
L'esempio sotto definisce un elemento chiamato �automobile� con una limitazione. Gli unici valori accettabili sono: Audi, golf, BMW:
|
<xs:element name="car">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Audi"/>
<xs:enumeration value="Golf"/>
<xs:enumeration value="BMW"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
|
|
L'esempio qui sopra potrebbe anche essere scritto dentro come questo:
|
<xs:element name="car" type="carType"/>
<xs:simpleType name="carType">
<xs:restriction base="xs:string">
<xs:enumeration value="Audi"/>
<xs:enumeration value="Golf"/>
<xs:enumeration value="BMW"/>
</xs:restriction>
</xs:simpleType>
|
|
Nota: Nell'esempio sopra il tipo �il carType� pu� essere usato da altri elementi perch� non � una parte dell'elemento �dell'automobile�.
|
Limitazioni su una serie di valori
|
Per limitare il contenuto di un elemento di XML per definire una serie di lettere o di numeri che possono essere usati, useremmo il vincolo del modello.
L'esempio sotto definisce un elemento chiamato �lettera� con una limitazione. L'unico valore accettabile � UNO della lettera MINUSCOLA dalla a alla z:
|
<xs:element name="letter">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-z]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
|
|
L'esempio seguente definisce un elemento chiamato �iniziali� con una limitazione. L'unico valore accettabile � TRE della lettera MAIUSCOLA dalla a alla z:
|
<xs:element name="initials">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z][A-Z][A-Z]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
|
|
L'esempio seguente inoltre definisce un elemento chiamato �iniziali� con una limitazione. L'unico valore accettabile � TRE della lettera MINUSCOLA O MAIUSCOLA dalla a alla z:
|
<xs:element name="initials">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z][a-zA-Z][a-zA-Z]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
|
|
L'esempio seguente definisce un elemento chiamato �scelta� con una limitazione. L'unico valore accettabile � UNO di seguente lettera: x, y, O z:
|
<xs:element name="choice">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[xyz]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
|
|
L'esempio seguente definisce un elemento chiamato �prodid� con una limitazione. L'unico valore accettabile � CINQUE cifre in una sequenza ed ogni cifra deve essere nella gamma da 0 a 9:
|
<xs:element name="prodid">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:pattern value="[0-9][0-9][0-9][0-9][0-9]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
|
|
Limitazioni sui caratteri di Whitespace
|
Per specificare come i caratteri del whitespace dovrebbero essere maneggiati, useremmo i vincoli del whiteSpace.
Questo esempio definisce un elemento chiamato �indirizzo� con una limitazione. Il vincolo del whiteSpace � regolato �alla conserva�, che significa che il processor di XML non rimuover� alcun carattere bianco bianco
|
<xs:element name="address">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
|
|
Questo esempio inoltre definisce un elemento chiamato �indirizzo� con una limitazione. Il vincolo del whiteSpace � regolato a �sostituisce�, che significano che il processor di XML SOSTITUIR� tutti i caratteri bianchi bianchi (linea alimentazioni, linguette, spazi e ritorni a margine) con gli spazi:
|
<xs:element name="address">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="replace"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
|
|
Questo esempio inoltre definisce un elemento chiamato �indirizzo� con una limitazione. Il vincolo del whiteSpace � regolato �al crollo�, che significa che il processor di XML RIMUOVER� tutto il carattere bianco bianco (linea alimentazioni, linguette, spazi, i ritorni a margine sono sostituiti con gli spazi, gli spazi conducenti e strascicanti sono rimossi e gli spazi multipli sono ridotti al singolo spazio):
|
<xs:element name="address">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
|
|
Limitazioni sulla lunghezza
|
Per limitare la lunghezza di un valore dentro ad un elemento, useremmo la lunghezza, il maxLength ed i vincoli del minLength.
Questo esempio definisce un elemento chiamato �parola d'accesso� con una limitazione. Il valore deve essere esattamente otto caratteri:
|
<xs:element name="password">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="8"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
|
|
Questo esempio definisce un altro elemento chiamato �parola d'accesso� con una limitazione. Il valore deve essere otto caratteri massimi e caratteri di minimo cinque:
|
<xs:element name="password">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="5"/>
<xs:maxLength value="8"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
|
|
Limitazioni per Datatypes
|
Constraint |
Description |
enumeration |
Defines a list of acceptable values |
fractionDigits |
Specifies the maximum number of decimal places allowed.
Must be equal to or greater than zero |
length |
Specifies the exact number of characters or list items
allowed. Must be equal to or greater than zero |
maxExclusive |
Specifies the upper bounds for numeric values (the
value must be less than this value) |
maxInclusive |
Specifies the upper bounds for numeric values (the
value must be less than or equal to this value) |
maxLength |
Specifies the maximum number of characters or list
items allowed. Must be equal to or greater than zero |
minExclusive |
Specifies the lower bounds for numeric values (the
value must be greater than this value) |
minInclusive |
Specifies the lower bounds for numeric values (the
value must be greater than or equal to this value) |
minLength |
Specifies the minimum number of characters or list
items allowed. Must be equal to or greater than zero |
pattern |
Defines the exact sequence of characters that are
acceptable
|
totalDigits |
Specifies the exact number of digits allowed. Must be
greater than zero |
whiteSpace |
Specifies how white space (line feeds, tabs, spaces,
and carriage returns) is handled |
|
|
|
Keywords:
XSD restrictions/facets,web service xsd,xsd tutorial,xsd xml,xsd examples,xsd dtd,xsd validator,xslt xsd,sample xsd