XForms ile çalışmak

» XForms geleneksel HTML formları üzerinde bir çeşitleme tanımlayarak, formların daha çeşitli platformlarda, tarayıcılarda ve hatta PDF belgeleri gibi geleneksel olmayan ortamlarda kullanılmasına imkan verir.

XForms'daki ilk önemli fark formun istemciye nasıl gönderildiğidir. » HTML Yazarları için XForms altında XForms yaratılışıyla ilgili ayrıntılı açıklama bulunur. Bu öğreticinin amacı için aşağıdaki basit örnek verilmiştir:

Örnek 1 - Basit bir XForms arama formu

<h:html xmlns:h="http://www.w3.org/1999/xhtml" xmlns="http://www.w3.org/2002/xforms"> <h:head> <h:title>Arama</h:title> <model> <submission action="http://ornek.dom/arama" method="post" id="s"/> </model> </h:head> <h:body> <h:p> <input ref="q"><label>Bul</label></input> <submit submission="s"><label>Gönder</label></submit> </h:p> </h:body> </h:html>

Yukarıdaki form (q isimli) bir metin kutusu ve gönder düğmesi gösterir. Gönder düğmesine tıklandığında, form action ile gösterilen sayfaya gönderilir.

Normal bir HTML formunda, veri application/x-www-form-urlencoded olarak gönderilir, XForms'da ise bu bilgi XML biçimli veri olarak gönderilir.

Eğer XForms ile çalışmayı seçerseniz muhtemelen bu verinin XML olmasını istiyorsunuz demektir, bu durumda, $HTTP_RAW_POST_DATA içine bakınız, orada tarayıcı tarafından üretilen XML belgesini bulacaksınız; bunu istediğiniz XSLT motoruna veya belge çözümleyiciye aktarabilirsiniz.

Eğer biçimlendirmeyle ilgilenmiyorsanız ve sadece verinizin geleneksel $_POST değişkenine yüklenmesini istiyorsanız, method özelliğini urlencoded-post olarak değiştirebilir ve istemci tarayacıya veriyi application/x-www-form-urlencoded olarak gönderme talimatı verebilirsiniz.

Örnek 2 - $_POST elde etmek için bir XFrom kullanımı

<h:html xmlns:h="http://www.w3.org/1999/xhtml" xmlns="http://www.w3.org/2002/xforms"> <h:head> <h:title>Ara</h:title> <model> <submission action="http://ornek.dom/arama" method="urlencoded-post" id="s"/> </model> </h:head> <h:body> <h:p> <input ref="q"><label>Bul</label></input> <submit submission="s"><label>Gönder</label></submit> </h:p> </h:body> </h:html>

Bilginize: Bu belge yazılırken birçok tarayıcı XForms'u destemiyordu. Eğer yukarıdaki örnek çalışmıyorsa tarayıcınızın sürümüne bakınız.

To Top