Mam przykładowy formularz napisany w XForms:
formularz.xhtml
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xf="http://www.w3.org/2002/xforms"> <head> <xf:model id="model1"> <xf:instance> <dane xmlns=""><haslo/><kasa/></dane> </xf:instance> <xf:submission id="submit" method="post" action=""/> </xf:model> </head> <body> <xf:secret model="model1" ref="haslo"> <xf:label>Hasło</xf:label> </xf:secret> <xf:range ref="kasa" start="-2.0" end="2.0" step="0.5"> <xf:label>Ile kasy?</xf:label> </xf:range> </body> </html>
Mam też Plik XML z szablonem XSL:
test.xml
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="test.xsl"?> <baza> <osoba plec="M" hobby="samochody" sport="sanki"> <imie>A</imie> <imie>B</imie> <imie>C</imie> <nazwisko>ABC</nazwisko> <data_ur>1983</data_ur> <miejsce_ur>Gorzów Wlkp.</miejsce_ur> </osoba> <osoba plec="M" hobby="komputery" sport="sex"> <imie>D</imie> <imie>E</imie> <imie>F</imie> <nazwisko>DEF</nazwisko> <data_ur>1980</data_ur> <miejsce_ur>Gdynia</miejsce_ur> </osoba> </baza>
test.xsl
<?xml version="1.0" encoding="ISO-8859-2"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> <xsl:output method="html"/> <xsl:template match="/"> <xsl:apply-templates/> </xsl:template> <xsl:template match="baza"> <html> <head> </head> <body> <table align="center" border="1"> <tr> </tr> <xsl:apply-templates/> </table> </body> </html> </xsl:template> <xsl:template match="osoba"> <tr> <td> <xsl:for-each select="imie"> <xsl:value-of select="."/> <br/> </xsl:for-each> </td> </tr> </xsl:template> </xsl:stylesheet>
Wtyczka do FireFoxa obsługująca XForms https://addons.mozilla.org/firefox/824/
Chciałbym nadmienić, że plik test.xml wraz z jego szablonem test.xsl oraz forumalarz.xhtml działają poprawnie.
Pytanie: Jak zintegrować (wstawić) formularz XFORMS do szablonu XSL?