Css в документе xsl
Как реализовать css в xsl файле? Я пробовал это:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<link rel="stylesheet" type="text/css" href="dxsl.css"/>
<xsl:output method="html" />
но он сбросил ошибку:
XSLTProcessor::importStylesheet(): Found a top-level element link with null namespace URI
и
Warning: XSLTProcessor::transformToXml(): No stylesheet associated to this object
Ответы
Ответ 1
Если я правильно вас понимаю, вы хотите, чтобы на выходе была определенная таблица стилей?
XSL - это язык, используемый для преобразования XML из одного формата в другой (в некотором смысле это похоже на применение таблицы стилей CSS). Что будет в типичном случае использования, так это то, что вы возьмете некоторый XML файл и используете XSL для его преобразования, скажем, в XHTML. В этом выпуске вы можете включить таблицу стилей, используя элемент ссылки, если хотите, но XSL действительно не использует CSS как таковой. (В принципе, попробуйте поместить CSS в XSL как часть преобразования, чтобы использовать его выход XHTML.)
Если это XML-документ, вам просто нужно включить ссылку на XSL, и он должен автоматически обрабатывать преобразование.
Ответ 2
Ссылка должна быть внутри шаблона xsl.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" />
<xsl:template match="/*//*[1]">
<link rel="stylesheet" type="text/css" href="dxsl.css"/>
</xsl:template>
</xsl:stylesheet>
Ответ 3
'link' - это элемент HTML, и вы пытаетесь использовать его как XML. XSL изменяет ввод в другой документ. Вы не используете CSS в XSL файле. Вы вставляете его в HTML файл (X) и применяете его там.
Ответ 4
Как сказал еще один ответ, ссылка должна быть сгенерирована преобразованием. Вот пример, который генерирует небольшой HTML-документ со ссылкой на CSS из простого XML-документа. Css-путь также поступает из данных.
Попробуйте это