Re: [xsl] Add id to next element

Subject: Re: [xsl] Add id to next element
From: "Kevin Brown kevin.brown@xxxxxxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 20 May 2022 03:42:14 -0000
Unless you need other things in the match of section (and not a straight
copy).
And assuming you are not processing data that would have:

<target refid="foo"/>
<section>....</section>
<target refid="bar"/>
<section>....</section>

Then I am not sure here:

<xsl:attribute name="id" select="preceding-sibling::target/@refid"/>


-----Original Message-----
From: Raghavendra Nyshadham nyraghu27132@xxxxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Thursday, May 19, 2022 8:08 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] Add id to next element

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.

Current Thread