XForms i XPath

Polecenia kursów:

XForms używa XPath do szybkiego wyszukiwania danych. Proces ten nazywa się bindowaniem.

Bindowanie XForms

Model XForms to szablon XML (przykład) dla danych, a interfejs użytkownika XForms to opis wprowadzania i wyświetlania danych.

XForms używa XPath do zdefiniowania połączenia między tymi dwoma częściami. To nazywa sięBindowanie (binding).

XPath

XPath jest używany do definiowania standardowej gramatyki W3C dla części dokumentu XML.

XPath używa wyrażeń ścieżkowych do oznaczania węzłów w dokumencie XML. Te wyrażenia są bardzo podobne do wyrażeń ścieżkowych, które widzisz w systemach komputerowych.

Wyrażenie XPath:

/person/fname

Wyszukiwanie węzłów w dokumencie XML, takich jak <fname>:

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

W naszym Tutorial XPath Szkolenie XPath

Bindowanie za pomocą Ref

Model XForms wygląda tak:

<instance>
  <person>
    <name>
      <fname/>
      <lname/>
    </name>
  </person>
</instance>

Interfejs użytkownika XForms może być używany ref atrybutprzypięcie Element <input>:

<input ref="name/fname">
<label>Imię</label>
</input>
<input ref="name/lname">
<label>Imię nazwisko</label>
</input>

Atrybut ref="name/fname" w powyższym przykładzie jest wyrażeniem XPath wskazującym na element <fname> w modelu instancji. Pozwala to naprzypięciedo dokumentu XML (przykład) zbierającego dane z formularza, elementu <fname>.

Interfejs użytkownika XForms może również używać odniesień:

<input ref="/person/name/fname">
<label>Imię</label>
</input>
<input ref="/person/name/lname">
<label>Imię nazwisko</label>
</input>

W powyższym przykładzie, kropka wstępna (/) w wyrażeniu XPath wskazuje na korzeń dokumentu XML.

Bind do wiązania

Model XForms wygląda tak:

<model>
<instance>
  <person>
    <name>
      <fname/>
      <lname/>
    </name>
  </person>
</instance>
<bind nodeset="/person/name/fname" id="firstname"/>
<bind nodeset="/person/name/lname" id="lastname"/>
</model>

Interfejs użytkownika XForms może być używany bind atrybutprzypięcie Element <input>:

<input bind="firstname">
<label>Imię</label>
</input>
<input bind="lastname">
<label>Imię nazwisko</label>
</input>

Dlaczego istnieją dwa sposoby przymocowania elementów przycisków wejściowych do danych instancji?

Cóż, gdy zaczynasz używać XForms w złożonych aplikacjach, odkryjesz, że bind to bardziej elastyczny sposób obsługi wielokrotnych formularzy i modeli instancji.