guix/gnu/packages/aux-files/xml/patch-catalog-xml.xsl
Bruno Victal e9ba6d2c47
gnu: docbook-xml: Use XSLT to patch catalog.xml.
(sxml transforms) are unsuited here due to guile-bug #20339.

* gnu/packages/aux-files/xml/patch-catalog-xml.xsl: New file.
* Makefile.am: Register it.
* gnu/packages/docbook.scm (docbook-xml-5)[native-inputs]: Add libxslt.
[arguments]: Add phase to patch catalog.xml using XSLT.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-04-21 00:44:00 -04:00

25 lines
728 B
XML

<?xml version="1.0" encoding="UTF-8"?>
<!--
SPDX-FileCopyrightText: 2023 Bruno Victal <mirai@makinata.eu>
SPDX-License-Identifier: ISC
Fix uri attributes to point to paths in the store.
-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml"/>
<xsl:param name="prefix">/</xsl:param>
<!-- begin identity transform -->
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<!-- end identity transform -->
<xsl:template match="@uri">
<xsl:attribute name="uri">
<xsl:value-of select="concat('file://', $prefix, '/', .)"/>
</xsl:attribute>
</xsl:template>
</xsl:stylesheet>