Comment décrire la structure des fichiers XML
Quand il s'agit de documenter la structure des fichiers XML...
Un de mes collègues fait dans un tableau Word.
Une autre colle les éléments dans un document Word avec des commentaires de ce genre:
<learningobject id="{Learning Object Id (same value as the loid tag)}"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://www.aicpcu.org/schemas/cms_lo.xsd">
<objectRoot>
<v>
<!-- Current version of the object from the repository. !-->
<!-- (Occurance: 1) -->
</v>
<label>
<!-- Name of the object from the repository. !-->
<!-- (Occurance: 0 or 1 or Many) -->
</label>
</objectRoot>
Où l'une de ces méthodes est-il préférable? Est-il un meilleur moyen?
Il existe d'autres options qui ne nécessitent pas de tiers Schéma de Documentation des outils de mise à jour?
Vous devez vous connecter pour publier un commentaire.
Je ferais un Schéma XML (XSD) fichier pour définir la structure du document XML.
xs:annotation
etxs:documentation
tags peuvent être utilisés pour décrire les éléments. Le fichier XSD peut être transformé en documentation à l'aide de feuilles de style XSLT comme xs3p ou des outils tels que Schéma XML Documentaliste.Pour une introduction à XML Schéma de voir le XML Écoles tutoriel.
Ici est votre exemple, exprimé en XML Schema avec
xs:annotation
tags:Profiter de RELAX NG compact syntaxe
Expérimenter avec différents langages de schéma XML, j'ai trouvé RELAX NG le meilleur ajustement pour la plupart des cas (raisonnement à la fin).
Exigences
Modifié échantillon XML (doc.xml)
J'ai ajouté un attribut, pour illustrer aussi ce type de structure dans la documentation.
Utilisation RELAX NG Compact syntaxe avec des commentaires (schéma.rnc)
RELAX NG permet de décrire l'échantillon de la structure XML de la manière suivante:
Je pense que c'est très dur à battre la simplicité, de la maintenir à un niveau donné de l'expressivité.
Comment commenter la structure
##
préfixe, qui est automatiquement traduit dans la documentation de l'élément dans d'autres format de schéma. De hachage unique#
se traduit par de commentaire XML et non pas une documentation élément.plusieurs commentaires consécutifs (comme dans l'exemple) va se transformer en multi-ligne de chaîne de documentation au sein d'un seul élément.
un fait évident: la ligne des commentaires XML dans
doc.xml
sont hors de propos, seulement ce qui est dansschema.rnc
compte.Si XML Schema 1.0 est nécessaire, il génère (schéma.xsd)
En supposant que vous avez un (open source), l'outil d'
trang
disponibles, vous pouvez créer un fichier de Schéma XML comme suit:Schéma résultant ressemble à ceci:
Peut maintenant vos clients, en insistant sur l'utilisation de XML Schema 1.0 utilisez votre document XML spécification.
Validation doc.xml à l'encontre du schéma.rnc
Il y a des outils open source tels que
jing
etrnv
soutenir RELAX NG Compact de la syntaxe et de travail sur Linux ainsi que sur MS Windows.Remarque: ces outils sont un peu vieux, mais très stable. Le lire comme un signe de stabilité non pas comme signe d'être obsolète.
À l'aide de jing:
La
-c
est important,jing
par défaut suppose RELAX NG en forme XML.À l'aide de
rnv
de vérifier, laschema.rnc
lui-même est valide:et de valider
doc.xml
:rnv
permet de valider plusieurs documents à la fois:RELAX NG Compact syntax - pros
RELAX NG limitations
Conclusions
De l'exigence définie ci-dessus, RELAX NG Compact syntaxe ressemble le meilleur ajustement. RELAX NG, vous obtenez à la fois - lisible par l'homme de schéma qui est encore utilisable pour la validation automatique.
Les limitations existantes ne viennent pas en effet très souvent, et peut être dans de nombreux cas résolus par commentaires ou par d'autres moyens.
Vous pouvez essayer de le documenter par la création d'un schéma XSD qui serait une spécification formelle de votre XML. De nombreux outils permettront de générer le fichier XSD pour vous partir de l'exemple de XML comme un point de départ.
Personnellement, je préfère la voir en XML (le 2ème).
De mettre les éléments dans le tableau ne vais pas vous dire clairement quels sont les éléments qui éléments " parent-enfant et ainsi de suite. Mettre en XML est plutôt clair et je peux voir ce qu'il se passe.
De le présenter dans un tableau a son limitaions par exemple multi-niveaux d'imbrication des enfants, mais pour une simple structure XML je pense que ce serait bien. Pour quoi que ce soit avec plus d'un niveau imbriqué, je préfère la version XML.
Une meilleure façon de le faire serait de créer un Schéma XML (XSD) fichier. De cette façon, vous obtenez les avantages de la voir en XML, et vous pouvez vérifier le fichier une fois les données saisies contre le fichier de schéma à l'aide de certains logiciels.
Pour une grande série de tutoriels sur XSD découvrez w3schools - Schéma XML Tutoriel
Je veux juste ajouter une chose de plus, dans le cas où quelqu'un le trouve utile.
Je fais parfois de la programmation dans HTML et d'autres fois dans android. Quand je fais du HTML, j'ai mon document XML personnalisé suivant le même format que W3Schools, comme dans http://www.w3schools.com/tags/att_a_href.asp si c'est un projet android, je suis en train de travailler sur puis-je suivre Google normes en http://developer.android.com/guide/topics/manifest/activity-element.html#screen
De cette façon, les programmeurs, je travaille avec ne pas avoir à faire aucun travail supplémentaire pour comprendre ma documentation.