Enkla typer

Elementdeklarationer för XML-scheman kan ha enkla eller komplexa typer. Element som saknar elementinnehåll och attribut deklareras som enkel typ i XML-schemat. Attributdeklarationer kan innehålla enkla typer. Vanligtvis mappas element med enkla typer och attribut till Designer-fält. Fälttypen bestäms av det enkla typvärdet.

Inbyggda enkla typer

XML-schemat innehåller definitioner för flera inbyggda enkla typer.

Nedanstående typer mappas till objektet Textfält, vilket kan vara valfritt objekt med vanligt textinnehåll:

  • string

  • normalizedString

  • token

  • Namn

  • NCName

  • QName

  • language

Nedanstående typer mappas till det numeriska fältobjektet:

  • float

  • double

  • decimal

  • integer

  • long

  • int

  • short

  • byte

  • positiveInteger

  • nonPositiveInteger

  • negativeInteger

  • nonNegativeInteger

  • unsignedLong

  • unsignedInt

  • unsignedShort

  • unsignedByte

Mappningarna för datum och tid finns i tabellen nedan:

Datum och tid

Objekttyp

duration

Textredigeringsfält

dateTime

Datum-/tidfält. Kontrolltypen är Datum och tid.

date

Datum-/tidfält. Kontrolltypen är Datum.

time

Datum-/tidfält. Kontrolltypen är Tid.

gYear

Textfält med formatsats.

gYearMonth

Textfält med formatsats

gMonth

Textfält med formatsats

gMonthDay

Textfält med formatsats

gDay

Textfält med formatsats

Nedanstående grundtyper mappas till objektet Textfält:

ID

IDREF

IDREFS

ENTITY

ENTITIES

NMTOKEN

NMTOKENS

NOTATION

Övriga typer mappas enligt nedanstående tabell:

Annan

Objekttyp

boolean

Kryssruta

hexBinary

Statisk bild

base64Binary

Statisk bild

anyURI

Textfält

Enkla typer med begränsningar

Nya enkla typer kan skapas från andra enkla typer med hjälp av begränsningarna för XML-schema. Följande avsnitt innehåller beskrivningar av hur begränsningarna mappas till formulärdesigner.

Numreringsmetoder
Ett element i ett XML-schema eller en attributdeklaration för valfri bastyp som deklarerar ett eller flera numrerade värden, genererar ett nedrullningsbart listobjekt i stället för standardfältet för deklarationens bastyp. Se följande exempel:
<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>

De numrerade värdena lagras som alternativ för den nedrullningsbara listan.

Metoder för gränser, längd och precision
När det är möjligt mappas begränsningsmetoderna som styr gränser (minInclusive, minExclusive, maxInclusive och maxExclusive), längd (length, minLength och maxLength) och precision (totalDigits och fractionDigits) till egenskaperna för genererade objekt. I annat fall används de till att generera valideringsskript. Här är två exempel:
  • Metoden maxLength används för att ange maxChars-egenskaperna för textvärdet:

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

  • Metoden fractionDigits används för att ange fracDigits-egenskapen för decimalvärdet:

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

List- och unionstyper

Listtyper gör det möjligt att definiera typer där värdena består av listor med enkla värden åtskilda av blanksteg. Element och attribut med listtyper mappas till Textfält-objekt.

Unionstyper består av en union av två eller fler värdeuppsättningar. De olika uppsättningarna behöver inte nödvändigtvis vara av samma bastyp. Unionstyperna mappas normalt till Textfält-objekten. Om däremot alla uppsättningar i unionen är av samma typ blir mappningen densamma som med valfri typ (d.v.s., en union av två uppsättningar numrerade värden genererar en nedrullningsbar lista med alla värden i unionen).