css在xsl文档中

时间:2010-07-31 13:30:28

标签: css xslt

如何在xsl文件中实现css?我试过这个:

<?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 

4 个答案:

答案 0 :(得分:4)

如果我理解正确,您希望输出具有特定的样式表吗?

XSL是一种用于将XML从一种格式转换为另一种格式的语言(在某种意义上,它就像应用css样式表一样)。在一个典型的用例中会发生什么,你会采取一些xml文件并使用XSL来转换它,比如XHTML。在此输出中,您可以根据需要使用link元素包含样式表,但XSL并不真正使用CSS。 (所以基本上,尝试将CS​​S放在XSL中作为转换的一部分,让XHTML输出使用它。)

如果这是一个XML文档,您只需要包含对XSL的引用,它应该自动为您处理转换。

答案 1 :(得分:3)

您的html(链接标记)必须位于xsl:template中。 xsl:template必须位于xsl:stylesheet中。

<?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>

答案 2 :(得分:1)

'link'是一个HTML元素,您尝试将其用作XML元素。 XSL将输入修改为另一个文档。您不在XSL文件中使用CSS。您将其插入(X)HTML文件并将其应用于那里。

答案 3 :(得分:-1)

正如另一个答案所说,链接必须由变换生成。这是一个示例,它生成一个小的HTML文档,其中包含一个简单的xml doc链接到CSS。 css路径也来自数据。

Try this