xsl-list
[Top] [All Lists]

Re: [xsl] Find the string and apply the tag

2009-12-23 07:55:03
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.


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--


--
Gerrit Imsieke
Geschäftsfü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(_dot_)imsieke(_at_)le-tex(_dot_)de, http://www.le-tex.de

Registergericht / Commercial Register: Amtsgericht Leipzig
Registernummer / Registration Number: HRB 24930

Geschäftsführer: Gerrit Imsieke, Svea Jelonek,
Thomas Schmidt, Dr. Reinhard Vöckler

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--