XML / HTML标签内的空白区域

我知道在XML和HTML的文本节点中如何处理空白空间,但是我不确定标签元素本身的空白。 显然,在标签中使用空格来分隔属性,但在'<'之后或'>'之后是否有空格是有效的?

例如:

< foo > < /foo > 

甚至:

 <foo> < / foo > 

这些标签是否有效的XML? 假设HTML是真正的HTML标签名称,那么HTML呢?

规范(第3.1节开始标签,结束标签和空白标签)表示'<'和标签名称之间, '</'和标签名称之间或'/>' 。 但是,您可以在标签名称之后添加空格,但是:

 <foo > </foo > <bar /> 

<//>是令牌,所以两个字符之间的空格将是一个语法错误。 正如Guffa所指出的那样 ,开放的令牌和名称之间不允许有空格。 但是,您可以在元素标记和closures> (或/> )标记之间添加空格。

编辑来反映Guffa的XML规范的正确引用。

HTML [5]标准似乎完全符合XML标准,如Guffa所述…

http://www.whatwg.org/specs/web-apps/current-work/multipage/syntax.html#start-tags

您不能以空格开始,但可以(可选)以一个(在第二个尖括号之前closures第一个标记)结束。