2010-09-28 6 views
0

Nous avons une application Web d'entreprise basée sur Java. L'utilisateur saisit/édite des données en utilisant des formulaires Web et ces données vont généralement à la base de données.Comment créer et éditer facilement des documents XML à l'aide de formulaires Web

Certaines données utilisateur sont regroupées uniquement pour les envoyer via un service Web. Ainsi, le processus est

  1. entrer des données (qui est transformé en un document XML)
  2. le cas échéant modifier les données (qui modifie ci-dessus document XML)
  3. envoyer à un service web 3ème partie

Je me demande s'il existe une manière astucieuse d'accomplir les tâches de conversion des données de formulaire en xml (étape 1) et en particulier de xml en formulaire web et en retour (étape 2). Certaines données dans le fichier xml sont statiques (non modifiables) et les données peuvent être à la fois dans les attributs et les éléments.

Des idées?

Répondre

2

Si vous n'avez qu'un seul schéma XML à gérer, et que c'est relativement simple, vous pouvez créer manuellement une simple application Web basée sur un formulaire HTML et la mapper entre le formulaire et le fichier XML.

Pour tout ce qui est compliqué, ou pour plus d'un ou deux schémas, je considérerais certainement XForms.

Nous avons utilisé l'implémentation de Orbeon il y a quelques années lors de mon dernier travail, l'avons exécuté sur Tomcat et cela a très bien fonctionné. Nous avions une forme assez compliquée, partiellement pré-remplie à partir des données existantes, qui était remplie plusieurs fois par jour par les travailleurs de la santé de première ligne. À la fin de la journée, tous les fichiers XML seraient traités par lots selon les besoins.

Orbeon gère complètement la transformation des données d'écran en XML, et vous offre toute une gamme d'options. J'ai toujours aimé cette démo: http://www.orbeon.com/orbeon/xforms-government/detail/DMV-14/, ne serait-ce que pour le créateur de la plaque d'immatriculation interactive. :-)

Dans votre cas, vous pouvez probablement utiliser un "pipeline" pour effectuer l'appel de services Web pour vous.

Questions connexes