Altova Mailing List Archives>Archive Index >xsl-list Archive Home >Recent entries >Thread Prev - >Thread Next - RE: [xsl] How to use following-sibling & starts-with function in xsl [xsl] How to use following-sibling & starts-with function in xslTo: xsl-list <xsl-list@-----.------------.---> Date: 5/10/2009 2:23:00 AM 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 --~------------------------------------------------------------------ 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@l...> --~-- | ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
