Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在使用xslt转换创建的html中包含页眉和页脚_Html_Xslt - Fatal编程技术网

在使用xslt转换创建的html中包含页眉和页脚

在使用xslt转换创建的html中包含页眉和页脚,html,xslt,Html,Xslt,我正在使用对xml内容运行的XSLT转换创建HTML。xml内容是动态的,因此生成的HTML可以分布在多个页面上。我想在HTML的每个输出页面中包含页眉和页脚。有没有办法实现XSLT转换或HTML技巧?XSL是否生成多个HTML文件?如果是这样,您肯定可以在每个HTML文件中包含页眉和页脚 如果您只生成一个HTML文档,那么实际上并不存在“页面”的概念,除非您指的是用户向下滚动时看到的一系列屏幕。在这种情况下,您需要使用CSS使页眉和页脚保持可见 或者这个HTML是用来生成PDF的?请进一步解释

我正在使用对xml内容运行的XSLT转换创建HTML。xml内容是动态的,因此生成的HTML可以分布在多个页面上。我想在HTML的每个输出页面中包含页眉和页脚。有没有办法实现XSLT转换或HTML技巧?

XSL是否生成多个HTML文件?如果是这样,您肯定可以在每个HTML文件中包含页眉和页脚

如果您只生成一个HTML文档,那么实际上并不存在“页面”的概念,除非您指的是用户向下滚动时看到的一系列屏幕。在这种情况下,您需要使用CSS使页眉和页脚保持可见


或者这个HTML是用来生成PDF的?请进一步解释。

假设我有一个XML结构,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<documentElement>
    <header/>
    <body>
        <!-- omitted for brevity -->
    </body>
</documentElement>

以及用于转换上述XML的样式表:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <xsl:import href="imported.xsl"/>

    <xsl:output
        method="html"
        encoding="UTF-8"
        omit-xml-declaration="yes"
        doctype-system="about:blank"
        indent="no"
        media-type="text/html"
    />

    <xsl:template match="/">
        <xsl:apply-templates/>
    </xsl:template>

    <xsl:template match="documentElement">
        <HTML dir="ltr">
            <xsl:apply-templates/>
        </HTML>
    </xsl:template>

    <xsl:template match="body">
        <BODY>
            <!-- content of other element -->
            <xsl:apply-templates select="footer"/>
        </BODY>
    </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">

    <!-- imported.xsl -->

    <xsl:output
        method="html"
        encoding="UTF-8"
        indent="no"
        media-type="text/html"
    />

    <xsl:template match="header">
        <!-- content of header -->
        <HEAD>
            <META charset="UTF-8"/>
        </HEAD>
    </xsl:template>

    <xsl:template name="footer">
        <FOOTER>
            <!-- content of footer -->
        </FOOTER>
    </xsl:template>

</xsl:stylesheet>

将导致:

<!DOCTYPE HTML>
<HTML dir="ltr">
    <HEAD>
        <META charset="UTF-8">
    </HEAD>
    <BODY>
        <!-- content of other element -->
        <FOOTER>
            <!-- content of footer -->
        </FOOTER>
    </BODY>
</HTML>

请注意,文档有元素,但没有元素,以及样式表如何以不同方式转换它们;e、 g,对


我不知道这是否消除了你的疑虑;如果您需要深入解释,请毫不犹豫地告诉我:)

结果将只是一个html文档。现在了解HTML文档中没有页面概念。我需要创建一个报告,其中包含从数据库中提取的数据,并以页面格式呈现,每个页面都有页眉和页脚。在这种情况下,创建PDF是我唯一的选择吗?我只是不知道你所说的“页面格式”是什么意思。你能解释一下在浏览器中是什么样子吗?你好,我在理解这个方面有点困难。你能帮忙吗