Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Estendere XHTML: FML (Form Markup Language)

Le estensione dell'XHTML: costruire applicazioni web basate su XHTML con semplicità
Le estensione dell'XHTML: costruire applicazioni web basate su XHTML con semplicità
Link copiato negli appunti

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.

Ti consigliamo anche