|
Subject: [xsl] problem reqarding link From: "Joga Singh Rawat jrawat@xxxxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Thu, 18 Jan 2024 08:02:08 -0000 |
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
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] [ANN] In-Person XML Training , Adam Retter adam.ret | Thread | Re: [xsl] problem reqarding link, Michael Kay mike@xxx |
| [xsl] [ANN] In-Person XML Training , Adam Retter adam.ret | Date | Re: [xsl] problem reqarding link, Michael Kay mike@xxx |
| Month |