Use <xsl:apply-templates select="//cms:input"/>
You may find http://www.dpawson.co.uk/xsl/sect2/sect21.html usefull for this
king of questions
Olivier
> -----Message d'origine-----
> De : Hema Rajan [mailto:[EMAIL PROTECTED]]
> Envoyé : jeudi 19 juillet 2001 11:52
> À : [EMAIL PROTECTED]
> Objet : Doubt in aplying stylesheet using Cocoon's xslt processor.
>
>
>
> Hi there!
>
> We have to match an element which is in 4 or 5 th level from
> the current
> level. Is there anyway to find out this element without giving the
> absolute/relative path in the xsl?
>
> For example, our XML file is as follows:
>
> <cms:form>
> <cms:table>
> <cms:row>
> <cms:cell>
> <cms:input name="abc" value="1"/>
> </cms:cell>
> </cms:row>
>
> <cms:row>
> <cms:cell>
> <cms:input name="xyz" value="2"/>
> </cms:cell>
> </cms:row>
> </cms:table>
> </cms:form>
>
> In our stylesheet we have the following template:
>
> <xsl:template match="cms:form">
> <xsl:apply-templates select='input'/>
> <xsl:if test="@submit">
> <!--if the form has "submit" param, a
> submit button
> is added with label equal to the value of "submit"-->
> <do type="accept" label="{@submit}">
> <go href="{@modpage}" method="post">
> <xsl:for-each select="input">
> <postfield
> name="{@item}"
> value="$({@item})"/>
> </xsl:for-each>
> </go>
> </do>
> </xsl:if>
> </xsl:template>
>
> The above template works fine only if the <input> element is
> directly below
> the <cms:form> tag. It will not work if the <input> element is 2 or 3
> levels below the <cms:form> tag. We tried replacing the
> "<xsl:apply-templates select='input'/>" line with
> "<xsl:apply-templates select="//input"/>". Even this did not
> work. Any
> suggestions?
---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>
To unsubscribe, e-mail: <[EMAIL PROTECTED]>
For additional commands, e-mail: <[EMAIL PROTECTED]>