Html 如何将3个单独的XSLT文件从一个XML处理为一个输出?
我有一个XSLT文件,它与XML一起处理HTML(目前使用X-trans和Notepad++)。我想做的是把它分成3个文件,页眉,正文和页脚 到目前为止,我已经尝试使用xsl:import&xsl:include,但每当我尝试处理它时,它都会说该文件无效。很明显我错过了什么有人能帮忙吗 标题XSLT:Html 如何将3个单独的XSLT文件从一个XML处理为一个输出?,html,css,xml,xslt,Html,Css,Xml,Xslt,我有一个XSLT文件,它与XML一起处理HTML(目前使用X-trans和Notepad++)。我想做的是把它分成3个文件,页眉,正文和页脚 到目前为止,我已经尝试使用xsl:import&xsl:include,但每当我尝试处理它时,它都会说该文件无效。很明显我错过了什么有人能帮忙吗 标题XSLT: <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html lang="en-GB">
<body style="font-family:'Praxis Com Light'; color:#632423; width:100%; font-size:14px !important;">
<xsl:variable>variable1</xsl:variable>
<xsl:variable>variable2</xsl:variable>
<xsl:variable>variable3</xsl:variable>
<div>Header</div>
</body>
</html>
</xsl:template>
变量1
变量2
变量3
标题
正文XSLT:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html lang="en-GB">
<body style="font-family:'Praxis Com Light'; color:#632423; width:100%; font-size:14px !important;">
<xsl:include href="Header.xsl"/>
<xsl:variable>variable1</xsl:variable>
<xsl:variable>variable2</xsl:variable>
<xsl:variable>variable3</xsl:variable>
<table>Main XSL file</table>
<xsl:include href="Footer.xsl"/>
</body>
</html>
</xsl:template>
变量1
变量2
变量3
主XSL文件
页脚XSLT:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html lang="en-GB">
<body style="font-family:'Praxis Com Light'; color:#632423; width:100%; font-size:14px !important;">
<xsl:variable>variable1</xsl:variable>
<xsl:variable>variable2</xsl:variable>
<xsl:variable>variable3</xsl:variable>
<p>Footer</p>
</body>
</html>
</xsl:template>
变量1
变量2
变量3
页脚
您只能使用
xsl:include
或xsl:import
作为顶级元素,即分别作为xsl:stylesheet
元素的直接子元素。因此,一种可能的方法是
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template name="header>
<xsl:variable>variable1</xsl:variable>
<xsl:variable>variable2</xsl:variable>
<xsl:variable>variable3</xsl:variable>
<div>Header</div>
</xsl:template>
</xsl:stylesheet>
不要忘记提供variable1
和friends@name
属性。
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:include href="Header.xsl"/>
<xsl:include href="Footer.xsl"/>
<xsl:template match="/">
<html lang="en-GB">
<body style="font-family:'Praxis Com Light'; color:#632423; width:100%; font-size:14px !important;">
<xsl:call-template name="header"/>
<xsl:variable>variable1</xsl:variable>
<xsl:variable>variable2</xsl:variable>
<xsl:variable>variable3</xsl:variable>
<table>Main XSL file</table>
<xsl:call-template name="footer"/>
</body>
</html>
</xsl:template>
</xsl:stylesheet>