gpt4 book ai didi

字符串中每个字母的 XSLT

转载 作者:行者123 更新时间:2023-12-03 15:23:42 26 4
gpt4 key购买 nike

我正在编写一个 XSLT 转换(用于 XSL-FO),并且需要为字符串值中的每个字母重复一些内容,例如:

如果字符串存储在 MyData/MyValue字符串(例如 MyData.MyValue = "something"),我需要一个像这样的 for-each:

<xsl:for-each select="MyData/MyValue"> <!-- What goes here to iterate through letters? -->
<someTags>
<xsl:value-of select="Letter" /> <!-- What goes here to output current letter? -->
</someTags>
</xsl:for-each>

有什么想法吗?

最佳答案

您可以使用调用模板并传递参数,然后使用递归调用模板,直到没有剩余字符为止。

下面添加了示例。

在这个 xml

<?xml version="1.0" encoding="utf-8"?>
<data>
<node>something</node>
</data>

而这个 xslt
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
>
<xsl:output method="xml" indent="yes"/>

<xsl:template match="data/node">
<xsl:call-template name="for-each-character">
<xsl:with-param name="data" select="."/>
</xsl:call-template>
</xsl:template>

<xsl:template name="for-each-character">
<xsl:param name="data"/>
<xsl:if test="string-length($data) &gt; 0">
<someTags>
<xsl:value-of select="substring($data,1,1)"/>
</someTags>
<xsl:call-template name="for-each-character">
<xsl:with-param name="data" select="substring($data,2)"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
</xsl:stylesheet>

然后,您将能够在 if 语句中进行操作以执行更多操作!

关于字符串中每个字母的 XSLT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6680437/

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