Пустое пространство внутри тегов XML / HTML - PullRequest
47 голосов
/ 23 июля 2010

Я знаю, как обрабатываются пробелы в текстовых узлах для XML и HTML, но я не уверен относительно пробелов внутри самих элементов тегов.Очевидно, что пробелы используются внутри тегов для разделения атрибутов, но допустимо ли иметь пробелы после '<' или до '>'?

Например:

<  foo  >
< /foo >

Или даже:

<foo>
< /  foo >

Допустимы ли эти теги XML?А как насчет HTML, если предположить, что это были настоящие имена тегов HTML?

Ответы [ 4 ]

62 голосов
/ 23 июля 2010

Спецификация (раздел 3.1 Начальные теги, конечные теги и теги пустых элементов) говорит, что между '<' и именем тега нет пробелов между '</' иимя тега или внутри '/>'.Вы можете добавить пробел после имени тега, но:

<foo            >
</foo        >
<bar
/>
8 голосов
/ 23 июля 2010

</ и /> являются токенами, поэтому пробел между двумя символами будет синтаксической ошибкой.И как Гуффа указал , пробел не допускается между открывающим токеном и именем.Но вы можете добавить пробел между тегом элемента и закрывающим токеном > (или />).

EDIT , чтобы отразить правильное цитирование Guffa спецификации XML.

5 голосов
/ 02 июля 2012

Похоже, что стандарт HTML [5] в точности соответствует стандарту XML, как описано Гуффой ...

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

0 голосов
/ 15 июля 2017

Нельзя начинать с пробела, но вы можете (необязательно) заканчиваться одним (перед второй угловой скобкой, закрывающей первую метку).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...