我是一个编程爱好者,我从来没有很好地使用DOM,所以它是最好的;我肯定没有找到答案,因为它对于一个称职的程序员来说太明显了。
也就是说,互联网上的几个地方明确表示生成表格链接的xalt样式表(来自IBM,虽然我已经在网上看过其他人)
<?xml version="1.0"?>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"indent="no"/>
<xsl:template match="/products">
<html>
<head>
<title>Cascading Style Sheet</title>
<link rel="stylesheet" type="text/css" href="table.css"
title="Style"/>
</head>
(...)
问题当然是。 。 。它实际上并没有起作用。 在用于Firefox或IE的DOM中检查元素会在那里显示CSS链接,但样式选项卡在文档中没有显示CSS。采用相同的CSS内联工作。在直接的html文档中使用外部样式表。生成与xslt样式表输出完全相同的代码,并且CSS不会导入到生成的文档中。
警告 - 到目前为止,我的.xml文件和.xsl文件位于不同的文件夹中,但我已将.css文件放在相同的文件夹中,以便进行检查,到目前为止这没有任何区别。< / p>
死码:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:variable name="context" select="commands/interactive/@context" />
<xsl:variable name="output" select="commands/interactive/@output" />
<xsl:variable name="css" select="commands/interactive/@css" />
<!-- To Do: 'context' needs to be entered interactively -->
<xsl:template match="/">
<html>
<head>
<title><xsl:value-of select="commands/@application"/></title>
<link rel="stylesheet" type="text/css" href="./{$css}" />
</head>
<body>
(...)
另外,它在输出中正确填充./{$css},并且在文件被硬编码时以完全相同的方式失败。再次,当输出为内联CSS或完全相同的html时,工作很漂亮。所以我错过了一些DOM的细微差别我确定。
答案 0 :(得分:1)
像所有非常简单的问题一样,几个小时后公开看起来像个白痴,这一切都汇集在一起。对于碰巧遇到相同问题的人,显然格式错误&lt; xsl:output ... /&gt;将允许其他所有内容加载合理(在IE / Firefox中),但即使给定正确的路径,css也将无法加载。
此外,任何相对路径都需要相对于xsl文件正在转换的xml文件,而不是xsl文件本身。两者之前都已检查过,但未在两者正确 - &lt; G&gt;时检查。
谢谢你 - Jonnan