gpt4 book ai didi

xml - 应用模板如何工作?

转载 作者:数据小太阳 更新时间:2023-10-29 01:46:19 24 4
gpt4 key购买 nike

我刚开始学习 XSL(T),我想知道 apply-templates 是如何工作的?我不理解它的递归应用模板部分,因为它写在我的书中。

我了解 XSL(T) 的 XPath 部分等等,但不了解 apply-templates 正在做什么以及为什么我多次编写它。

最佳答案

您使用 <xsl:apply-templates>调用 <xsl:template> :s 你已经定义了。

<xsl:apply-templates>为集合中的每个节点调用一个匹配模板。

您可以通过指定 select 来控制处理顺序apply-templates 上的属性.

请参阅 w3schools 中的示例:

<?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>
<body>
<h2>My CD Collection</h2>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>

<xsl:template match="cd">
<p>
<xsl:apply-templates select="title"/>
<xsl:apply-templates select="artist"/>
</p>
</xsl:template>

<xsl:template match="title">
Title: <span style="color:#ff0000">
<xsl:value-of select="."/></span>
<br />
</xsl:template>

<xsl:template match="artist">
Artist: <span style="color:#00ff00">
<xsl:value-of select="."/></span>
<br />
</xsl:template>

</xsl:stylesheet>
  • 第一个apply-templates调用 cd模板每次一个名为 "cd" 的元素遇到了。

  • cd模板,依次调用 titleartist用于处理 <cd> 的子元素的模板.

  • titleartist 之前处理.请注意,artist 的顺序和 title源 XML 中的元素没有区别。

你可以想到apply-templates类似于过程语言中的子例程调用。

关于xml - 应用模板如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6049313/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com