Subject: [xsl] first char of first word of first paragraph From: Zsolt Szabó <zsolt.szabo@xxxxxxxxxx> Date: Mon, 18 Oct 2004 16:30:50 +0200 |
1. What I want to do is to select every first paragraph of all chapters 2. Select the first word with grep., and then select the rest of the text
Question> 1. How can I select the first 3 words 2. How can I convert the selected string to uppercase?
Thank you Zsolt Sandor Szabs Graphic Designer
The source xml file. <xml> <chapter id="c1"> <title>chapter 1</title> <setion> <para>Smallcaps word para 1 text etc.</para> <para>para 2 text etc.</para> </setion> </chapter> <chapter id="c2"> <title>chapter 2</title> <setion> <para>Smallcaps word para 1 text etc.</para> <para>para 2 text etc.</para> </setion> </chapter> </xml>
the desired output <chapter id="c1"> <setion> <para> <FirstChar>S</FirstChar><Smallcaps>MALLCAPS WORD PARA 1 </Smallcaps><RestOfPara>text etc.</RestOfPara> </para> </setion> </chapter>
The following xsltfile works, at least with libxslt. <!--Select the first paragraph of all chapters--> <xsl:template match="//chapter/section[1]/para[1]" priority="1">
<xsl:call-template name="FirstWord"> <xsl:with-param name="string" select="."/> </xsl:call-template>
<!--Select all paragraphs--> <xsl:template match="//para"> <xsl:call-template name="para.template"> </xsl:call-template> </xsl:template>
<xsl:template name="FirstWord"> <xsl:param name="string"/> <xsl:choose> <!--does the string contains a space???--> <xsl:when test="contains($string,' ')"> <div> <b> <!--select characters before the space--> <xsl:value-of select="substring-before($string,' ')"/> </b> <!--give back the space which was stripped down from the first word--> <xsl:text> </xsl:text> <!--select characters after the space--> <xsl:value-of select="substring-after($string,' ')"/> </div> </xsl:when> <xsl:otherwise> <!--call paragraph template--> <xsl:call-template name="para.template"> </xsl:call-template> </xsl:otherwise> </xsl:choose> </xsl:template>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] first char of first word of , Zsolt Szabó | Thread | [xsl] ancestor, Jiang, Peiyun |
Re: [xsl] compute an xpath expressi, Wendell Piez | Date | [xsl] ancestor, Jiang, Peiyun |
Month |