HTML/XHTML  »  Guide  »  Guida XHTML 

Estendere XHTML: FML (Form Markup Language)



Attenzione!: il sito Mozquito.com, cui si fa continuo riferimento all'interno di questa lezione, ha purtroppo chiuso alcuni mesi dopo la pubblicazione di questa guida. Tuttavia, pur con la mancanza di questi link, la lezione conserva la sua utilità didattica.

Mozquito è una delle aziende più impegnate nella ridefinizione dei linguaggi Web basati su XML e partecipa attivamente ai lavori del W3C. Tra le sue realizzazioni ci occupiamo qui di FML (Form Markup Language). È un linguaggio che estende XHTML e che ridefinisce l'uso e le potenzialità dei classici form HTML. Stando alla documentazione ufficiale dell'azienda, FML dovrebbe:

  • ottimizzare e potenziare l'interazione tra l'utente e il server
  • ottenere con un solo linguaggio di markup risultati raggiungibili solo con uso complesso di Javascript o plug-in esterni
  • creare facilmente documenti distribuibili su varie piattaforme

Concretamente significa, ad esempio, creare velocemente slide-show, quiz, applicazioni di e-commerce, sondaggi, motori di ricerca. Per apprezzare le possibilità di questo linguaggio potete visualizzare alcuni esempi o il tutorial presente sul sito di Mozquito: tutta l'applicazione è realizzata in una sola pagina, senza uso di frame (un'altra delle potenti caratteristiche del linguaggio).

L'implementazione di FML è un classico esempio funzionante di modularizzazione. Riprendiamo l'esempio già visto in un'altra lezione:

<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//OVERFLOW//DTD XHTML-FML 1.0//EN"
"http://www.mozquito.org/dtd/xhtml-fml1.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:x="http://www.mozquito.org/xhtml-fml">
<head>
<title>Untitled</title>
</head>
<body>
<x:form>
</x:form>

</body>
</html>

Apparentemente è un normale documento XHTML, ma le differenze ci sono:

  1. La DTD (in verde) non è quella pubblica del W3C ma una versione "modificata" che implementa le caratteristiche di FML
  2. Vengono dichiarati due namespace: quello standard di XHTML (in rosso), quello per FML (in blue)

Questo è ciò che vediamo nel documento. In realtà, il cuore di tutto risiede nella DTD. Essa risulta come un mix della DTD XHTML 1.1 per certi moduli e della DTD FML per altri. Come si ottiene questo risultato? Escludendo i moduli riguardanti form, applet oppure oggetti e sostituendoli con quelli di FML. Il codice di esempio riporta la dichiarazione di esclusione dei moduli di XHTML:

<!ENTITY % xhtml-applet.module "IGNORE" >
<!ENTITY % xhtml-script.module "IGNORE" >
<!ENTITY % xhtml-object.module "IGNORE" >
<!ENTITY % xhtml-form.module "IGNORE" >
<!ENTITY % xhtml-model.module "IGNORE" >

Subito dopo, scorrendo la DTD, troviamo la dichiarazione dei moduli FML che sostituiscono i form:

<!-- This section declares parameter entities used to provide
namespace-qualified names for all FML element types.
-->
<!-- module: fml-form-1.mod -->
<!ENTITY % FML.form.qname "%FML.pfx;form" >
<!ENTITY % FML.button.qname "%FML.pfx;button" >
<!ENTITY % FML.textinput.qname "%FML.pfx;textinput" >
-------------------------------------

Non entriamo in dettagli estremamente complessi: il meccanismo dovrebbe essere chiaro.

Realizzare documenti in XHTML-FML non è difficile. Per provare basta scaricare la demo di Mozquito Factory 1.5. Si tratta di un editor che implementa i form FML. I file prodotti dall'applicazione hanno come estensione XHTML e sono di dimensione davvero ridotte se si pensa a quali caratteristiche implementano. Ma con un ottimo meccanismo di codifica possono essere immediatamente convertite in HTML. Avrete le stesse funzionalità, ma con codice Javascript e purtroppo con dimensioni maggiori: da 12kb si può passare a 71kb! Cosa fare? Aspettare che ci siano browser in grado di leggere direttamente le pagine XHTML-FML, trasformare in HTML ma con gli svantaggi visti oppure appoggiarsi al Matrix Server della stessa Mozquito che effettua le trasformazioni sul server mantenendo dimensioni accettabili.

Uno dei motivi per scaricare la demo di Mozquito Factory è anche la presenza di molti esempi funzionanti, che potranno rendere la giusta idea di questa eccellente estensione di XHTML.

Ultimi articoli HTML/XHTML

Inserire video nelle pagine Web con HTML5

Codec, compatibilità dei browser, tools, codice e best practices per...

LungoJS: semantica HTML5 per il mobile

Realizzare layout per dispositivi mobili tenendo conto della...

Web storage, i cookies secondo HTML5

Come rendere persistenti i dati con HTML5

HTML5, section o article? ...E il div?

Cerchiamo di fare chiarezza sull'uso di questi due nuovi elementi e...

HTML5, la validazione del codice

Gli strumenti per verificare l'aderenza agli standard di pagine e...

Altri articoli

Guide HTML/XHTML

Guida HTML5

Una guida per conoscere e applicare da subito le novità introdotte...

Guida XHTML

XHTML è il nuovo standard per il WEB ed è la transizione verso...

Altre guide

Newsletter @Daily HTML.it

Ogni mattina, dal lunedì al venerdì, le novità pubblicate su tutti i siti tecnici del network HTML.it: articoli, guide, notizie dal Web, blog e molto altro.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Webmaster base

18 Giugno 2012 a Milano
Disponibilità: 6 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti

Corso Webmaster base

11 Giugno 2012 a Roma
Disponibilità: 7 Posti