gpt4 book ai didi

xslt - 在 XSLT 中循环 -
转载 作者:行者123 更新时间:2023-12-05 01:28:56 25 4
gpt4 key购买 nike

我需要在 XSLT 中呈现以下格式。我有一个 <xsl:for-each包含 5 个元素(Text1、Text2 ... Text5)的循环,并且需要在每三个元素后包装一个 ul 标记。有什么建议吗?

<ul>
<li>Text1</li>
<li>Text2</li>
<li>Text3</li>
</uL>
<ul>
<li>Text4</li>
<li>Text5</li>
</uL>

最佳答案

好问题,+1。

这个转换:

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>

<xsl:template match="thing[position() mod 3 = 1]">
<ul>
<xsl:apply-templates mode="inGrpoup" select=
".|following-sibling::*[not(position() > 2)]"/>
</ul>
</xsl:template>

<xsl:template match="thing" mode="inGrpoup">
<li><xsl:value-of select="."/></li>
</xsl:template>
<xsl:template match="text()"/>
</xsl:stylesheet>

应用于以下 XML 文档时:

<things>
<thing>1</thing>
<thing>2</thing>
<thing>3</thing>
<thing>4</thing>
<thing>5</thing>
<thing>6</thing>
<thing>7</thing>
<thing>8</thing>
</things>

产生想要的、正确的结果(连续三个一组的东西):

<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
<ul>
<li>4</li>
<li>5</li>
<li>6</li>
</ul>
<ul>
<li>7</li>
<li>8</li>
</ul>

解释:

  1. 模板模式匹配一组三个 thing 元素中的第一个 thing

  2. 使用模式处理一组thing元素(与处理初始thing的方式不同) , 一旦确定。

关于xslt - 在 XSLT 中循环 - <xsl :for-each,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8542979/

25 4 0

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