我每次都读过 meta 标签,这个属性按顺序排列:
<meta name="description" content="..." />
首先是名称,然后是内容。它也与Google网站管理员文档中的内容类似。基本上,就像在任何地方一样。
现在在 .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个字符,这使得“直观地验证”name属性正确存在(我必须滚动)是一个主要的痛苦。 / p>
总之...
为什么这些属性没有按照 .jsp 中定义的顺序出现?
我可以强制它们按照我在 .jsp 中编写的顺序显示吗?
我意识到生成的标签可能是有效的...但我也可以想象很多非常有创意的方法来获得有效的标签,用户会非常沮丧。反义这些属性是否有意义?
编辑哇,哇...如果我将.jsp中的属性反转(也就是说,按照“错误”顺序编写),那么它们就会出现,因为我希望它们出现在生成的网页中。 (Tomcat 6.0.26顺便说一句)
答案 0 :(得分:1)
属性顺序是XML中的外来概念。任何东西都有属性或者没有属性,XML中没有任何东西表明一个属性应该(或必须)出现在另一个属性之前。
这样想,你有一个名字,你有一个发色。两者都是你的属性,但在你拥有一个名字之前(或者你有一个名字之后)你必须在什么条件下拥有头发颜色。
元素确实允许在某种程度上进行排序,因为您可以在DTD和XSD中指定嵌套项的顺序。
答案 1 :(得分:1)
不幸的是,这就是XML的本质。我从未使用过JSPX,但我可以想象它只是被一些XML工具解析,存储在内存中的某个树结构中,然后呈现为HTML。属性可能存储在无序数据结构中。我认为你不会对此有任何控制权。我个人不会那么担心。 JSPX不是唯一的,许多其他基于XML的视图/模板技术可能表现相同。唯一担心生成的HTML输出的人是纯粹的web开发者,我不认为这是该网站的主要受众,是吗? ;)
对于webbrowsers,webbots,SEO等无关紧要