2

每次我阅读有关标记的信息时,该属性的描述顺序如下:

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

名字,然后内容。在 Google Webmaster 文档中也是如此。基本上,到处都是这样。

现在在.jsp中(以 XML 表示法)我有以下内容:

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

所以首先是名称,然后是内容。

然而在生成的网页上,我得到了这个:

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

不知何故,属性被颠倒了。因为内容遵循官方 W3C 和 Google 建议,内容长度略少于 200 个字符,这使得“视觉验证”名称属性是否正确存在(我必须滚动)非常痛苦。

反正...

为什么这些属性没有按照.jsp中定义的顺序出现?

我可以强制它们以与我在.jsp中编写它们的顺序相同的顺序出现吗?

我意识到生成的标签可能是有效的......但我也可以想象很多非常有创意的方法来拥有用户会非常沮丧的有效标签。反转这些属性是否有意义?

编辑哇,哇...如果我在我的 .jsp 中反转属性(也就是说,以“错误”的顺序编写它们),那么它们会按照我希望它们出现在生成的网页中的方式出现。(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 开发人员,我认为这不是所讨论网站的主要受众,是吗?;)

对于网络浏览器、网络机器人、搜索引擎优化等来说,这绝对无关紧要。

于 2010-06-01T13:37:07.720 回答