VirtualBox

source: vbox/trunk/doc/manual/docbook-refentry-to-manpage-preprocessing.xsl

Last change on this file was 98103, checked in by vboxsync, 16 months ago

Copyright year updates by scm.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.9 KB
Line 
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.
7-->
8<!--
9 Copyright (C) 2006-2023 Oracle and/or its affiliates.
10
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
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.
56Only 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
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
88</xsl:stylesheet>
89
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use