On 22.10.2020 23:48, Martin Honnen martin(_dot_)honnen(_at_)gmx(_dot_)de wrote:
I think the issue is your use of text value templates
<xsl:non-matching-substring>{pt:replaceTextArobase(.)}</xsl:non-matching-substring>
that strips any elements; you need to use
<xsl:non-matching-substring>
<xsl:sequence select="pt:replaceTextArobase(.)"/>
</xsl:non-matching-substring>
and so on:
<xsl:function name="pt:replaceTextMarkers" as="item()+">
<xsl:param name="s" as="xs:string"/>
<xsl:analyze-string select="$s" regex="\*\*(.*?)\*\*">
<xsl:matching-substring><text:span
text:style-name="TB">{pt:replaceTextDollar(substring(.,3,
string-length(.)-4))}</text:span></xsl:matching-substring>
<xsl:non-matching-substring>
<xsl:sequence select="pt:replaceTextDollar(.)"/>
</xsl:non-matching-substring>
</xsl:analyze-string>
</xsl:function>
<xsl:function name="pt:replaceTextDollar" as="item()+">
<xsl:param name="s" as="xs:string"/>
<xsl:analyze-string select="$s" regex="\$\$(.*?)\$\$">
<xsl:matching-substring><text:span
text:style-name="TCode"><xsl:sequence
select="pt:replaceTextArobase(substring(.,3,
string-length(.)-4))"/></text:span></xsl:matching-substring>
<xsl:non-matching-substring><xsl:sequence
select="pt:replaceTextArobase(.)"/></xsl:non-matching-substring>
</xsl:analyze-string>
</xsl:function>
<xsl:function name="pt:replaceTextArobase" as="item()+">
<xsl:param name="s" as="xs:string"/>
<xsl:analyze-string select="$s" regex="@@(.*?)@@">
<xsl:matching-substring><text:span
text:style-name="TLink"><xsl:sequence select="substring(.,3,
string-length(.)-4)"/></text:span></xsl:matching-substring>
<xsl:non-matching-substring>{.}</xsl:non-matching-substring>
</xsl:analyze-string>
</xsl:function>
<xsl:function name="pt:unescapeSpecialChars" as="xs:string">
<xsl:param name="s" as="xs:string"/>
<xsl:sequence select="$s=>replace('\*', '*', 'q')=>replace('\$',
'$', 'q')=>replace('\@','@', 'q')"/>
</xsl:function>
All green now in XSpec.
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--