XForms modell

XForms-modellen definierar en mall för att fokusera på data i formuläret.

XForms ramverk

HTML-formulärens roll är att samla in data. XForms har samma funktion.

Genom XForms beskrivs inmatningsdata i två olika delar:

  • XForms modell (beskrivning av data och logik)
  • XForms användargränssnitt (visning och inmatning av data)

XForms modellDefinierar vad en formulär är, vilka data den innehåller och vad den ska göra.

XForms användargränssnittDefinierar inmatningsfält och hur de visas.

XForms modell

XForms ModellAnvänds förBeskrivningData.

Data-modellen är ett exempel på en XML-dokument (en mall).

XForms 模ell definierar en datamodell inom en <model> element:

<model>
<instance>
  <person>
    <fname/>
    <lname/>
  </person>
</instance>
<submission id="form1" action="submit.asp" method="get"/>
</model>

Från de ovanstående exemplen kan du se att XForms-modellen använder en <instance> element för att definiera XML-mall för data som behöver samlas in, och använd en <submission> element för att beskriva hur data ska lämnas in.

<submission>-modelleningenUtrycker information om vilka delar av formuläret (användargränssnitt) som är synliga.

XForms namnrymd

Om du ignorerar dessa exempel med XForms-namespace eller om du inte är bekant med konceptet namespace, kommer vi att introducera detta i nästa avsnitt.

<instance>-elementet

XForms modell <instance> element för att definiera data som ska samlas in.

XForms ärFör att samla in data för en XML-dokumenti denna XForms-modellen definierar <instance>-elementet denna XML-dokument.

I det ovanstående exemplet ser datainstansen (XML-dokument) som samlas in av formuläret ut så här:

<person>
  <fname/>
  <lname/>
</person>

Efter att datainsamlingen är klar, kan denna XML-dokument se ut så här:

<person>
  <fname>John</fname>
  <lname>Smith</lname>
</person>

<submission>-elementet

XForms-modellen använder <submission> element för att beskriva hur data ska lämnas in.

<submission>-elementet kan definiera formuläret och hur formuläret ska lämnas in. I det ovanstående exemplet,id="form1" används för att beteckna detta formulär,action="submit.asp" Egenskapen anger URL:en där formuläret skickas, medan method="get" Egenskapen definierar metoden som används under formulärinlämningen.

XForms användargränssnitt

XForms AnvändargränssnittAnvänds förVisning och inmatningData.

XForms användargränssnittselementen kallasKontrolleller inmatningskontroll:

<input ref="fname"><label>First Name</label></input>
<input ref="lname"><label>Last Name</label></input>
<submit submission="form1"><label>Submit</label></submit>

I det ovanstående exemplet definierar två <input>-element två inmatningsfält. ref="fname" och ref="lname"-egenskaperna pekar på <fname> och <lname>-elementen i XForms-modellen.

submission="form1"-egenskapen i <submit>-elementet kan hänvisa till <submission>-elementet i XForms-modellen. submit-elementet visas vanligtvis som en knapp.

Observera <label>-elementet i exempel. Med XForms måste varje inputkontrollelement ha ett <label>-element.

Du behöver en behållare

XForms har inte utformats för att arbeta ensamt. Det finns ingen sådan XForms-dokument.

XForms måste arbeta i en annan XML-dokument. Det kan köra i XHTML 1.0, och det kommer också att fungera i XHTML 2.0.

Nu samlar vi alla ihop

Om vi samlar dem alla, så ser dokumentet ut så här:

<xforms>
<model>
<instance>
  <person>
    <fname/>
    <lname/>
  </person>
</instance>
<submission id="form1" action="submit.asp" method="get"/>
</model>
<input ref="fname"><label>First Name</label></input>
<input ref="lname"><label>Last Name</label></input>
<submit submission="form1"><label>Submit</label></submit>
</xforms>

Sidan kommer att visas så här:

xforms_example

XForms processor

Inbyggd i webbläsaren XForms processorkommer att ansvara för att提交 XForms data till målet.

Data kan提交 som XML, liknande detta:

<person>
  <fname>David</fname>
  <lname>Smith</lname>
</person>

eller som text, liknande detta:

fname=David;lname=Smith