XML/HTML标记中的空白
问题描述:
我知道XML和HTML文本节点中的空白处理方式,但我不确定标记元素本身内部是否有空白。显然,标签内部使用空格来分隔属性,但在'<'之后或'>'之后是否有空格是有效的?XML/HTML标记中的空白
例如:
<foo>
</foo>
甚至:
<foo>
</foo >
难道这些标签有效的XML?假设它们是实际的HTML标签名称,那么HTML又如何呢?
答
的specification (section 3.1 Start-tags, end-tags, and empty-element tags)说有是'<'
和标签名之间没有空格,'</'
和标签名,或内部'/>'
之间。您可以在标签名称后添加空白,虽然:
<foo >
</foo >
<bar
/>
答
</
和/>
是令牌,因此两个字符之间的空格将是语法错误。和Guffa pointed out一样,开放的令牌和名称之间不允许有空格。但是,您可以在元素标记和关闭>
(或/>
)令牌之间添加空格。
EDIT反映Guffa正确引用XML规范。
答
的HTML [5]标准似乎与XML标准完全相同同意,由Guffa描述...
http://www.whatwg.org/specs/web-apps/current-work/multipage/syntax.html#start-tags
糟糕。这将教会我仔细检查规格... +1 – 2010-07-23 00:40:47
是否有效,然后将长HTML标签分成不同的行?例如:' (newline)' - 例如,在内含PHP代码的长标签的情况下,使其更具可读性。 – iDontKnowBetter 2012-07-09 00:31:15
@fakaff:是的,这是有效的。换行符,制表符和空格都是空格字符,并且可以在标记名称之后以及属性之间(甚至在属性中的“=”附近)具有尽可能多的空白区域。 – Guffa 2012-07-09 00:36:29