如何在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
答案 0 :(得分:4)
如果我理解正确,您希望输出具有特定的样式表吗?
XSL是一种用于将XML从一种格式转换为另一种格式的语言(在某种意义上,它就像应用css样式表一样)。在一个典型的用例中会发生什么,你会采取一些xml文件并使用XSL来转换它,比如XHTML。在此输出中,您可以根据需要使用link元素包含样式表,但XSL并不真正使用CSS。 (所以基本上,尝试将CSS放在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路径也来自数据。