[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

How to use following-sibling & starts-with function in

Subject: How to use following-sibling & starts-with function in xsl
From: Selva Ganesh <selvaganesh1985@xxxxxxxxx>
Date: Sun, 10 May 2009 07:52:14 +0530
 How to use following-sibling & starts-with function in
Hi All,

I heartly appreciate.

I have 3 question:
1.	following-sibling function not working in the si  docid attribute
2.	starts-with function not working in laid element
3.	choose method want correct (I need single dates element) in my xsl
repeated the <dates>


This is my XSL:

<xsl:template match="div[@class='DocContainer']">
<xsl:element name="si">
<xsl:attribute name="docid"><xsl:value-of
select="following-sibling::div[@class ='LegPrelims']/h1[@class =
'LegNo'][1]" /></xsl:attribute>
<xsl:attribute name="type"><xsl:text>reg</xsl:text></xsl:attribute>
<xsl:apply-templates></xsl:apply-templates></xsl:element></xsl:template>
<xsl:template match="title"/>
<xsl:template match="style"/>
<xsl:template match="div[@class[.='LegPrelims']]">
<si-begin>
<xsl:apply-templates></xsl:apply-templates>
</si-begin>
</xsl:template>
<xsl:template match="h1">
<xsl:element name="si-nos" >
<xsl:element name="si-year" ><xsl:value-of select="substring-before(.,
' ')"/></xsl:element>
<si-no><xsl:value-of select="substring-after(., '.
')"/></si-no></xsl:element>
</xsl:template>
<xsl:template match="div[@class[.='LegDate']]">
<dates>
<xsl:choose>
<xsl:when test="p='Made'">
<xsl:element name="made"><xsl:attribute name="date">
<xsl:value-of select="p[@class[.='LegDateDate']]"/></xsl:attribute>
<xsl:value-of select="p[@class[.='LegDateText']]"/></xsl:element></xsl:when>
<!--<xsl:when test="(starts-with(p, 'Laid'))">-->
<xsl:when test="p='Laid before Parliament'">
<xsl:element name="laid"><xsl:attribute name="date">
<xsl:value-of select="p[@class[.='LegDateDate']]"/></xsl:attribute>
<xsl:value-of select="p[@class[.='LegDateText']]"/></xsl:element></xsl:when>
<xsl:otherwise>
<xsl:element name="in-force"><xsl:element
name="in-force-text"><xsl:attribute name="date">
<xsl:value-of select="p[@class ='LegDateDate']"/></xsl:attribute>
<xsl:value-of
select="p[@class[.='LegDateText']]"/></xsl:element></xsl:element>
</xsl:otherwise>
</xsl:choose>
</dates>
</xsl:template>

This my input:

<div id="ContentMain"><div class="DocContainer"><div class="LegPrelims">
<h1 class="LegNo">2009 No. 1023</h1>
<p class="LegSubject">Excise</p>
<h1 class="LegTitle">The Excise </h1>
<div class="LegDate">
<p class="LegDateText">Made</p><p class="LegDateDate">22nd April 2009</p>
</div>
<div class="LegDate">
<p class="LegDateText">Laid before Parliament</p><p
class="LegDateDate">22nd April 2009</p>
</div>
<div class="LegDate">
<p class="LegDateText">Coming into force</p><p class="LegDateDate">1st
June 2009</p>
</div>

</div>
</div>
</div>


This is expected output

<si docid="s2009no815" type="reg">
<si-begin>
<si-nos>
<si-year>2009</si-year>
<si-no>815</si-no>
</si-nos>
<subject>
<subject-text>EXCISE</subject-text>
</subject>
<ti al="c">The Excise</ti>
<dates>
<made date="20090422">Made</made>
<laid date="20090422">Laid before Parliament</laid>
<in-force date="20090601"><in-force-text>Coming into force</in-force-text>
</in-force>
</dates>

</si-begin>
</si>

Thanks,
Selva

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.