Eenvoudige typen

De definities van de elementen in een XML-schema kunnen eenvoudig of complex zijn. Elementen die geen elementinhoud en geen kenmerken bevatten, worden in het XML-schema gedefinieerd als eenvoudig type. Voor de kenmerken kunnen eenvoudige definitietypen worden gebruikt. Over het algemeen worden elementen en kenmerken met een eenvoudig definitietype in Designer gebonden aan velden. Het veldtype wordt bepaald door de waarde van het eenvoudige type.

Ingebouwde eenvoudige typen

In het XML-schema zijn enkele ingebouwde elementen van het eenvoudige type gedefinieerd.

De volgende elementtypen worden omgezet in tekstveldobjecten, dat wil zeggen tekstobjecten zonder opmaak:

  • string

  • normalizedString

  • token

  • Naam

  • NCName

  • QName

  • language

De volgende elementtypen worden omgezet in numerieke veldobjecten:

  • float

  • double

  • decimal

  • integer

  • long

  • int

  • short

  • byte

  • positiveInteger

  • nonPositiveInteger

  • negativeInteger

  • nonNegativeInteger

  • unsignedLong

  • unsignedInt

  • unsignedShort

  • unsignedByte

De volgende tabel bevat de elementen die worden omgezet in veldtypen voor datum en tijd:

Datum en tijd

Objecttype

duration

Tekstbewerkingsveld.

dateTime

Datum-/tijdveld. Het besturingselementtype is Datum en tijd.

date

Datum-/tijdveld. Het besturingselementtype is Datum.

time

Datum-/tijdveld. Het besturingselementtype is Tijd.

gYear

Tekstveld met afbeeldingsvoorwaarde.

gYearMonth

Tekstveld met een afbeeldingsvoorwaarde

gMonth

Tekstveld met een afbeeldingsvoorwaarde

gMonthDay

Tekstveld met een afbeeldingsvoorwaarde

gDay

Tekstveld met een afbeeldingsvoorwaarde

De volgende verouderde elementtypen worden omgezet in tekstveldobjecten:

ID

IDREF

IDREFS

ENTITY

ENTITIES

NMTOKEN

NMTOKENS

NOTATION

De volgende tabel bevat de overige typen die worden omgezet:

Overig

Objecttype

boolean

Selectievakje

hexBinary

Statische afbeelding

base64Binary

Statische afbeelding

anyURI

Tekstveld

Beperkte eenvoudige typen

Nieuwe eenvoudige typen kunnen worden afgeleid van andere eenvoudige typen door gebruik te maken van de beperkingen van het XML-schema. Hier wordt beschreven hoe deze beperkingen in formulierontwerpen kunnen worden toegepast.

Opsomming
Met een element of kenmerk van een willekeurig basistype dat in een XML-schema is gedefinieerd en waarmee een of meer opsommingswaarden worden gedeclareerd, wordt een vervolgkeuzelijstobject gegenereerd in plaats van het standaardveldtype dat overeenstemt met het basistype van de definitie. U ziet dit in het volgende voorbeeld:
<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>

Hiermee worden de opsommingswaarden opgeslagen als items in de vervolgkeuzelijst.

Limieten, lengte en nauwkeurigheid
Voor zover mogelijk, worden de beperkingen voor limieten (minInclusive, minExclusive, maxInclusive en maxExclusive), lengte (length, minLength en maxLength) en nauwkeurigheid (totalDigits en fractionDigits) omgezet in eigenschappen voor de gegenereerde objecten. Als dit niet het geval is, worden de beperkingen gebruikt om validatiescripts te genereren. Hier volgen twee voorbeelden:
  • Met het kenmerk maxLength wordt de eigenschap maxChars van de tekstwaarde ingesteld:

    <field><value><text maxChars="100"/></value></field>

  • Het kenmerk fractionDigits wordt gebruikt om de eigenschap fracDigits van de decimale waarde in te stellen:

    <field><value><decimal fracDigits="3"/></value></field>

Lijsttypen en samenvoegtypen

Met lijsttypen kunnen typen worden gedefinieerd waarvan de waarden bestaan uit een lijst met afzonderlijke waarden die door spaties worden gescheiden. Elementen en kenmerken die als lijsttype zijn gedefinieerd, worden omgezet in tekstveldobjecten.

Samenvoegtypen zijn definitietypen waarbij de reeks toegestane waarden bestaat uit twee of meer andere reeksen van waarden die worden samengevoegd. De verschillende reeksen van waarden hoeven hierbij niet van hetzelfde basistype te zijn. Samenvoegtypen worden doorgaans omgezet in tekstveldobjecten. Als alle reeksen in het samenvoegtype echter van hetzelfde definitietype zijn, wordt een van de reeksen gebruikt en blijft het definitietype gelijk. Met andere woorden: een samenvoeging van twee reeksen opsommingswaarden resulteert in een vervolgkeuzelijst met alle waarden uit de samenvoeging.