Вы могли вывести %INC
в конце Вашего сценария. Это будет содержать все используемые и необходимые модули. Но конечно, это только будет полезно, если Вы не потребуете модулей условно (потребуйте Foo если $bar).
Строго говоря, элемент <div>
- это непустой / непустой элемент в HTML, то есть он не предназначен для самозакрытия. Хотя <div />
является допустимым XHTML - поскольку />
указывает на самозакрывающийся (или пустой) элемент XML - он интерпретируется обычными анализаторами HTML и некоторыми валидаторами как закрытый открывающий тег и поэтому является недопустимым HTML 4.01 и HTML5 . 1 sup>
Фактически, выполнение заданного вами фрагмента HTML через валидатор W3C (как HTML5) приводит к этому сообщению об ошибке:
Самозакрывающийся синтаксис (/>), используемый в непустом элементе HTML. Игнорирование косой черты и трактовка как начальный тег.
Отсюда то, что вы видите.
Из спецификации HTML5 (в первой ссылке):
Элемент, не являющийся пустым, должен иметь конечный тег, если только подраздел для этого элемента в разделе HTML-элементов этого ссылка указывает, что его конечный тег может быть опущен.
После этого подраздел для элемента <div>
гласит:
Элемент div должен иметь как начальный тег, так и конечный тег.
Это делает <div>
в отличие от <p>
или <li>
, которые, как известно, не всегда требуют конечной метки.
Если вы поместите <p>
сразу после нераскрытого <p>
, он неявно закроет предыдущий <p>
. Точно так же относится и к <li>
. Это потому, что вы не можете напрямую вкладывать несколько абзацев или элементы списка вместе. Однако <div>
является вложенным на любую глубину. Таким образом, открывающий тег <div>
не закрывает ранее закрытый тег <div>
.
И вот почему вы видите то, что видите.
1 sup> В истинных страницах XHTML (сериализованных в XML с использованием application/xhtml+xml
) первый элемент <div />
не будет не расширяться до , чтобы обернуть второй <div>text</div>
элемент. Вместо этого, как XHTML, он будет следовать правилам XML и содержать себя как пустой элемент, а не следовать правилам супа HTML-тега и сам по себе интерпретироваться как открывающий тег.