При добавлении тега JavaScript script
или тега CSS style
в XHTML целесообразно поместить его в тег <![CDATA[ ]]>
. Тем не менее, он будет рассматриваться браузером как часть вашего скрипта. Чтобы предотвратить выполнение этой части скрипта, просто закомментируйте тег <![CDATA[]]>
:
<script type="text/javascript">
/* <![CDATA[ */
/* ]]> */
</script>
OR
<style type="text/css">
/* <![CDATA[ */
/* ]]> */
</style>
Это позволит вам использовать специальные символы в XML без необходимости их кодирования, а также позволит вашему сценарию правильно выполняться без ошибок. Кроме того, многострочный комментарий является хорошим выбором, если пробел когда-либо будет проанализирован.
ИЗМЕНИТЬ, чтобы добавить:
Я считаю, что элемент object
должен иметь закрывающий тег (несмотря на то, что он пустой), аналогично тому, как вы должны добавить закрывающий тег к тегу script
, когда указан внешний источник. Мне пока не удалось проверить это .
Что касается XHTML, рекомендуемое расширение файла по-прежнему .html
, однако вы можете сохранить файл с любым расширением (даже .pdf). То, что вы пометили его как другое расширение файла, не означает, что содержимое обязательно является допустимым для этого расширения, и не означает, что приложения смогут читать файл.
Сохранение XHTML в виде .xml
файла является абсолютно законным, и если он правильно сформирован, XHTML будет полностью разбираться любым приложением, которое может анализировать XML. Если веб-браузер откроет файл XML, он, скорее всего, отобразит содержимое в виде дерева XML. Если вы хотите, чтобы веб-браузер считывал его как веб-страницу, сохраните его как таковой (.html)
Предостережение : Пробелы и разрывы строк сохраняются в текстовых узлах XML. Если вы анализируете страницу, используя анализатор XML, и у вас есть отступы для удобства чтения, анализатор будет включать в выходные данные разрывы строк и символы новой строки.
<div>
<span>
Some text
on multiple
lines
</span>
<span>
Some text
on multiple
lines
</span>
</div>
Содержимое диапазона будет по существу: "\n Some text\n on multiple\n lines\n"
Обходной путь - расширить конечную угловую скобку до начала текстового узла:
<div
><span>Some text on one line</span
><span>Some text on one line</span
></div>
Это работает, потому что лишние пробелы внутри элемента игнорируются.