Tipi semplici

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 incorporati

Lo 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 unione

I 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).