Or worse this:
<target refid="foo"/>
<section>....</section>
<section>....</section>
<section>....</section>
<target refid="bar"/>
<section>....</section>
<section>....</section>
Translation ... I really think you need to bound your question with all
possible inputs and outputs if you want a real answer.
-----Original Message-----
From: Kevin Brown <kevin(_dot_)brown(_at_)xportability(_dot_)com>
Sent: Thursday, May 19, 2022 8:42 PM
To: 'xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com'
<xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Subject: RE: [xsl] Add id to next element
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(_at_)gmail(_dot_)com
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com>
Sent: Thursday, May 19, 2022 8:08 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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(_at_)saxonica(_dot_)com
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> 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(_at_)gmail(_dot_)com
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> 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.
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--