В Интернете есть несколько программ, например, Ruby или Python, которые перемещают CSS-стили XHTML в теги. Их часто называют premailer, потому что некоторые старые почтовые программы имеют проблемы с определенными заголовками таблицами стилей. Вот пример того, что делает premailer на python: premailer на pypi
Я хочу переместить таблицы стилей CSS *1006* в формате json из заголовка HTML <style>
внутри каждого связанного узла, который имеет атрибут class
.
Пример ввода:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Sometest</title>
<style type="text/css">
/*<![CDATA[*/
ol{margin:0;padding:0}p{margin:0}.c1{vertical-align:top;width:93.6pt;border-style:solid}.c2{vertical-align:top;width:41.8pt;border-style:solid}hr.c1{page-break-before:always}
/*]]>*/
</style>
</head>
<body>
<div>
<p class="c1"><span>Style C2 Text</span></p>
<hr class="c1"/>
<p class="c2">Style C1 Text</p>
</div>
</body>
</html>
Мой желаемый вывод. Посмотрите на style
в <hr>
и <p>
:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Sometest</title>
<style type="text/css">
/*<![CDATA[*/
ol{margin:0;padding:0}p{margin:0}.c1{vertical-align:top;width:93.6pt;border-style:solid}.c2{vertical-align:top;width:41.8pt;border-style:solid}hr.c1{page-break-before:always}
/*]]>*/
</style>
</head>
<body>
<div>
<p class="c1" style="vertical-align:top;width:93.6pt;border-style:solid"><span>Style C2 Text</span></p>
<hr class="c1" style="page-break-before:always"/>
<p class="c2" style="vertical-align:top;width:41.8pt;border-style:solid">Style C1 Text</p>
</div>
</body>
</html>
Кто-нибудь делал это с XSLT раньше?
Это также возможно с XSLT 1.0?