public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Ulrich Müller" <ulm@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/devmanual:master commit in: /
Date: Thu,  2 Nov 2023 17:08:03 +0000 (UTC)	[thread overview]
Message-ID: <1698944652.bcca132de057cf520806200b1bcb925b955b0966.ulm@gentoo> (raw)

commit:     bcca132de057cf520806200b1bcb925b955b0966
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 31 20:24:06 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Nov  2 17:04:12 2023 +0000
URL:        https://gitweb.gentoo.org/proj/devmanual.git/commit/?id=bcca132d

devbook.xsl: Fix links created by contentsTree extraction

If the element that is extracted from the external document contains
internal references, these links would be relative to the wrong start
location, namely the one defined in that document. Therefore, define
our own copy of /guide/@self (pointing to the location of the target
document), and rebase the tree onto it.

This fixes the intra-document links in appendices/todo-list/.

Closes: https://bugs.gentoo.org/916523
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 devbook.xsl | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/devbook.xsl b/devbook.xsl
index fe9c496..626b97d 100644
--- a/devbook.xsl
+++ b/devbook.xsl
@@ -431,6 +431,7 @@
       </xsl:call-template>
     </xsl:if>
   </xsl:param>
+  <xsl:param name="orig_self" select="/guide/@self"/>
   <xsl:param name="extraction" select="@extraction"/>
   <xsl:param name="extraction_counting"/>
 
@@ -446,6 +447,7 @@
               <xsl:with-param name="maxdepth" select="$maxdepth"/>
               <xsl:with-param name="path" select="concat($path, @href)"/>
               <xsl:with-param name="path_rel" select="concat($path_rel, @href)"/>
+              <xsl:with-param name="orig_self" select="$orig_self"/>
               <xsl:with-param name="extraction" select="$extraction"/>
               <xsl:with-param name="extraction_counting" select="1"/>
             </xsl:call-template>
@@ -461,6 +463,7 @@
                 <xsl:with-param name="maxdepth" select="$maxdepth"/>
                 <xsl:with-param name="path" select="concat($path, @href)"/>
                 <xsl:with-param name="path_rel" select="concat($path_rel, @href)"/>
+                <xsl:with-param name="orig_self" select="$orig_self"/>
                 <xsl:with-param name="extraction" select="$extraction"/>
                 <xsl:with-param name="extraction_counting" select="1"/>
               </xsl:call-template>
@@ -474,10 +477,18 @@
                   <xsl:value-of select="document(concat($path, @href, 'text.xml'))/guide/chapter[1]/title"/>
                 </a>
                 <xsl:if test="$extraction != ''">
+                  <!-- If the extracted element from the other document contains
+                       any internal references, relative links would be based on
+                       the wrong start location. So we must replace /guide/@self
+                       by our own copy. Bug #916523. -->
+                  <xsl:variable name="document_tree">
+                    <guide self="{$orig_self}">
+                      <xsl:copy-of select="document(concat($path, @href, 'text.xml'))/guide/*"/>
+                    </guide>
+                  </xsl:variable>
                   <ul>
-                    <xsl:for-each select="document(concat($path, @href, 'text.xml'))//*[name()=$extraction]">
-                      <xsl:variable name="extraction_id" select="position()"/>
-                      <li><xsl:apply-templates select="(//*[name()=$extraction])[position()=$extraction_id]"/></li>
+                    <xsl:for-each select="exslt:node-set($document_tree)//*[name()=$extraction]">
+                      <li><xsl:apply-templates select="."/></li>
                     </xsl:for-each>
                   </ul>
                 </xsl:if>
@@ -486,6 +497,7 @@
                   <xsl:with-param name="maxdepth" select="$maxdepth"/>
                   <xsl:with-param name="path" select="concat($path, @href)"/>
                   <xsl:with-param name="path_rel" select="concat($path_rel, @href)"/>
+                  <xsl:with-param name="orig_self" select="$orig_self"/>
                   <xsl:with-param name="extraction" select="$extraction"/>
                 </xsl:call-template>
               </li>


             reply	other threads:[~2023-11-02 17:08 UTC|newest]

Thread overview: 214+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-02 17:08 Ulrich Müller [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-01-06 21:39 [gentoo-commits] proj/devmanual:master commit in: / Ulrich Müller
2024-11-12 18:51 Ulrich Müller
2024-11-09  6:58 Ulrich Müller
2024-11-06 20:00 Ulrich Müller
2024-11-05 22:13 Ulrich Müller
2024-11-01 20:01 Ulrich Müller
2024-11-01 17:27 Ulrich Müller
2024-11-01 11:20 Ulrich Müller
2024-11-01 11:20 Ulrich Müller
2024-10-31 18:59 Ulrich Müller
2024-10-31 11:08 Ulrich Müller
2024-10-31 11:08 Ulrich Müller
2024-10-28 16:19 Ulrich Müller
2024-10-27  7:55 Ulrich Müller
2024-07-30 14:30 Ulrich Müller
2024-06-11 16:24 Ulrich Müller
2024-06-10 15:41 Ulrich Müller
2024-05-08  6:43 Ulrich Müller
2024-04-22 18:19 Ulrich Müller
2024-03-23  7:10 Ulrich Müller
2024-01-28 17:40 Ulrich Müller
2023-11-23 17:24 Ulrich Müller
2023-11-05 16:44 Ulrich Müller
2023-11-02 17:06 Ulrich Müller
2023-11-02 17:06 Ulrich Müller
2023-10-31 20:03 Ulrich Müller
2023-10-31 20:03 Ulrich Müller
2023-10-31 20:03 Ulrich Müller
2023-10-31 20:03 Ulrich Müller
2023-10-31 20:03 Ulrich Müller
2023-10-22 11:44 Ulrich Müller
2023-10-22 11:44 Ulrich Müller
2023-10-05 20:43 Ulrich Müller
2022-06-24 10:51 Ulrich Müller
2022-06-22 14:35 Ulrich Müller
2022-06-17  8:00 Ulrich Müller
2022-06-10 17:20 Ulrich Müller
2022-01-24 18:16 Ulrich Müller
2022-01-19 11:30 Ulrich Müller
2022-01-16 21:52 Ulrich Müller
2021-10-11 10:53 Ulrich Müller
2021-10-10 10:34 Ulrich Müller
2021-10-10 10:34 Ulrich Müller
2021-09-08 17:52 Ulrich Müller
2021-09-08 17:52 Ulrich Müller
2021-07-14 12:27 Ulrich Müller
2021-03-10 19:51 Ulrich Müller
2021-03-10 19:51 Ulrich Müller
2021-03-10 19:51 Ulrich Müller
2021-03-10 19:51 Ulrich Müller
2021-03-10 19:51 Ulrich Müller
2021-03-10 18:39 Ulrich Müller
2021-03-07 17:40 Ulrich Müller
2021-03-03 19:08 Ulrich Müller
2021-02-27 15:47 Ulrich Müller
2021-02-25 23:49 Ulrich Müller
2021-02-25 19:30 Ulrich Müller
2021-02-25 19:30 Ulrich Müller
2021-02-24 19:36 Ulrich Müller
2021-02-06 10:39 Ulrich Müller
2021-01-25 10:34 Ulrich Müller
2021-01-18 12:17 Ulrich Müller
2021-01-17 22:09 Ulrich Müller
2020-08-28 17:46 Ulrich Müller
2020-03-06 16:30 Ulrich Müller
2020-03-03  8:30 Ulrich Müller
2020-03-03  8:18 Ulrich Müller
2020-03-02 10:23 Ulrich Müller
2020-03-02 10:23 Ulrich Müller
2020-02-28  7:20 Ulrich Müller
2020-02-28  7:20 Ulrich Müller
2020-02-28  7:17 Ulrich Müller
2020-02-28  7:15 Ulrich Müller
2020-02-28  7:15 Ulrich Müller
2020-02-28  7:15 Ulrich Müller
2020-02-26 20:41 Ulrich Müller
2020-02-26 20:41 Ulrich Müller
2020-02-26 18:59 Ulrich Müller
2020-02-26 18:53 Ulrich Müller
2020-02-26 18:53 Ulrich Müller
2020-02-26 18:53 Ulrich Müller
2020-02-16 13:16 Ulrich Müller
2020-02-11 11:30 Ulrich Müller
2020-02-10 17:31 Ulrich Müller
2020-02-07 14:01 Ulrich Müller
2020-02-07  5:34 Ulrich Müller
2020-02-06 20:53 Ulrich Müller
2020-02-03 10:06 Ulrich Müller
2020-02-03  0:07 Ulrich Müller
2020-02-03  0:07 Ulrich Müller
2020-02-03  0:07 Ulrich Müller
2020-01-30 13:45 Brian Evans
2020-01-27 20:44 Ulrich Müller
2020-01-27 19:58 Ulrich Müller
2020-01-27 19:58 Ulrich Müller
2020-01-22 18:24 Ulrich Müller
2020-01-21 21:53 Ulrich Müller
2020-01-16 18:53 Ulrich Müller
2020-01-15  7:06 Ulrich Müller
2020-01-14  8:15 Ulrich Müller
2020-01-12  9:23 Ulrich Müller
2020-01-09  7:34 Ulrich Müller
2020-01-09  7:34 Ulrich Müller
2020-01-02 13:38 Ulrich Müller
2020-01-02 12:54 Ulrich Müller
2020-01-02 12:54 Ulrich Müller
2020-01-02 12:54 Ulrich Müller
2019-12-26 21:36 Ulrich Müller
2019-12-26 20:33 Ulrich Müller
2019-12-26 17:06 Ulrich Müller
2019-12-26 16:47 Ulrich Müller
2019-12-21  5:19 Ulrich Müller
2019-12-19 21:02 Göktürk Yüksek
2019-12-19 21:02 Göktürk Yüksek
2019-12-19 21:02 Göktürk Yüksek
2019-12-19 21:02 Göktürk Yüksek
2019-12-19 21:02 Göktürk Yüksek
2019-12-19 21:02 Göktürk Yüksek
2019-12-19 21:02 Göktürk Yüksek
2019-12-19 21:02 Göktürk Yüksek
2019-12-19 21:02 Göktürk Yüksek
2019-12-19 21:02 Göktürk Yüksek
2019-12-14 10:46 Ulrich Müller
2019-12-10  8:47 Ulrich Müller
2019-12-10  8:47 Ulrich Müller
2019-12-07 22:05 Ulrich Müller
2019-11-26  3:05 Göktürk Yüksek
2019-03-22 18:51 Brian Evans
2019-03-22 18:51 Brian Evans
2019-03-19 19:02 Brian Evans
2019-03-19 17:11 Brian Evans
2018-01-03  5:57 [gentoo-commits] proj/devmanual:codesample-indent-fix " Göktürk Yüksek
2018-01-03 21:59 ` [gentoo-commits] proj/devmanual:master " Göktürk Yüksek
2017-02-05 22:41 Ulrich Müller
2016-10-31  1:21 Göktürk Yüksek
2016-10-28 17:15 Ulrich Müller
2016-10-06 22:09 Mike Gilbert
2016-06-15 18:46 Ulrich Müller
2016-05-15 11:48 Ulrich Müller
2016-05-15 11:48 Ulrich Müller
2016-04-02  8:54 Ulrich Müller
2016-02-05  8:41 Ulrich Müller
2016-01-01 21:59 NP Hardass
2015-09-05 15:48 Markos Chandras
2015-08-27  6:50 Justin Lecher
2015-08-21  6:36 Justin Lecher
2015-08-21  6:36 Justin Lecher
2015-08-20  7:06 Justin Lecher
2015-08-20  7:04 Justin Lecher
2015-08-18 11:47 Justin Lecher
2015-08-09 12:39 Justin Lecher
2015-08-09 12:39 Justin Lecher
2015-08-09  9:30 Justin Lecher
2015-08-09  9:30 Justin Lecher
2015-07-22  1:15 Jorge Manuel B. S. Vicetto
2015-06-17 12:05 Ulrich Müller
2015-06-01 18:41 Ulrich Müller
2015-06-01 15:38 Ulrich Müller
2015-05-31 10:45 Markus Meier
2015-05-31 10:45 Markus Meier
2015-03-30 18:21 Markos Chandras
2015-03-11 18:26 Markos Chandras
2015-02-15  9:54 Markos Chandras
2015-01-17  9:07 Markos Chandras
2014-11-14 18:07 Markos Chandras
2014-11-14 18:07 Markos Chandras
2014-11-14 18:07 Markos Chandras
2014-11-08 12:27 Markos Chandras
2014-11-08 12:27 Markos Chandras
2014-11-08 12:27 Markos Chandras
2014-11-08 12:27 Markos Chandras
2014-11-08 12:27 Markos Chandras
2014-11-08 12:27 Markos Chandras
2014-11-08 12:27 Markos Chandras
2014-11-08 12:27 Markos Chandras
2014-11-08 12:27 Markos Chandras
2014-11-08 12:27 Markos Chandras
2014-11-08 12:27 Markos Chandras
2014-11-08 12:27 Markos Chandras
2014-11-08 12:27 Markos Chandras
2014-11-08 12:27 Markos Chandras
2014-11-08 12:27 Markos Chandras
2014-11-08 12:27 Markos Chandras
2014-10-18 17:36 Markos Chandras
2014-10-18 17:36 Markos Chandras
2014-10-18 17:36 Markos Chandras
2014-10-18 17:35 Markos Chandras
2014-07-24 18:06 ` Markos Chandras
2014-10-18 17:35 Markos Chandras
2014-07-24 18:06 ` Markos Chandras
2014-10-18 17:35 Markos Chandras
2014-07-24 18:06 ` Markos Chandras
2014-07-24 18:06 Markos Chandras
2014-10-18 17:35 ` Markos Chandras
2014-03-16 10:24 Markos Chandras
2014-03-16 10:24 Markos Chandras
2014-03-16 10:24 Markos Chandras
2014-03-08 14:53 Markos Chandras
2014-01-05 12:35 Markos Chandras
2014-01-04 11:23 Markos Chandras
2014-01-03 18:32 Markos Chandras
2013-09-26  7:41 Markos Chandras
2013-09-21 12:23 Markos Chandras
2013-09-21 12:23 Markos Chandras
2013-07-25  8:28 Justin Lecher
2013-05-19  8:38 Markos Chandras
2013-05-15 12:57 Dirkjan Ochtman
2013-05-12 19:25 Markos Chandras
2013-05-12 15:06 Markos Chandras
2013-05-11 19:02 Markos Chandras
2012-10-12 17:44 Ulrich Mueller
2012-08-08 19:23 Markos Chandras
2012-03-18  0:16 Markos Chandras
2011-12-20 12:39 Torsten Veller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1698944652.bcca132de057cf520806200b1bcb925b955b0966.ulm@gentoo \
    --to=ulm@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox