46 votes

Comment convertir xsd en documentation lisible par l'homme?

Nous avons quelques interfaces basées sur XML qui sont assez bien documentées dans les schémas XSD. Les interfaces vont maintenant être accessibles au public et nous aimerions créer une documentation de référence pour elles.

Existe-t-il un outil capable de convertir automatiquement les fichiers XSD dans un format plus lisible?

19voto

Andrew Kennan Points 8221

x3sp peut faire ce que vous voulez: http://xml.fiforms.org/xs3p/

6voto

Leonid Rudy Points 134

Il m'arrive d'être un architecte en chef de la DocFlex/XML XSDDoc outil mentionné ici par Mads Hansen.

Eh bien, quand j'ai lu ce que tout le monde le dit ici, je suis toujours en train de penser les pensées suivantes: les Ordinateurs, existait sans doute encore dans l'Âge de Pierre! En effet, vous pouvez apporter quelques pierres et les utiliser pour vous aider avec quelques calculs. Que vous pouvez appeler un "ordinateur". Vous pouvez peut-être même heureux et fiers de l'appareil!

Mon point est ceci. Vous souhaitez générer un schéma XML de la documentation. Mais que voulez-vous dire par les paroles de schéma XML "documentation"? Après tout, l'ultime schéma XML "documentation" est sa source XML. Je crois, il n'y a pas beaucoup d'utilisation de la documentation qui montre un peu plus que vous pouvez le voir dans le schéma XML source par vous-même.

De mon point de vue, un véritable schéma XML de la documentation doit permettre à l'utilisateur de trouver rapidement toute information utile sur le schéma XML (plus précisément, le projet de schéma XML), si ce n'est que de l'information pourrait être obtenue automatiquement, ou déduit.

Vous ne pouvez pas atteindre ce but, juste par la programmation de quelques scripts XSLT!

XSL est un langage de programmation qui a été cultivé à partir de CSS. CSS est utilisé pour mettre en forme des documents HTML afin de tenir dans un seul endroit la plupart des paramètres de mise en forme partagé par plusieurs fichiers HTML, ainsi, de réduire leurs tailles ainsi que de permettre à un (plutôt faible) possibilité de personnaliser le look & feel. L'idée de XSL a été de répéter la même astuce pour générique des fichiers XML. Mais XML n'était pas visible directement par les navigateurs web. Donc, quelque chose qui était nécessaire de faire en quelque sorte de transformer XML à la volée et de faire un code HTML à partir d'elle. Ainsi, le CSS a été étendu à une partie de la transformation des constructions obligatoire doit avoir été déclarative seulement, non de procédure. Sinon, il menacerait à devenir encore un autre langage de programmation universel de perdre son facile à utiliser interprété-sur-la-mouche fonctionnalités. Plus tard, en effet, XSL commencé à être utilisé de plus en plus de tâches plus complexes de traitement de fichiers XML. Par conséquent, XSL a été étendu avec encore plus de traitement de données constructions. Pourtant, cette évolution n'a pas changé la lumière-poids de l'essence de XSL. Dans un sens, XSL langue est trop puissant pour être trop grande et des tâches complexes. Ce n'est pas un moteur de base de données, après tout!

Nous avons inventé et mis en place notre propre technologie alternative à XSLT, qui en fait n'est pas limité à XML. Plutôt le but était de rendre possible le traitement de toute imaginables sources de données dans la façon que si elles sont virtuelles des fichiers XML. XML lui-même est évidemment couverts par la présente. Le traitement est basé sur des "modèles", qui jouent un rôle similaire à XSLT scripts. Comme XSLT scripts, les modèles sont interprétées par un processeur spécial. Mais ce n'est pas basée sur XSLT en aucune façon (si seulement certaines idées ont été empruntés). Plus de détails vous pouvez lire ici: http://www.filigris.com/docflex/

Notre schéma XML générateur de documentation appelé DocFlex/XML XSDDoc est basé sur cette technologie. Il est implémenté sous la forme d'un modèle de série qui se compose actuellement de 63 modèles.

Que tout ce qui est générateur de schéma XML de la documentation! Voir quelques exemples ici: http://www.filigris.com/docflex-xml/xsddoc/examples/

En fait, ici vous pouvez voir comment grand fait de cette tâche. Pour comparaison, nous avons développé avec la même technologie de remplacement de la norme Javadoc, qui est un générateur de documentation pour les programmes Java. (Notre outil est appelé DocFlex/Javadoc). Vous pourriez penser que le développement de l'original de la Javadoc est un morceau de travail. Pourtant, il nous a pris pour concevoir uniquement un modèle de série, fait d' 12 modèle à l'appui de presque tout ce que la Javadoc n'. Notre schéma XML générateur de documentation, qui est basé sur la même technologie, est plus de 5 fois plus grand que cela.

Maintenant, essayez de mettre en œuvre la même chose avec XSLT!

6voto

Mads Hansen Points 24537

oxygène a de très jolies schéma XSD outil de documentation qui permet la personnalisation facile, grâce à des options supplémentaires et des fichiers CSS.

Je n'ai pas utilisé avant, mais DocFlex/XML XML constitue un outil de documentation avec un XSD documentation composant appelé XSD Doc qui semble intéressant.

De couse, comme l'a souligné dans les autres réponses, XSD est juste un fichier XML de manière personnalisée XSLT peut être écrite pour générer une sortie de documentation vous le souhaitez.

3voto

fubaar Points 1505

** La divulgation : je travaille pour Innovasys, le producteur de la documentation de l'outil mentionné ci-dessous *

Vous pouvez prendre un coup d'oeil à Innovasys Document! X. Ainsi que la génération automatique de sortie pour chaque élément de type simple, de type complexe, le groupe et le groupe d'attributs, il va générer lié schémas XSD (y compris les séquences/choix etc.) et de la structure des tables qui comprennent les annotations de votre XSDs. Unique, il comprend également un éditeur WYSIWYG qui vous permet de l'auteur du contenu supplémentaire pour compléter le truc qui est généré automatiquement. La sortie est basée sur un modèle de sorte que vous pouvez l'adapter à votre style préféré et la structure.

Il va construire de sortie de prêt pour le web html ou des fichiers d'aide compilés et a une ligne de commande outil pour l'intégration avec votre extrémité arrière système de construction.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X