2010-05-31 5 views
2

Chaque fois que je l'ai lu sur les méta balises, l'attribut où dans cet ordre pour la description:Java: attributs ordre .jsp s'inversed

<meta name="description" content="..." /> 

Première nom, puis contenu. C'est aussi comme ça dans la documentation de Google Webmaster. Fondamentalement, c'est comme ça partout.

maintenant dans un .jsp (en notation XML) J'ai les suivantes:

<meta name="description" content="${metadesc}"/> 

Il est donc le nom d'abord, puis le contenu.

Pourtant, sur la page web générée, je reçois ceci:

<meta content="...(200 chars or so here making it a very long line)..." name="description"/> 

D'une certaine façon les attributs ont été inversés. Comme le contenu suit les recommandations officielles du W3C et de Google, le contenu est d'un peu moins de 200 caractères, ce qui fait qu'il est très pénible de «vérifier visuellement» que l'attribut name est correctement présent (je dois faire défiler).

... Quoi qu'il en soit

Pourquoi ces attributs ne figurant pas dans l'ordre défini dans le .jsp? Est-ce que je peux les forcer à apparaître dans le même ordre que celui dans lequel je les ai écrits dans .jsp?

Je réalise que la balise qui en résulte peut être valide ... Mais je peux aussi imaginer beaucoup de façons très créatives d'avoir des balises valides dont les utilisateurs seraient très contrariés. Cela a-t-il un sens d'inverser ces attributs? Wow, wow ... Si j'inverse les attributs dans mon .jsp (c'est-à-dire en les écrivant dans le "mauvais" ordre), alors ils apparaissent comme je veux qu'ils apparaissent dans le web généré page. (Tomcat 6.0.26 btw)

+0

En d'autres termes, vous utilisez réellement JSPX, pas JSP? – BalusC

+0

@BalusC: oui, c'est un "document JSP"/JSPX mais l'extension du fichier est en fait * .jsp * et non * .jspx * (ce qui je pense n'est pas contre la spécification). – NoozNooz42

Répondre

1

L'ordre d'attribut est un concept étranger en XML. Quelque chose a un attribut ou pas, il n'y a rien en XML qui stipule qu'un attribut doit (ou doit) venir avant un autre. Pensez-y de cette façon, vous avez un nom, et vous avez une couleur de cheveux. Les deux sont des attributs de vous, mais à quelle condition devez-vous avoir une couleur de cheveux avant d'avoir un nom (ou après avoir un nom).

Les éléments autorisent la commande dans une certaine mesure, car vous pouvez spécifier l'ordre des éléments imbriqués dans les DTD et les XSD.

+0

mais vous ne répondez pas à la question ... J'ai déclaré que je pouvais penser à beaucoup de moyens très créatifs pour créer un XML complètement valide qui dérangerait encore les utilisateurs. Ne pensez-vous pas qu'il est raisonnable d'attendre que les attributs apparaissent dans l'ordre dans lequel ils ont été définis? Et si à chaque fois que vous sauvegardiez un document XML à partir de votre éditeur de texte, votre éditeur de texte devait inverser les attributs? Pensez-vous à l'analogie de votre couleur de cheveux ou ne pensez-vous pas qu'il y a quelque chose de bizarre? Honnêtement? – NoozNooz42

+0

OK +1 et j'accepte votre réponse pour BalusC n'est pas en désaccord avec vous et il a assez de points :) (+1 à BalusC aussi) Je suis toujours un peu surpris mais oh bien ... – NoozNooz42

+0

Je me rends compte qu'il pourrait ne pas semble être une réponse à la question, mais lorsque la norme ne prend pas en charge l'ordonnancement des attributs, il n'est pas très logique de parler d'attributs en désordre, même s'il y a des cas où l'ordre des attributs aurait du sens. Certainement les attributs dans l'ordre vous aideraient grandement (en raison de votre logique), mais la technologie sous-jacente ne garantit tout simplement pas l'ordre des attributs. Lors de la construction d'une solution, vous ne pouvez pas reprocher aux outils de suivre la spécification, même si cela n'a pas de sens dans un contexte plus large. –

1

Malheureusement, c'est la nature de XML. Je n'ai jamais utilisé JSPX, mais je peux imaginer qu'il a juste été analysé par un outil XML, stocké dans une structure arborescente en mémoire, puis rendu au format HTML. Les attributs peuvent être stockés dans une structure de données non ordonnée. Je ne pense pas que vous ayez un contrôle à ce sujet. Personnellement, je ne m'inquiéterais pas autant à ce sujet. JSPX n'est pas le seul dans ce cas, de nombreuses autres technologies de vues/modèles basées sur XML peuvent se comporter de la même manière. Les seuls qui s'inquiéteront de la sortie HTML générée sont les webdesvelopers puristes et je ne pense pas que ce soit l'audience majeure du site en question, n'est-ce pas?;)

Il ne fait absolument pas d'importance pour les navigateurs web, webbots, référencement, etc.

Questions connexes