VirtualBox

source: vbox/trunk/doc/manual/docbook-refentry-to-manual-sect1.xsl@ 56466

Last change on this file since 56466 was 56466, checked in by vboxsync, 10 years ago

debugvm manpage, refsect2 titles, bunch of other hacking.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.5 KB
Line 
1<?xml version="1.0"?>
2<!--
3 docbook-refentry-to-manual-sect1.xsl:
4 XSLT stylesheet for transforming a refentry (manpage)
5 to a sect1 for the user manual.
6
7 Copyright (C) 2006-2015 Oracle Corporation
8
9 This file is part of VirtualBox Open Source Edition (OSE), as
10 available from http://www.virtualbox.org. This file is free software;
11 you can redistribute it and/or modify it under the terms of the GNU
12 General Public License (GPL) as published by the Free Software
13 Foundation, in version 2 as it comes in the "COPYING" file of the
14 VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15 hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16-->
17
18<xsl:stylesheet
19 version="1.0"
20 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
21 xmlns:str="http://xsltsl.org/string"
22 >
23
24 <xsl:import href="string.xsl"/>
25
26 <xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes"/>
27 <xsl:strip-space elements="*"/>
28
29
30<!-- - - - - - - - - - - - - - - - - - - - - - -
31 global XSLT variables
32 - - - - - - - - - - - - - - - - - - - - - - -->
33
34
35
36<!-- - - - - - - - - - - - - - - - - - - - - - -
37 base operation is to copy.
38 - - - - - - - - - - - - - - - - - - - - - - -->
39
40<xsl:template match="node()|@*">
41 <xsl:copy>
42 <xsl:apply-templates select="node()|@*"/>
43 </xsl:copy>
44</xsl:template>
45
46
47<!-- - - - - - - - - - - - - - - - - - - - - - -
48
49 - - - - - - - - - - - - - - - - - - - - - - -->
50
51<!-- rename refentry to sect1 -->
52<xsl:template match="refentry">
53 <sect1>
54 <xsl:apply-templates select="node()|@*"/>
55 </sect1>
56</xsl:template>
57
58<!-- TODO: refsect1 -> sect2 or something... -->
59
60<!-- Remove refentryinfo, keeping the title element. -->
61<xsl:template match="refentryinfo">
62 <xsl:if test="./title">
63 <xsl:copy-of select="./title"/>
64 </xsl:if>
65</xsl:template>
66
67<!-- Morph refnamediv into a brief description. -->
68<xsl:template match="refnamediv">
69 <para>
70 <xsl:call-template name="capitalize">
71 <xsl:with-param name="text" select="normalize-space(./refpurpose)"/>
72 </xsl:call-template>
73 <xsl:text>.</xsl:text>
74 </para>
75</xsl:template>
76
77<!-- Remove refmeta. -->
78<xsl:template match="refmeta"/>
79
80<!--
81 remark extensions:
82 -->
83<!-- Default: remove all remarks. -->
84<xsl:template match="remark"/>
85
86<!-- help-manual - stuff that should only be included in the manual. -->
87<xsl:template match="remark[@role = 'help-manual']">
88 <xsl:apply-templates/>
89</xsl:template>
90
91<!-- help-copy-synopsis - used in refsect2 to copy synopsis from the refsynopsisdiv. -->
92<xsl:template match="remark[@role = 'help-copy-synopsis']">
93 <xsl:if test="not(parent::refsect2)">
94 <xsl:message terminate="yes">The help-copy-synopsis remark is only applicable in refsect2.</xsl:message>
95 </xsl:if>
96 <xsl:variable name="sSrcId" select="concat('synopsis-',../@id)"/>
97 <xsl:if test="not(/refentry/refsynopsisdiv/cmdsynopsis[@id = $sSrcId])">
98 <xsl:message terminate="yes">Could not find any cmdsynopsis with id=<xsl:value-of select="$sSrcId"/> in refsynopsisdiv.</xsl:message>
99 </xsl:if>
100 <xsl:element name="cmdsynopsis">
101 <xsl:copy-of select="/refentry/refsynopsisdiv/cmdsynopsis[@id = $sSrcId]/node()"/>
102 </xsl:element>
103</xsl:template>
104
105<!--
106 Captializes the given text.
107 -->
108<xsl:template name="capitalize">
109 <xsl:param name="text"/>
110 <xsl:call-template name="str:to-upper">
111 <xsl:with-param name="text" select="substring($text,1,1)"/>
112 </xsl:call-template>
113 <xsl:value-of select="substring($text,2)"/>
114</xsl:template>
115
116</xsl:stylesheet>
117
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette