Re: [xsl] problem reqarding link

Subject: Re: [xsl] problem reqarding link
From: "Joga Singh Rawat jrawat@xxxxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 18 Jan 2024 11:37:03 -0000
Thanks an lot Michael!!!



From: Michael Kay mike@xxxxxxxxxxxx
[mailto:xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx]
Sent: 18 January 2024 14:31
To: 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
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> 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>Textb& <a href=b#bibxb class=bbibcitb>1</a>  xxx <a
href=b#bibyb class=bbibcitb>2</a></p>

<p class=bBib_entryb id=bbibxb>xxxxxxxxxxxx</p>

<p class=bBib_entryb id=bbibyb>xxxxxxxxxxxx</p>

</html>



output

<html>

<p>Textb& <link rid=bbibxb class=bbibcitb sn=b1b>1</link>  xxx
<link rid=bbibyb class=bbibcitb sn=b2b>2</a></p>

<bib id=bbibxb sn=b1b>xxxxxxxxxxxx</bib>

<bib id=bbibyb sn=b2b>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=bbibcitb>

      <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

b&JSR

 <http://www.mulberrytech.com/xsl/xsl-list> XSL-List info and archive

EasyUnsubscribe <http://lists.mulberrytech.com/unsub/xsl-list/293509>  (by
email)





Click here
<https://www.mailcontrol.com/sr/Iuw_9ItPYQvGX2PQPOmvUrvxg9nfQreSuSmdBA6I-sPP9
pVVEl9RWlntwcE72iBW1wLVgp83_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 <> )

Current Thread