主题:请教xsl合并模板(import\include)
所属分类:Web 开发 XML/SOAP
----------------------------------------------------------------------
news.xml调用news.xsl
news.xsl中引入head.xsl
想在浏览news.xml时,可以显示被head.xsl、news.xsl共同格式化的效果。
请问如何写?
谢谢!
news.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="news.xsl"?>
<catalog>
<cd>
<title>标题1</title>
<artist>艺术1</artist>
</cd>
<cd>
<title>标题2</title>
<artist>艺术2</artist>
</cd>
</catalog>
news2.xsl
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="head.xsl"/>
<xsl:template match="cd">
ddddddddddddd
</xsl:template>
</xsl:stylesheet>
head.xsl
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<head>
<title>Title</title>
</head>
</html>
</xsl:template>
</xsl:stylesheet>
----------------------------------------------------------------------
news.xsl:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="head.xsl"/>
<xsl:template match="/">
<xsl:apply-templates select="//cd" />
</xsl:template>
<xsl:template match="cd">
<xsl:value-of select="title"/><br/><xsl:value-of select="artist"/><br/>
</xsl:template>
</xsl:stylesheet>
这样写基本上可以了,如果出现乱码,请注意XML的ENCODING。
--------------------------------------------------------
head.xsl
模板中的<title>Title</title>在访问news.xml是,并没有显示出来。
请再帮帮忙。
谢谢!
--------------------------------------------------------
<xsl:apply-imports/>
--------------------------------------------------------
谢谢。使用apply-imports成功!!
--------------------------------------------------------
刚才试了试。离开apply-imports也成功。呵呵,是原来xsl写的不对头。
+++++++++++++++++++++++++++++++++++++++++++++
所属分类:Web 开发 XML/SOAP
----------------------------------------------------------------------
news.xml调用news.xsl
news.xsl中引入head.xsl
想在浏览news.xml时,可以显示被head.xsl、news.xsl共同格式化的效果。
请问如何写?
谢谢!
news.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="news.xsl"?>
<catalog>
<cd>
<title>标题1</title>
<artist>艺术1</artist>
</cd>
<cd>
<title>标题2</title>
<artist>艺术2</artist>
</cd>
</catalog>
news2.xsl
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="head.xsl"/>
<xsl:template match="cd">
ddddddddddddd
</xsl:template>
</xsl:stylesheet>
head.xsl
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<head>
<title>Title</title>
</head>
</html>
</xsl:template>
</xsl:stylesheet>
----------------------------------------------------------------------
news.xsl:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="head.xsl"/>
<xsl:template match="/">
<xsl:apply-templates select="//cd" />
</xsl:template>
<xsl:template match="cd">
<xsl:value-of select="title"/><br/><xsl:value-of select="artist"/><br/>
</xsl:template>
</xsl:stylesheet>
这样写基本上可以了,如果出现乱码,请注意XML的ENCODING。
--------------------------------------------------------
head.xsl
模板中的<title>Title</title>在访问news.xml是,并没有显示出来。
请再帮帮忙。
谢谢!
--------------------------------------------------------
<xsl:apply-imports/>
--------------------------------------------------------
谢谢。使用apply-imports成功!!
--------------------------------------------------------
刚才试了试。离开apply-imports也成功。呵呵,是原来xsl写的不对头。
+++++++++++++++++++++++++++++++++++++++++++++