XForms XML:Dans la pratique

Un article de WikiTuto.

Jump to: navigation, search
  • XML Concepts de base
  1. Historique : de SGML à XML
  2. XML:Mise en oeuvre
  3. Structure d'un document XML
  4. Support par les navigateurs
  • Prise en main d'XML CookTop
  1. XML CookTop généralités
  2. Interface
  3. Exercices
  • Prise en main d'oXygen XML Editor
  1. Généralités
  2. Interface
  3. Fonctionnalités
  4. Exercices
  • Déclarations de Type de Document
  1. Introduction
  2. Types de DTD
  3. Déclarations d'éléments
  4. Déclarations d'attributs
  5. Déclarations d'entités
  • Initiation aux Schéma XML
  1. Introduction
  2. Les premiers pas
  3. Déclarations d'éléments et d'attributs
  4. Les types de données
  5. Espaces de nom
  6. Les dérivations
  7. Diverses autres fonctionnalités
  • Mise en forme à l'aide de feuilles de style XSL
  1. Présentation
  2. Exemples de mises en forme
  • Mise en forme à l'aide de feuilles de style XSL (XSLT)
  1. Les expressions de sélection
  2. XPath
  3. Éléments XSLT
  • Fonctions XPath
  1. Fonctions XPath applicables aux nœuds
  2. Fonctions XPath applicables aux chaînes de caractèress
  3. Fonctions XPath applicables aux nombres
  4. Fonctions booléennes
  5. Autres fonctions
  • Utilisation du DOM et XSLT dynamique
  1. Insertion de code JavaScript dans une page
  2. Utilisation du DOM
  • Synchroniser des contenus multimédia avec SMIL
  1. Généralités
  2. Construction progressive d'un fichier SMIL
  3. Conclusion
  • Un format de dessin vectoriel en XML: SVG
  1. Introduction
  2. SVG de base
  3. Éléments graphiques de base
  4. Structuration: éléments de groupage et références
  5. Transformations
  6. Autres fonctionnalités
  • L'animation dans le SVG
  1. Introduction
  2. Animation de base: l'élément animate
  3. Des animations plus complexes
  • Plus loin que les formulaires HTML: XForms
  1. Généralités
  2. Fonctionnalités des formulaires XForms
  3. Dans la pratique
  4. Pour aller plus loin...
  • Quelques mots sur les Services Web
  1. Généralités
  2. Trouver un service Web
  3. Accéder à un service Web
  4. Récapitulation et inconvénients
Source : Gilles Chagnon

Sommaire

Visualisation

XForms est un langage nouveau et, en tant que tel, n'est pas encore supporté par les navigateurs. Il est néanmoins d'ores et déjà possible de tester son code :

  • soit avec un plug-in d'Internet Explorer 6, FormsPlayer ;
  • soit avec un petit navigateur Java dédié aux formats XML, X-Smiles (ce navigateur implémente notamment en natif SVG, SMIL).
  • ou bien avec une application Java développée par Novell.

Une liste plus complète d'implémentations est disponible au W3C.

Inclusion en XHTML

Principe

Via les espaces de nom, XForms peut être intégré dans n'importe quel fichier XML. Mais l'utilisation la plus répandue est dans un fichier XHTML.

Un premier exemple

Un exemple simple donne les principes de base : il est disponible en téléchargement. On notera :

  • l'appel à des espaces de nom pour l'insertion des éléments de formulaire ;
  • un modèle dans l'entête du fichier HTML, et les balises non insérées dans un élément particulier dans le corps du fichier (il n'y a pas de balise <form>) ;
  • la présence obligatoire d'éléments label, qui permettent à la fois de décrire chaque élément de formulaire, mais aussi de fournir le texte destiné à être affiché sur les boutons.

Sous réserve de correctement libeller le modèle (ce qui n'est pas le cas ici), la chaîne de caractères envoyée par le formulaire lors de la soumission est le fichier XML suivant :

<instanceData>
  <numero>(...)</numero>
</instanceData>

Un exemple plus élaboré

Le deuxième exemple, disponible lui aussi en téléchargement, présente quelques autres principes de base en plus de ceux précédemment évoqués :

  • Le modèle doit répondre à deux tâches :
1.il doit définir la structure de l'instance data, dans la balise <instance> ;
2. il doit aussi définir ce qui arrive lors de la soumission du formulaire.

La balise <instance> définit les éléments XML qui figureront dans la soumission du formulaire. Il est possible, au lieu de simplement écrire, dans l'ordre, la liste de ces éléments, de faire référence à un schéma externe, à l'aide d'un attribut src. Cette possibilité permet d'appliquer plus de contraintes aux données qui doivent être saisies.

La balise <submission> possède beaucoup d'attributs ; les trois plus importants sont id, action et method, comme en HTML. L'exemple donné en propose deux illustrations :

  • Comme en HTML, id permet d'... identifier le modèle de soumission ;
  • la création d'un fichier local (méthode "put"). On peut se servir de cette méthode si on doit réaliser l'interface d'une application Web destinée à aider des utilisateurs novices à produire des fichiers XML selon un format précis.
  • l'envoi "classique" (méthode "post"). Cette méthode est particulièrement adaptée à l'utilisation de [Services Web XML:Généralités Services Web].

Dans le formulaire lui-même, dans le corps du document, on note pour chaque champ l'utilisation de quelques attributs :


  • L'attribut model "pointe" vers le modèle d'instance data utilisé ;
  • L'attribut ref pointe, pour l'instance data sélectionnée, vers la balise à remplir ;
  • L'attribut class permet de faire référence à une propriété CSS gérant l'apparence de l'élément.

L'élément <submit>, enfin, possède un attribut submission désignant le type de soumission à employer. Cet attribut fait référence à la balise <submission> d'identifiant correspondant.

Interactivité sans script

Le troisième exemple [hhttp://www.wikituto.org/xml/exemples/xforms2.xml en téléchargement] ajoute quelques éléments :

  • Une balise <repeat> permet d'indiquer une collection d'éléments de formulaire répétables.
  • L'élément <trigger>, qui désigne un bouton, permet de spécifier une action de répétition. Pour cela, lorsque l'événement indiqué par l'attribut ev:event est activé, le formulaire s'ajoute (sans script, balise <insert>) un élément <order> (nodeset=order, après le dernier élément de même nom dans l'instance data (at="last()" position="after")



Sources

Gilles Chagnon

Voir aussi

Boîte à outils
Annuaire gratuitCe site est listé dans la catégorie Informatique : Aide et astuces en informatique Annuaire