XSL ОбразецXSL к XHTML Strict с DOCTYPE - META вопрос проверки тегов
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"
>
<xsl:output method="html"/>
<xsl:template match="/Report">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
Проблема: мне нужно определить РОУ TYPE
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"DTD/xhtml1-strict.dtd">
в XSL, но это не позволяя мне положить его туда, говорит неверная таблица стилей.
Я пробовал:
<xsl:text disable-output-escaping='yes'><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd"></xsl:text>
, но это правильный способ сделать это? Интернет-валидаторы даже не видят, что строка, которая при визуализации html должна быть действительной.
- Каков правильный способ добавления DOCTYPE?
- должен ли мой
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
еще преобразовать там или?
У меня есть файл данных XML с таблицей стилей XSL, которую я преобразовываю в html. Я хочу добавить выше, чтобы сделать его XHTML Strict Compliant. Любой совет будет принят во внимание. Спасибо!
Ожидаемый результат
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title> Strict DTD XHTML Example </title>
</head>
<body>
<p>
Please Choose a Day:
<br />
<br />
<select name="day">
<option selected="selected">Monday</option>
<option>Tuesday</option>
<option>Wednesday</option>
</select>
</p>
</body>
</html>
Сформирован XHTML
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xml:lang="en" lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>OWASP ZAP Vulnerability Report</title>
</head>
<body>
</body>
</html>
Вопросы Использование: https://validator.w3.org/
- двутавровых ssue, похоже, вызвано тегом
META
в элементеhead
, но я не понимаю, почему.
Итак, как мне остановить мой XSL от добавления тега META?
РЕШЕНИЕ
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"
>
<xsl:output method="xml" encoding="UTF-8" indent="yes" />
<xsl:template match="/Report">
<xsl:text disable-output-escaping='yes'><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
</xsl:text>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
Изменение xsl:output method
из HTML в XML. Но вернемся к другому вопросу, есть ли лучший способ объявить DOCTYPE
?