xsl-list
[Top] [All Lists]

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

2009-12-23 08:52:00
So XSLT 1.0 does not support the xsl:analyze-string function am correct ?

-----Original Message-----
From: Michael Kay [mailto:mike(_at_)saxonica(_dot_)com] 
Sent: Wednesday, December 23, 2009 7:15 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: [xsl] Find the string and apply the tag

Can I use below XSL coding for IE viewing purpose? It will be 
working or the coding working only Saxon processer.

It requires a processor that supports XSLT 2.0. The processor in IE only
supports XSLT 1.0.

Regards,

Michael Kay
http://www.saxonica.com/
http://twitter.com/michaelhkay 

Thanks,
Selva

-----Original Message-----
From: Imsieke, Gerrit, le-tex 
[mailto:gerrit(_dot_)imsieke(_at_)le-tex(_dot_)de]
Sent: Wednesday, December 23, 2009 6:24 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Find the string and apply the tag

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>
--~--



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>
--~--



--~------------------------------------------------------------------
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>
--~--



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>
--~--