[56534] | 1 | <?xml version="1.0"?>
|
---|
| 2 | <!--
|
---|
| 3 | docbook-refentry-to-manpage-preprocessing.xsl:
|
---|
| 4 | XSLT stylesheet preprocessing remarks elements before
|
---|
| 5 | turning a refentry (manpage) into a unix manual page and
|
---|
| 6 | VBoxManage built-in help.
|
---|
[96300] | 7 | -->
|
---|
| 8 | <!--
|
---|
[98103] | 9 | Copyright (C) 2006-2023 Oracle and/or its affiliates.
|
---|
[56534] | 10 |
|
---|
[96407] | 11 | This file is part of VirtualBox base platform packages, as
|
---|
| 12 | available from https://www.virtualbox.org.
|
---|
| 13 |
|
---|
| 14 | This program is free software; you can redistribute it and/or
|
---|
| 15 | modify it under the terms of the GNU General Public License
|
---|
| 16 | as published by the Free Software Foundation, in version 3 of the
|
---|
| 17 | License.
|
---|
| 18 |
|
---|
| 19 | This program is distributed in the hope that it will be useful, but
|
---|
| 20 | WITHOUT ANY WARRANTY; without even the implied warranty of
|
---|
| 21 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
---|
| 22 | General Public License for more details.
|
---|
| 23 |
|
---|
| 24 | You should have received a copy of the GNU General Public License
|
---|
| 25 | along with this program; if not, see <https://www.gnu.org/licenses>.
|
---|
| 26 |
|
---|
| 27 | SPDX-License-Identifier: GPL-3.0-only
|
---|
[56534] | 28 | -->
|
---|
| 29 |
|
---|
| 30 | <xsl:stylesheet
|
---|
| 31 | version="1.0"
|
---|
| 32 | xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
---|
| 33 | xmlns:str="http://xsltsl.org/string"
|
---|
| 34 | >
|
---|
| 35 |
|
---|
| 36 | <xsl:output method="xml" version="1.0" encoding="utf-8" indent="no"/>
|
---|
| 37 |
|
---|
| 38 | <!--
|
---|
| 39 | The default action is to copy everything.
|
---|
| 40 | -->
|
---|
| 41 | <xsl:template match="node()|@*">
|
---|
| 42 | <xsl:copy>
|
---|
| 43 | <xsl:apply-templates select="node()|@*"/>
|
---|
| 44 | </xsl:copy>
|
---|
| 45 | </xsl:template>
|
---|
| 46 |
|
---|
| 47 | <!--
|
---|
| 48 | Execute synopsis copy remark (avoids duplication for complicated xml).
|
---|
| 49 | We strip the attributes off it.
|
---|
| 50 | -->
|
---|
| 51 | <xsl:template match="remark[@role = 'help-copy-synopsis']">
|
---|
| 52 | <xsl:choose>
|
---|
| 53 | <xsl:when test="parent::refsect2"/>
|
---|
| 54 | <xsl:otherwise>
|
---|
| 55 | <xsl:message terminate="yes">Misplaced remark/@role=help-copy-synopsis element.
|
---|
| 56 | Only supported on: refsect2</xsl:message>
|
---|
| 57 | </xsl:otherwise>
|
---|
| 58 | </xsl:choose>
|
---|
| 59 | <xsl:variable name="sSrcId">
|
---|
| 60 | <xsl:choose>
|
---|
| 61 | <xsl:when test="@condition"><xsl:value-of select="concat('synopsis-', @condition)"/></xsl:when>
|
---|
| 62 | <xsl:otherwise><xsl:value-of select="concat('synopsis-', ../@id)"/></xsl:otherwise>
|
---|
| 63 | </xsl:choose>
|
---|
| 64 | </xsl:variable>
|
---|
| 65 | <xsl:variable name="CmdSynopsis" select="/refentry/refsynopsisdiv/cmdsynopsis[@id = $sSrcId]"/>
|
---|
| 66 | <xsl:if test="not($CmdSynopsis)">
|
---|
| 67 | <xsl:message terminate="yes">Could not find any cmdsynopsis with id=<xsl:value-of select="$sSrcId"/> in refsynopsisdiv.</xsl:message>
|
---|
| 68 | </xsl:if>
|
---|
| 69 |
|
---|
| 70 | <xsl:element name="cmdsynopsis">
|
---|
| 71 | <xsl:apply-templates select="$CmdSynopsis/node()"/>
|
---|
| 72 | </xsl:element>
|
---|
| 73 |
|
---|
| 74 | </xsl:template>
|
---|
| 75 |
|
---|
| 76 | <!--
|
---|
| 77 | Remove bits only intended for the manual.
|
---|
| 78 | -->
|
---|
| 79 | <xsl:template match="remark[@role='help-manual']"/>
|
---|
| 80 |
|
---|
[77789] | 81 | <!--
|
---|
| 82 | Remove remarks without a role.
|
---|
| 83 | These are used for leaving questions and such while working with the documentation team.
|
---|
| 84 | -->
|
---|
| 85 | <xsl:template match="remark[not(@role)]"/>
|
---|
| 86 |
|
---|
| 87 |
|
---|
[56534] | 88 | </xsl:stylesheet>
|
---|
| 89 |
|
---|