|
Le dichiarazioni degli elementi dello schema XML possono contenere tipi semplici o complessi. Gli elementi privi di contenuto e di attributi sono dichiarati con un tipo semplice nello schema XML. Le dichiarazioni degli attributi possono contenere tipi semplici. In genere, gli elementi con tipi semplici e gli attributi sono mappati sui campi di Designer. Il tipo del campo è determinato dal valore del tipo semplice.
Tipi semplici incorporatiLo schema XML definisce diversi tipi semplici incorporati.
I seguenti tipi sono mappati a un oggetto campo di testo, cioè qualsiasi oggetto che contiene testo normale:
string
normalizedString
token
Nome
NCName
QName
language
I seguenti tipi sono mappati all'oggetto campo numerico:
float
double
decimal
integer
long
int
short
byte
positiveInteger
nonPositiveInteger
negativeInteger
nonNegativeInteger
unsignedLong
unsignedInt
unsignedShort
unsignedByte
Le mappature dei tipi data e ora sono elencate nella seguente tabella:
Data e ora
|
Tipo di oggetto
|
duration
|
Campo modifica testo
|
dateTime
|
Campo data/ora. Il tipo di controllo è Data e ora.
|
date
|
Campo data/ora. Il tipo di controllo è Data.
|
time
|
Campo data/ora. Il tipo di controllo è Ora.
|
gYear
|
Campo di testo con clausola illustrazione.
|
gYearMonth
|
Campo di testo con una clausola illustrazione
|
gMonth
|
Campo di testo con una clausola illustrazione
|
gMonthDay
|
Campo di testo con una clausola illustrazione
|
gDay
|
Campo di testo con una clausola illustrazione
|
I seguenti tipi preesistenti sono mappati all'oggetto campo di testo:
ID
IDREF
IDREFS
ENTITY
ENTITIES
NMTOKEN
NMTOKENS
NOTATION
Altri tipi sono mappati nella seguente tabella:
Altro
|
Tipo di oggetto
|
boolean
|
Casella di controllo
|
hexBinary
|
Immagine statica
|
base64Binary
|
Immagine statica
|
anyURI
|
Campo di testo
|
Tipi semplici limitatiÈ possibile derivare nuovi tipi semplici da altri tipi semplici utilizzando le limitazioni dello schema XML. In questa sezione è illustrato come tali limitazioni possono essere mappate rispetto alle strutture dei moduli.
- Facet di enumerazione
- La dichiarazione di un elemento o attributo di qualsiasi tipo base che dichiara uno o più valori enumerati genera un oggetto elenco a discesa e non il campo predefinito per il tipo base della dichiarazione.
<xsd:element name="Colors">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:enumeration value="red"/>
<xsd:enumeration value="green"/>
<xsd:enumeration value="blue"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:element>
Il set di valori enumerati sarà memorizzato come voci dell'elenco a discesa.
- Facet di limite, lunghezza e precisione
- Quando possibile, i facet di restrizione che controllano i limiti ( minInclusive, minExclusive, maxInclusive e maxExclusive), la lunghezza (length, minLength, emaxLength) e la precisione (totalDigits e fractionDigits) sono mappati alle proprietà sugli oggetti generati. In alternativa, sono utilizzati per generare script di convalida. Di seguito sono riportati due esempi:
Il facet maxLength consente di impostare le proprietà maxChars per il valore del testo:
<field><value><text maxChars="100"/></value></field>
Il facet fractionDigits è utilizzato per impostare la proprietà fracDigits sul valore decimale:
<field><value><decimal fracDigits="3"/></value></field>
Tipi di elenco e di unioneI tipi di elenco consentono la definizione di tipi i cui valori sono elenchi separati da spazi bianchi di valori singoli. Gli elementi e gli attributi che hanno tipi elenco saranno mappati a oggetti campo di testo.
Il set di valori consentiti per i tipi unione è un'unione di due o più set di valori. I diversi set non appartengono necessariamente allo stesso tipo base. In genere, i tipi unione vengono mappati agli oggetti campo di testo. Tuttavia, se tutti i set dell'unione sono dello stesso tipo, la mappatura sarà la stessa per tutti i tipi che utilizzano uno di tali set (cioè, un'unione di due set di valori enumerati genererà un elenco a discesa con tutti i valori dell'unione).
|
|
|