Subject: Re: [xsl] Add id to next element|
From: "Raghavendra Nyshadham nyraghu27132@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 20 May 2022 03:08:13 -0000
Thank you for the solution! I see that I was looking the wrong way. Instead of looking forward from <target> to <section>, I should have looked backward at <target> from <section>. I have modified your code to suit the actual XML I am transforming, and it works perfectly. Regards, Raghavendra. On Thu, May 19, 2022 at 11:21 PM Michael Kay mike@xxxxxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > You don't do it while processing the target element, you do it while processing the section element > > <xsl:template match="section"> > <xsl:copy> > <xsl:attribute name="id" select="preceding-sibling::target/@refid"/> > </xsl:copy> > </xsl:template> > > Michael Kay > Saxonica > > > On 19 May 2022, at 18:18, Raghavendra Nyshadham nyraghu27132@xxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > > > I am trying to write an XSLT stylesheet to transform an XML document > > (that was generated by Python Docutils) to HTML5. Here is a fragment > > from the source document: > > > > <target refid="foo"/> > > <section> > > > > The <target> element specifies an identifier for the next element, > > i.e., <section>. So I want something like > > > > <section id="foo"> > > > > in the HTML output. I am unable to figure out an XSLT way to attach an > > attribute to the next element while processing <target>. Would > > appreciate any help. > > > > Thanks and regards, > > Raghavendra.