Astuce # 1: Évitez toute utilisation de XSLT.
Le support d'outil est nul. La solution résultante sera impossible à maintenir.
Astuce # 2: Éliminer toutes les étapes inutiles. Il suffit de traduire votre resultset (en supposant que vous utilisez JDBC ou equiv) pour le XML sortant. Conseil n ° 3: Supposons que l'utilisation d'un outil basé sur un schéma soit incorrecte et que nous planifions en conséquence.
En d'autres termes, faites semblant. Si vous devez faire sauter quelque chose de SOAP mutant (redondant, je sais), il suffit de simuler un message SOAP qui fonctionne, puis de le transformer en un modèle. La vélocité ne craint pas. Cela dit, la meilleure réponse est d'utiliser une solution de type "XML Writer". Il y en a quelques-uns.
Le meilleur est celui que j'ai écrit, LOX (Lightweight Objects for XML).
L'API publique utilise un modèle de conception Builder. En raison de la magie sous le capot, il est impossible de créer du XML malformé.
Veuillez noter: Si XML est la réponse, vous avez posé la mauvaise question. Parfois, nous sommes forcés contre notre volonté de l'utiliser d'une manière ou d'une autre. Lorsque cela se produit, il est crucial d'utiliser des outils qui minimisent l'effort du développeur et améliorent la maintenabilité du code.
Oui, BizTalk est beaucoup trop cher même si, en vérité, nous pourrions utiliser certaines fonctionnalités (je pense).Il semble que XSLT soit une bonne solution intermédiaire. Mais j'ai besoin de faire quelques tests de perf. Notre source XML est relativement petite. – BryanB