[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Dear Selva,
xsl:analyze-string should do the trick.
flags="s" is for multiline input (treat newline as ordinary character).
The rules where to add boldface, i.e., the regex, might get somewhat complex when you try to capture all real-life cases. The 'x' flag will help you writing a more readable regex then. See http://www.w3.org/TR/xpath-functions/#flags
Things will get complicated though if some markup inside <derivation> has to survive. There's no analyze-string that will reproduce elements in the matched substring.
<xsl:template match="derivation" mode="boldify">
<xsl:copy>
<xsl:analyze-string select="." regex="(
replaces?
| was[ ]created[ ]in.+
)" flags="sx">
<xsl:matching-substring>
<b>
<xsl:value-of select="."/>
</b>
</xsl:matching-substring>
<xsl:non-matching-substring>
<xsl:value-of select="."/>
</xsl:non-matching-substring>
</xsl:analyze-string>
</xsl:copy>
</xsl:template>
Gerrit
Selvaganesh schrieb:
Re: [xsl] Find the string and apply the tag
Subject: Re: [xsl] Find the string and apply the tag From: "Imsieke, Gerrit, le-tex" <gerrit.imsieke@xxxxxxxxx> Date: Wed, 23 Dec 2009 13:54:20 +0100 |
Dear Selva,
xsl:analyze-string should do the trick.
flags="s" is for multiline input (treat newline as ordinary character).
The rules where to add boldface, i.e., the regex, might get somewhat complex when you try to capture all real-life cases. The 'x' flag will help you writing a more readable regex then. See http://www.w3.org/TR/xpath-functions/#flags
Things will get complicated though if some markup inside <derivation> has to survive. There's no analyze-string that will reproduce elements in the matched substring.
<xsl:template match="/"> <root> <xsl:apply-templates select="derivations/derivation" mode="boldify"/> </root> </xsl:template>
<xsl:template match="derivation" mode="boldify">
<xsl:copy>
<xsl:analyze-string select="." regex="(
replaces?
| was[ ]created[ ]in.+
)" flags="sx">
<xsl:matching-substring>
<b>
<xsl:value-of select="."/>
</b>
</xsl:matching-substring>
<xsl:non-matching-substring>
<xsl:value-of select="."/>
</xsl:non-matching-substring>
</xsl:analyze-string>
</xsl:copy>
</xsl:template>
Gerrit
Selvaganesh schrieb:
Hi Team,
Am new in the XSLT regex part, kindly help me, how can I find the string and apply the tag.
Input file: <derivations id="Section 111"> <derivation>Subsection (1) was created in drafting (i.e. added by the drafter of the consolidation and not found in the earlier legislation)</derivation>. <derivation>Subsection (2) replaces <sccc:legis-cite sccc:title="Income and Corporation Taxes Act" sccc:year="1988" sccc:chapter="1" sccc:section="root" sccc:type="statute">Income and Corporation Taxes Act 1988</sccc:legis-cite> <sccc:legis-cite sccc:title="Income and Corporation Taxes Act" sccc:year="1988" sccc:chapter="1" sccc:section="" sccc:type="statute">Sch.5 para.8(6).</sccc:legis-cite></derivation> <derivation>Subsection (3) replaces <sccc:legis-cite sccc:title="Income and Corporation Taxes Act" sccc:year="1988" sccc:chapter="1" sccc:section="root" sccc:type="statute">Income and Corporation Taxes Act 1988</sccc:legis-cite> <sccc:legis-cite sccc:title="Income and Corporation Taxes Act" sccc:year="1988" sccc:chapter="1" sccc:section="" sccc:type="statute">Sch.5 para.3(12).</sccc:legis-cite></derivation> <derivation>Subsection (3) replace <sccc:legis-cite sccc:title="Income and Corporation Taxes Act" sccc:year="1988" sccc:chapter="1" sccc:section="root" sccc:type="statute">Income and Corporation Taxes Act 1988</sccc:legis-cite> <sccc:legis-cite sccc:title="Income and Corporation Taxes Act" sccc:year="1988" sccc:chapter="1" sccc:section="" sccc:type="statute">Sch.5 para.3(12).</sccc:legis-cite></derivation> </derivations>
Expected Output:
<root> <p>Subsection (1) <b>was created in drafting (i.e. added by the drafter of the consolidation and not found in the earlier legislation)</b>.</p> <p>Subsection (2) <b>replaces</b> Income and Corporation Taxes Act 1988Sch.5 para.8(6).</p> <p>Subsection (3) <b>replace</b> Income and Corporation Taxes Act 1988Sch.5 para.3(12).</p> </root>
Thanks to everyone, Selva
Confidentiality Notice: This transmittal is a confidential communication. If you are not the intended recipient, you are hereby notified that you have received this transmittal in error and that any review, dissemination, distribution or copying of this transmittal is strictly prohibited. If you have received this communication in error, please notify this office immediately by reply and immediately delete this message and all of its attachments, if any.
-- Gerrit Imsieke Geschdftsf|hrer / Managing Director le-tex publishing services GmbH Weissenfelser Str. 84, 04229 Leipzig, Germany Phone +49 341 355356 110, Fax +49 341 355356 510 gerrit.imsieke@xxxxxxxxx, http://www.le-tex.de
Registergericht / Commercial Register: Amtsgericht Leipzig Registernummer / Registration Number: HRB 24930
Geschdftsf|hrer: Gerrit Imsieke, Svea Jelonek, Thomas Schmidt, Dr. Reinhard Vvckler
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Find the string and apply the, Selvaganesh | Thread | RE: [xsl] Find the string and apply, Selvaganesh |
Re: [xsl] using xsl:output-characte, David Carlisle | Date | [xsl] What do match=@*[....] and, Ben Stover |
Month |
Keywords