XForms och XPath
- Föregående sida XForms exempel
- Nästa sida XForms input
Kursrekommendationer:
XForms använder XPath för att snabbt adressera data. Detta process kallas binding.
XForms-binding
XForms-modellen är en XML-mall (exempel) för data, medan XForms-användargränssnittet är en beskrivning av datainmatning och visning.
XForms använder XPath för att definiera anslutningen mellan dessa två delar. Detta kallasBinding (binding).
XPath
XPath används för att definiera W3C-standardgrammatiken för olika delar av ett XML-dokument.
XPath använder sökvägsuttryck för att beteckna noder i XML-dokument. Dessa uttryck liknar mycket de sökvägsuttryck du ser i datorssystem.
XPath-uttryck:
/person/fname
Adressera noden i XML-dokumentet <fname>:
<person> <fname>David</fname> <lname>Smith</lname> </person>
i vår XPath-Handledning för att lära sig mer om XPath.
Använd Ref för att binda
XForms modellen ser ut så här:
<instance> <person> <name> <fname/> <lname/> </name> </person> </instance>
XForms användargränssnitt kan använda ref egenskap attbind <input> elementet:
<input ref="name/fname"> <label>Efternamn</label> </input> <input ref="name/lname"> <label>Förnamn</label> </input>
I ovanstående exempel är egenskapen ref="name/fname" en XPath-uttryck som pekar på <fname>-elementet i modellen. Det kan användas för attbindtill den XML-dokument (exempel) där data samlas in från formuläret <fname> element.
XForms användargränssnitt kan också använda hänvisningar:
<input ref="/person/name/fname"> <label>Efternamn</label> </input>
<input ref="/person/name/lname"> <label>Förnamn</label> </input>
I det ovanstående exemplet indikerar den positiva snedstrecken (/) i XPath-uttrycket XML-dokumentets rot.
Använd Bind för att binda
XForms modellen ser ut så här:
<model> <instance> <person> <name> <fname/> <lname/> </name> </person> </instance> <bind nodeset="/person/name/fname" id="förnamn"/> <bind nodeset="/person/name/lname" id="efternamn"/> </model>
XForms användargränssnitt kan använda bind egenskap attbind <input> elementet:
<input bind="efternamn"> <label>Efternamn</label> </input> <input bind="förnamn"> <label>Förnamn</label> </input>
Varför finns det två sätt att binda inputkontroll element till instansdata?
Så vad sägs om när du börjar använda XForms i komplexa applikationer, då upptäcker du att använda bind för att binda är ett mer flexibelt sätt att hantera flera formulär och flera modeller.
- Föregående sida XForms exempel
- Nästa sida XForms input