[Home] [By Thread] [By Date] [Recent Entries]
Mario Madunic wrote:
I have the following element (I'm using Saxon9 and XSLT2) This stylesheet <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> <xsl:output indent="yes"/> <xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template> <xsl:template match="p">
<xsl:copy>
<xsl:variable name="this" select="."/>
<xsl:variable name="t" select="text()[1]"/>
<xsl:analyze-string select="$t" regex="(.*) b (.*)">
<xsl:matching-substring>
<term><xsl:value-of select="regex-group(1)"/></term>
<definition>
<xsl:value-of select="regex-group(2)"/>
<xsl:apply-templates select="$t/following-sibling::node()"/>
</definition>
</xsl:matching-substring>
<xsl:non-matching-substring>
<xsl:apply-templates select="$this/node()"/>
</xsl:non-matching-substring>
</xsl:analyze-string>
</xsl:copy>
</xsl:template></xsl:stylesheet> does that but I have not tested against anything but your input sample. -- Martin Honnen http://msmvps.com/blogs/martin_honnen/
|

Cart



