Модуль xmlsitemap. Подскажите: почему он код генерирует именно так?

Главные вкладки

Аватар пользователя VasyOK VasyOK 21 мая 2023 в 22:16

Есть карта сайта созданная через модуль xmlsitemap.
Я эту карту переделываю т.к. модуль моим задачам не отвечает.

Вопрос. Почему когда инспектирую страницу модуля код один (слева), а когда смотрю страницу в режиме просмотра исходников - код другой (справа)?
Почему справа нет секций head, body и т.п?
На какой код мне ориентироваться?

Комментарии

Аватар пользователя gun_dose gun_dose 21 мая 2023 в 22:25
1

Слева браузер своими встроенными средствами делает xml читабельным. А справа он как есть. Ориентироваться надо на то, что справа

Аватар пользователя VasyOK VasyOK 22 мая 2023 в 11:31

А откуда слева ссылки на js и css файлы модуля и почему их нет справа?
/modules/contrib/xmlsitemap/xsl/xmlsitemap.xsl.css
/modules/contrib/xmlsitemap/xsl/xmlsitemap.xsl.js

Аватар пользователя OldWarrior OldWarrior 23 мая 2023 в 19:27

Вот это: "Использовать стили для лучшей читаемости...". Если её включить, то модуль на выхлопе оборачивает карту в HTML-таблицу.

Аватар пользователя VasyOK VasyOK 27 мая 2023 в 11:16

Отключил "Использовать стили". Перегенерировал карту сайта.
Почему теперь про F12 не видно начало документа (?):
<?xml version="1.0" encoding="UTF-8"?>

Аватар пользователя OldWarrior OldWarrior 28 мая 2023 в 0:20

Потому что в первом случае (слева) вы используете встроенный в браузер XML-ридер (открыв URL по прямому адресу), задача которого - выводить узлы XML-дерева (т.е. полезную информацию). При этом служебные теги могут скрываться. То есть - это как бы режим "браузера по узлам XML" с возможностью скрывать-раскрывать отдельные узлы.

Во втором (справа) вы открыли исходник XML и видите уже в том числе служебные (неотображаемые в ридере) теги - то есть, именно полный исходный код.

Аватар пользователя OldWarrior OldWarrior 28 мая 2023 в 0:31

Если вы про нижнюю часть слева (т.е про инспектор) и про то, почему в нём не видно этот тег, то давайте вспомним, что обёртка вида <? ... ?> не является узлом-тегом - именно потому, что не соответствует маске тега, поэтому она и игнорируется браузером в обоих случаях. Это просто "заэкранированное" служебное указание поисковому боту, в какой кодировке читать карту.

Аватар пользователя VasyOK VasyOK 29 мая 2023 в 12:03

Сложно... Думаю...
Ок, пилю сейчас карту сайта своими методами.
Слева то что делаю, справа - то, что сейчас на сайте модулем сгенерировано.

Вопрос: почему бразуер выделяет <?xml version="1.0" encoding="UTF-8"?> разными цветами?

Аватар пользователя OldWarrior OldWarrior 29 мая 2023 в 14:18
1

Потому что Content-Type нужно правильно отдавать (text/xml).

У вас: text/html
Нужно: text/xml

Удивительно, что Я-анализатор ещё не придрался.

Аватар пользователя VasyOK VasyOK 31 мая 2023 в 10:03

Ок, а почему нужно "text/xml"? Анализатор Яндекса же ничего не говорит по этому поводу.
И как это сделать если вся страница - это представление?