2010-10-19 9 views
2

Donc j'essaye d'écrire un plugin javascript qui implique l'édition de fichiers XML d'une manière conviviale. Le but est de recevoir une chaîne XML représentant un objet, de générer dynamiquement un formulaire HTML pour éditer les valeurs XML, puis de sauvegarder les modifications dans la chaîne XML.XML <--> Forme HTML: Générer un formulaire HTML pour éditer le XML?

Bien que cette fonction soit assez générique et utile, j'ai pensé qu'il y avait probablement une solution qui fait exactement cela. Est-ce que quelqu'un sait d'une sorte de bibliothèque JavaScript ou d'un projet qui peut accomplir cela? La chose la plus proche que je peux trouver à la fonctionnalité que je voulais était this.

Quelques contraintes notables pour la solution:

  • doit être uniquement Javascript, idéalement cross-browser compatible.
  • Doit fonctionner complètement côté client, de la chaîne XML d'entrée à la chaîne XML de sortie éditée.

Merci d'avance!

Dave

+1

échantillon du XML que vous voulez utiliser/produire? – dvhh

+1

C'était un lien cool http://www.datamech.com/XMLForm/ :) – mplungjan

Répondre

0

Il me semble que vous pouvez utiliser XSLT pour transformer le XML en XHTML pour inclure dans le document. Une fois que l'utilisateur a entré ou mis à jour les données, vous pouvez le transformer en XML pour soumission.

Je n'ai pas fait XSLT côté client, mais apparemment, il est assez largement supporté.

0

Il est peu probable que vous trouviez une solution prête à l'emploi pour votre problème. Pas parce que ce n'est pas une bonne idée, mais parce que l'espace de problème "éditer des données XML sous une forme" est presque indéfinissable.

Un éditeur basé sur un formulaire qui pourrait éditer n'importe quel document XML ressemblerait beaucoup à la vue grille de XML Spy. Je suis raisonnablement certain que ce n'est pas une solution acceptable. Pour que l'interface utilisateur soit simple, vous devez imposer des contraintes sur la structure du XML. Quelles contraintes? Eh bien, cela dépend de votre XML, et de l'espace problème de votre application. Chaque fois que j'ai eu besoin de faire cela, j'ai fini par construire le mien. C'est assez facile, car les projets interactifs de développement de l'interface utilisateur basée sur HTML vont.