如何在XSL文件中的另一个匹配中调用一个匹配



input:

firstdto:

  1. 链接:google.com
  2. 名称:谷歌

seconddto

  1. 链接:yahoo.com
  2. 名称:雅虎
<sites>
<firstdto>
<link>google.com</link>
<name>google</name>
</firstdto>
<seconddto>
<link>yahoo.com</link>
<name>yahoo</name>
</seconddto>
</sites>

期望输出:

google.com
yahoo.com
google
<body>
<link>google.com</link>
<link>yahoo.com</link>
<name>google</name>
</body>

输出电流:

google.com
google.com
google

注意:我只想在firstdto中导入seconddto函数。因为我想在第一属性中使用seconddto属性。但我做不到。它仍然得到链接从firstdto,即使我匹配我的模板seconddto

有人能帮我一下吗?这对我真的很有帮助。提前谢谢。
<xsl:stylesheet>
<Xsl:template match="/">
<head>
<style>
.....
</style>
</head>
<body>
<xsl:apply-templates select="firstdto"/>
<xsl:apply-templates select="seconddto"/>
</body>
</xsl:template>
<xsl:template match="firstdto">
<body>
<xsl:value-of select="link"/>
<xsl:template match="seconddto">
<body>
<xsl:value-of select="link"/>
</body>
</xsl:template>
<xsl:value-of select="name">
</body>
</xsl:template>

我只想在firstdto中导入seconddto函数。因为我想在第一属性中使用seconddto属性。

如果你想在firstdto中使用seconddto的值,那么你可以试试:

<xsl:template match="/sites">
<html>
<head>
<style>.....</style>
</head>
<body>
<xsl:apply-templates select="firstdto"/>
</body>
</html>  
</xsl:template>
<xsl:template match="firstdto">
<xsl:copy-of select="link"/>
<xsl:copy-of select="../seconddto/link"/><!-- to use/copy value from other -->
<xsl:copy-of select="name"/>
</xsl:template>

得到如下输出:

<html>
<head>
<style>.....</style>
</head>
<body>
<link>google.com</link>
<link>yahoo.com</link>
<name>google</name>
</body>
</html>

相关内容

  • 没有找到相关文章

最新更新