2

メタタグについて読むたびに、属性は次の順序で説明されます。

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

最初の名前、次にコンテンツ。Google ウェブマスターのドキュメントでも同様です。基本的にどこもそうです。

.jsp (XML 表記) では、次のようになります。

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

つまり、最初に名前、次に内容です。

しかし、生成された Web ページでは、次のようになります。

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

どういうわけか、属性が反転しています。コンテンツは公式の W3C と Google の推奨事項に従っているため、コンテンツの長さは 200 文字を少し下回り、name 属性が正しくそこにあることを「視覚的に確認」するのは非常に困難です (スクロールする必要があります)。

ともかく...

これらの属性が.jspで定義された順序で表示されないのはなぜですか?

.jspに記述したのと同じ順序でそれらを強制的に表示できますか?

結果のタグが有効である可能性があることは理解しています...しかし、ユーザーが非常に怒っている有効なタグを作成するための非常に創造的な方法もたくさん想像できます。これは、これらの属性を逆にする意味がありますか?

編集すごい、ただすごい... .jsp の属性を反転すると (つまり、「間違った」順序で記述すると)、生成された Web ページに表示したいように表示されます。(Tomcat 6.0.26 ところで)

4

2 に答える 2

1

属性の順序は、XML では異質な概念です。何かに属性があるかどうかに関係なく、ある属性が別の属性の前に来る (またはなければならない) ことを示す XML はありません。

このように考えてみてください。あなたには名前があり、髪の色があります。どちらもあなたの属性ですが、どのような条件で名前を付ける前(または名前を付けた後)に髪の色を付けなければなりませんか。

DTD および XSD 内でネストされたアイテムの順序を指定できるため、要素ではある程度の順序付けが可能です。

于 2010-06-01T02:03:51.207 に答える
1

残念ながら、それが XML の性質です。私は JSPX を使用したことがありませんが、何らかの XML ツールによって解析され、メモリ内の何らかのツリー構造に格納され、HTML にレンダリングされただけだと想像できます。属性は、順序付けられていないデータ構造に格納される場合があります。あなたがそれについてコントロールできるとは思いません。個人的にはそこまで気になりません。これは JSPX だけではなく、他の多くの XML ベースのビュー/テンプレート テクノロジが同じように動作する可能性があります。生成された HTML 出力について心配するのは純粋主義の Web 開発者だけであり、これが問題の Web サイトの主な対象者ではないと思いますよね? ;)

ウェブブラウザ、ウェブボット、SEO などにはまったく関係ありません。

于 2010-06-01T13:37:07.720 に答える