如何在XSL文件中包含CSS文件

时间:2014-09-01 16:17:57

标签: css xml xslt

我希望通过CSS为XSL文档添加样式。但是,我以前的尝试没有成功。

以下是XSL文件中的相关部分:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
                version="1.0">
<xsl:include href="http://bootswatch.com/sandstone/bootstrap.min.css"/>
<html>
    <head>
        <title>News | Endeavour Explorers</title>
        <link rel="shortcut icon" 
              href="../resources/img/logo200.png"/>
        <style type="text/css">
            body {padding: 63px 0 63px 0;} 
            a[name] {
               padding-top: 40px; 
               margin-top: -40px; 
               display: inline-block; 
               /* required for webkit browsers */}
            @media print{body {margin-top: -63px;}}
        </style>
    </head>

这是指向the whole XSL file的链接。

这是the .xml file

1 个答案:

答案 0 :(得分:0)

您的XSL文件必须至少有一个与您的输入XML匹配的<xsl:template>元素才能执行某些操作。

您不应该在XSL文件中包含CSS文件 - XSL处理器不知道如何处理CSS,而是应该在引用CSS的结果XML中输出<link>元素。

这样的事情:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
            version="1.0">

<xsl:template match="/">
    <html>
        <head>
            <title>News | Endeavour Explorers</title>
            <link rel="shortcut icon" 
                 href="../resources/img/logo200.png"/>
            <link rel="stylesheet"   
                 href="http://bootswatch.com/sandstone/bootstrap.min.css"  type="text/css">
            <style type="text/css">
                body {padding: 63px 0 63px 0;} 
                a[name] {
                   padding-top: 40px; 
                   margin-top: -40px; 
                   display: inline-block; 
                   /* required for webkit browsers */}
                @media print{body {margin-top: -63px;}}
            </style>
       </head>
       . . . .