Subject: Re: [xsl] problem reqarding link From: "Piez, Wendell A. (Fed) wendell.piez@xxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Thu, 18 Jan 2024 14:47:42 -0000 |
Hi, An alternative is to look at it the other way by wiring it into your key: <xsl:key name="ids" match="p[@class = 'Bib_entry'] use="'#' || @id"/> Which approach is better depends on the case. Naming the key helps make sense of it: <xsl:key name="bib-entry-references" match="p[@class = 'Bib_entry'] use="'#' || @id"/> Cheers, Wendell From: Joga Singh Rawat jrawat@xxxxxxxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Sent: Thursday, January 18, 2024 6:38 AM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: [xsl] problem reqarding link Thanks an lot Michael!!! From: Michael Kay mike@xxxxxxxxxxxx<mailto:mike@xxxxxxxxxxxx> [mailto:xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx] Sent: 18 January 2024 14:31 To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx<mailto:xsl-list@xxxxxxxxxxxxxxxxxxxxxx> Subject: Re: [xsl] problem reqarding link The simplest approach would be to change <xsl:for-each select="key('ids', .)"> to <xsl:for-each select="key('ids', translate(., '#', ''))"> to strip out the '#' character. This would be applied to @id attributes as well as @href attributes, but if the @id attributes never contain a "#", that's fine. Michael Kay Saxonica On 18 Jan 2024, at 08:02, Joga Singh Rawat jrawat@xxxxxxxxxxxxxx<mailto:jrawat@xxxxxxxxxxxxxx> <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx<mailto:xsl-list-service@xxxxxxxxxxxx rytech.com>> wrote: Hi Team, I am not able to get required OUTPUT of @sn <link> because of hash (#) problem. Please help in this regard. Input <html> <p>Text... <a href="#bibx" class="bibcit">1</a> xxx <a href="#biby" class="bibcit">2</a></p> <p class="Bib_entry" id='bibx">xxxxxxxxxxxx</p> <p class="Bib_entry" id='biby">xxxxxxxxxxxx</p> </html> output <html> <p>Text... <link rid="bibx" class="bibcit" sn="1">1</link> xxx <link rid="biby" class="bibcit" sn="2">2</a></p> <bib id='bibx" sn="1">xxxxxxxxxxxx</bib> <bib id='biby" sn="2">xxxxxxxxxxxx</bib> </html> Xsl <xsl:key name="ids" match="p[@class = 'Bib_entry'] use="@id"/> <xsl:template match="p[@class='Bib_entry']/@id | @href"> <xsl:for-each select="key('ids', .)"> <xsl:if test="name(.)= 'p'"> <xsl:text/> <xsl:number format="1" count="p[@class = 'Bib_entry']" level="any" from="html"/> </xsl:if> </xsl:for-each> </xsl:template> <xsl:template match="a"> <xsl:variable name="rid" select="substring-after(@href, '#')"/> <xsl:choose> <xsl:when test="@class = 'bibcit'"> <link class="bibcit"> <xsl:attribute name="rid"> <xsl:value-of select="$rid"/> </xsl:attribute> <xsl:attribute name="sn"> <xsl:apply-templates select="@href"/> </xsl:attribute> <xsl:apply-templates/> </link> </xsl:when> </xsl:choose> </xsl:template> <xsl:template match="p[@class='Bib_entry']"> <bib> <xsl:call-template name="id"/> <xsl:attribute name="sn"> <xsl:apply-templates select="@id"/> </xsl:attribute> <xsl:apply-templates/> </bib> </xsl:template> Thanks a lot in advance ...JSR XSL-List info and archive<http://www.mulberrytech.com/xsl/xsl-list> EasyUnsubscribe<http://lists.mulberrytech.com/unsub/xsl-list/293509> (by email) Click here<https://www.mailcontrol.com/sr/Iuw_9ItPYQvGX2PQPOmvUrvxg9nfQreSuSmdBA6I- sPP9pVVEl9RWlntwcE72iBW1wLVgp83_gmoZTw26POg4w==> to report this email as spam. XSL-List info and archive<http://www.mulberrytech.com/xsl/xsl-list> EasyUnsubscribe<http://lists.mulberrytech.com/unsub/xsl-list/876847> (by email) XSL-List info and archive<http://www.mulberrytech.com/xsl/xsl-list> EasyUnsubscribe<http://lists.mulberrytech.com/unsub/xsl-list/3302254> (by email<>)
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] problem reqarding link, Joga Singh Rawat jra | Thread | [xsl] Not able to calculate @colnam, Joga Singh Rawat jra |
Re: [xsl] problem reqarding link, Joga Singh Rawat jra | Date | [xsl] Not able to calculate @colnam, Joga Singh Rawat jra |
Month |