私は挑戦的な問題を抱えており、これまでのところ解決できませんでした。
私のxlstには、文字列を含む変数があります。次のシーケンス [eol] をこの文字列に追加する必要があります。固定位置、つまり 65 文字ごと
関数またはテンプレートを使用して、この文字を再帰的に追加することを考えました。その理由は、文字列の長さが変化する可能性があるためです。
<xsl:function name="funct:insert-eol" as="xs:string" >
<xsl:param name="originalString" as="xs:string?"/>
<xsl:variable name="length">
<xsl:value-of select="string-length($originalString)"/>
</xsl:variable>
<xsl:variable name="start" as="xs:integer">
<xsl:value-of select="1"/>
</xsl:variable>
<xsl:variable name="eol" as="xs:integer">
<xsl:value-of select="65"/>
</xsl:variable>
<xsl:variable name="newLines">
<xsl:value-of select="$length idiv number('65')"/>
</xsl:variable>
<xsl:for-each select="1 to $newLines">
<xsl:value-of select="substring($originalString, $start, $eol)" />
</xsl:for-each>
</xsl:function>
コードを書けば書くほど、導入する必要のある変数が増えます。これはまだ私の理解不足です。
たとえば、5 文字ごとに [eol] が必要です。
aaaaaaabbbbbbcccccccccc
aaaaa[eol]aabbb[eol]bbbcc[eol]cccccc[eol]cc
誰かが私の出発点を持っていることを願っています..
よろしくダーク