VirtualBox

source: vbox/trunk/doc/manual/refsect2_replace.xsl@ 98671

Last change on this file since 98671 was 98671, checked in by vboxsync, 15 months ago

Docs: bugref:10302. Add an template to xslt proprocessing to mark xref as external when they point to some external URL.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.5 KB
Line 
1<!--
2 refsect2_replace.xsl:
3 - Replaces refsect2 elements with corresponding refsect1. It looks
4 like dita does not like nested refsect sections. So we flat them out.
5 - When href attribute of a xref element has http in its value
6 then add scope="external" attribute to that element. This attribute
7 tells dita pdf output java stuff not to retrieve and parse those documents.
8-->
9<!--
10 Copyright (C) 2006-2023 Oracle and/or its affiliates.
11
12 This file is part of VirtualBox base platform packages, as
13 available from https://www.virtualbox.org.
14
15 This program is free software; you can redistribute it and/or
16 modify it under the terms of the GNU General Public License
17 as published by the Free Software Foundation, in version 3 of the
18 License.
19
20 This program is distributed in the hope that it will be useful, but
21 WITHOUT ANY WARRANTY; without even the implied warranty of
22 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
23 General Public License for more details.
24
25 You should have received a copy of the GNU General Public License
26 along with this program; if not, see <https://www.gnu.org/licenses>.
27
28 SPDX-License-Identifier: GPL-3.0-only
29-->
30<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
31 <xsl:output encoding="UTF-8" method="xml" omit-xml-declaration="no" indent="yes" />
32 <xsl:output doctype-system="http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" doctype-public="-//OASIS//DTD DocBook XML V4.5//EN"/>
33
34 <xsl:template match="refsect2">
35 <xsl:element name="refsect1">
36 <xsl:for-each select="@*">
37 <xsl:attribute name="{name()}">
38 <xsl:value-of select="." />
39 </xsl:attribute>
40 </xsl:for-each>
41 <xsl:copy-of select="node()"/>
42 </xsl:element>
43 </xsl:template>
44
45 <xsl:template match="node()|@*">
46 <xsl:copy>
47 <xsl:apply-templates select="node()|@*"/>
48 </xsl:copy>
49 </xsl:template>
50
51
52 <xsl:template match="xref">
53 <xsl:choose>
54 <xsl:when test="contains(@href, 'http')">
55 <xsl:copy>
56 <xsl:attribute name="scope">external</xsl:attribute>
57 <xsl:apply-templates select="@*|node()"/>
58 </xsl:copy>
59 </xsl:when>
60 <xsl:otherwise>
61 <xsl:copy-of select="."/>
62 </xsl:otherwise>
63 </xsl:choose>
64 </xsl:template>
65</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use