Génération d'une IHM à partir d'un flux - XML/XSL - Programmation
Marsh Posté le 15-04-2003 à 11:32:16
walli a écrit : |
Tu peux pas plutot la créer à partir du XML Schéma décrivant la structure du XML que tu reçois ? Ca me semblerais plus adapté.
Marsh Posté le 15-04-2003 à 11:35:11
kadreg a écrit : |
peut être oui.
vais fouiller un peu.
Marsh Posté le 15-04-2003 à 11:55:53
Oui, c'est ce que je fais :
J'utilise directement les XSD (schémas xml) pour générer le formulaire adapté via une XSL (par exemple templateXSD.xsl)...
Ce n'est pas trop difficile et particulièrement adapté du fait que le XSD est tout d'abord en XML mais aussi qu'il décrit quasiment tout ce qu'il faut pour générer un formulaire.
Par exemple :
<xs:element name="..."...> permet de créer les noeuds eux même
Ensuite en détectant si l'ancestor de cet xs:element est de type mixte (true ou rien), on peut créer un textArea.
Petite subtilité : faire une feuille de style qui reconnaisse les <xs:element name...> et les <xsl:element ref...>
De même pour les <xs:attribute name="..."...> permet de créer les attribut des <xs:element...> dont ils sont les descendants...
Les attributs type de <xs:attribute...> me permettent de définir le type d'input du formulaire : un input texte si le type est xs:string, des select/jour/mois/année si c'est xs:date, des select spécifiques si <xs:attribute...> est d'un type particulier (restriction...)
Les attributes required permettent de vérifier si le champ est indispensable...
Les annotations permettent de filer des messages d'aides
Les "facets" ou patterns permettent de définir le "moule" de remplissage du champ
Les attributs minOccured et maxOccured permettent de définir la cardinalité des champs...
Un javaScript permet lors du submit d'escaper les caractères particuliers et de remplacer les &, >, <, " ... par leur équivalent amp;, gt;, lt;, quot; (rajouter & devant)...
Puis ce script assemble les différents élements du formulaires générés depuis le XSD, en les mettant bout à bout, par exemple :
<content + title=" + Voici le titre + "> + <text> + Voici le texte + </text> + </content>...
Voila comment je fais et ça marche plutôt bien pourl'instant (j'ai essayé ça hier justement)...
Marsh Posté le 15-04-2003 à 12:02:34
kadreg a écrit : |
Bah si tu pars du principe que le formulaire se base sur un schéma, alors va ptet falloir coupler les deux !!
Marsh Posté le 15-04-2003 à 12:05:37
pour ces explications
Tu as mis longtemps pour t'y mettre ?
Parce qu'en fait on a un prototype à réaliser pour un client, et comme d'hab, on a des délais assez restreints.
Et à première vue, ça paraît assez verbeux tout ça.
Marsh Posté le 15-04-2003 à 12:10:15
ReplyMarsh Posté le 15-04-2003 à 12:39:44
Autre aticle intéressant ici :
http://www.xml.com/pub/a/2003/01/1 [...] hemas.html
Marsh Posté le 15-04-2003 à 12:51:03
chocoboy a écrit : Autre aticle intéressant ici : |
Vais zieuter ça
Marsh Posté le 15-04-2003 à 11:24:56
Je me lance dans cette nouvelle catégorie
Voilà, je dois créér une IHM genre formulaire, à partir d'un flux XML passé en paramètre.
Tout doit être générer de manière dynamique.
Le flux XML n'a pas toujours forcément le même contenu.
L'IHM non plus puisqu'elle dépend du flux.
J'ai commencé à regarder du côté de XForms et de xslt pour les transformations, mais si vous avez d'autres idées ou des conseils/exemples, je prends.