Подтвердить что ты не робот

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 
4b9b3361

Ответ 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-путь также поступает из данных.

Попробуйте это