10
votes

Existe-t-il des normes de codage pour les fichiers XML?

J'aimerais savoir s'il existe des normes de codage XML.

<?xml version="1.0"?>
<overlay id="tutorboy-toolbar-Overlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
    <toolbox id="navigator-toolbox">
        <toolbar id="tutorboy-toolbar-Toolbar" 
                  toolbarname="TutorBoy Toolbar" 
                  accesskey="T" 
                  class="chromeclass-toolbar" 
                  context="toolbar-context-menu" 
                  hidden="false" 
                  persist="hidden">
              <toolbarbutton label="TutorBoy" 
                                id="tutorboy-toolbar-button-home" 
                                accesskey="d" 
                                image="chrome://tutorboy-toolbar/skin/logo.png" 
                                oncommand="loadURL('http://tutorboy.com');" 
                                tooltiptext="Click here to go to the Tutorboy.com homepage." /> 


5 commentaires

Êtes-vous intéressé par des «normes» ou des «normes»?


Question vague, s'il vous plaît élaborer.


XML n'est pas un langage de programmation;)


Je suppose que l'OP est de demander le formatage XML: Whitpace, pauses de ligne, etc.


En fait, vous avez fourni un extrait XML invalide, donc: non, cela n'est pas autorisé!


6 Réponses :



4
votes

Eh bien, je suggérerais de regarder

http://www.xfront.com/bestpracticeshomepage.html ou les résultats de Toute recherche Google sous XML Meilleures pratiques.

Je dirais que les normes incluent la liaison à un fichier XSD, des caractères d'évacuation appropriés; etc etc


0 commentaires

16
votes

Le W3C définit une recommandation de spécification XML: http://www.w3.org/tr/rec-xml/

Étant donné que vous avez réduit votre question au formatage XML, il n'y a pas de réponse "universelle" à la manière dont votre XML devrait être formaté. Au-delà de la DTD ou du schéma, l'importance de l'espacement particulier / l'indentation de vos tags réside avec les personnes qui traiteront de vos données.

Si vous créez des données XML à envoyer à travers un réseau dans le cadre d'un service Web ou une sorte, alors vous allez vouloir généralement éliminer les espaces blancs inutiles avant le transfert afin d'optimiser votre taux de transfert de données. Cela signifie pas de pauses de ligne, aucune indentation, aucun commentaire.

Si votre création d'un document XML que d'autres lira régulièrement / modifierez régulièrement, vous voudrez évidemment mettre en évidence le document lisible. Ce qui constitue «lisible» est déterminé par toutes les personnes impliquées dans cette équipe ou projet.


3 commentaires

Précisément. L'espace blanc devrait être complètement dénué de sens pour la sémantique et sa présence ou sa absence est une question de goût. Et puisque XML est principalement pas destiné à la lisibilité humaine, le formatage n'est pas une préoccupation particulière.


@Jeff l Je suis sûr quand il a été conçu pour la première fois que XML ne devait pas être largement consommé par les humains. Mais je suis un programmeur de contrat pour .NET / WPF et Android. Dans les deux environnements, je suis à mes coudes tous les jours dans Deep XML, car c'est leur langue de mise en forme de l'interface utilisateur. Microsoft dispose d'un outil appelé Expression Blend pour permettre la conception de WYSIWYG de XAML, mais c'est un outil très coûteux, donc je ne l'ai jamais vu dans aucun magasin que j'ai travaillé. Le propre concepteur visuel de Visual Studio nécessite une modification étendue du XAML résultant. Android / Eclipse nécessite à peu près le codage de la main.


@Galacticcowboy "Les documents XML doivent être humains et raisonnablement clairs." de w3.org/tr/rec-xml/#sec-origin -goals - Point 6.



3
votes

Il y a une mise en forme de référence, XML Canonical , implémenté dans des outils comme xmllint (option - C14N ). Ces outils peuvent donc être utilisés comme jolies imprimantes.

Mais bien sûr, vous n'êtes pas obligé de l'utiliser. Comme toutes les règles de formatage, c'est une question de goût. Juste être cohérent.


2 commentaires

En fait, c'est une sorte de norme de formatage. IMHO cela répond à la question.


Cela ne stimulera pas cependant de normaliser l'indentation. XML-C14N est schema-agnostique et préserve donc la plupart des espaces (tels que l'indentation) lors de la conversion d'un document à sa forme canonique. Sans connaître le schéma, il n'est pas possible de savoir quelle blancheur est sémantiquement important. Ce qui ressemble à une empreinte d'indentation pourrait être un contenu sémantiquement important dans contenu mixte éléments.



0
votes

Je vous suggère de jeter un coup d'œil à xmlpatterns . Vous ne trouverez pas de suggestions de "style de codage", mais vous trouverez des modèles de conception intéressants (un gangoffour) pour la structure de documents XML.

pour "style de codage", je vérifierais des exemples et j'essaie de les imiter. En cas de doute, essayez différentes stratégies et trouvez celui qui est clair et attrayant. Mon opinion sur votre exemple est positive. Les noms de balises / attributs peuvent cependant être un problème: non minuscule sans espacement, cas d'espacement de chameau, cas de chameau, étui de chameau capitalisé?


0 commentaires

1
votes

en règle générale: Mettre des données dans des éléments distincts et des métadonnées dans des attributs.


0 commentaires