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