mirror of https://github.com/apache/jmeter.git
697 lines
22 KiB
XML
697 lines
22 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
~ Licensed to the Apache Software Foundation (ASF) under one or more
|
|
~ contributor license agreements. See the NOTICE file distributed with
|
|
~ this work for additional information regarding copyright ownership.
|
|
~ The ASF licenses this file to you under the Apache License, Version 2.0
|
|
~ (the "License"); you may not use this file except in compliance with
|
|
~ the License. You may obtain a copy of the License at
|
|
~
|
|
~ http://www.apache.org/licenses/LICENSE-2.0
|
|
~
|
|
~ Unless required by applicable law or agreed to in writing, software
|
|
~ distributed under the License is distributed on an "AS IS" BASIS,
|
|
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
~ See the License for the specific language governing permissions and
|
|
~ limitations under the License.
|
|
-->
|
|
|
|
<!-- Content Stylesheet for "jmeter-site" -->
|
|
|
|
<!DOCTYPE xsl:stylesheet [
|
|
<!ENTITY copy "©">
|
|
<!ENTITY nbsp " ">
|
|
<!ENTITY ndash "–">
|
|
<!ENTITY para "¶">
|
|
<!ENTITY rarr "→">
|
|
<!ENTITY trade "™">
|
|
]>
|
|
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
|
version="3.0"
|
|
>
|
|
|
|
<!-- Defined parameters (overrideable) -->
|
|
<xsl:param name="relative-path" select="'.'" />
|
|
<xsl:param name="subdir" select="''" />
|
|
<xsl:param name="imgdir" select="concat($relative-path, '/images')" />
|
|
<xsl:param name="sshotdir" select="concat($imgdir, '/screenshots')" />
|
|
<xsl:param name="cssdir" select="concat($relative-path, '/css')" />
|
|
<xsl:param name="apidir" select="concat($relative-path, '/api')" />
|
|
<xsl:param name="jakarta-site" select="'https://jakarta.apache.org'" />
|
|
<xsl:param name="year" select="'2024'" />
|
|
<xsl:param name="max-img-width" select="'600'" />
|
|
|
|
<!-- Output method -->
|
|
<xsl:output method="html" html-version="5.0" encoding="iso-8859-15"
|
|
indent="yes" doctype-system="about:legacy-compat" />
|
|
|
|
<xsl:template match="document">
|
|
<xsl:variable name="project" select="document('project.xml')/project" />
|
|
<html lang="en">
|
|
<head>
|
|
<title>
|
|
<xsl:value-of select="$project/title" />
|
|
-
|
|
<xsl:value-of select="properties/title" />
|
|
</title>
|
|
<xsl:for-each select="properties/author">
|
|
<xsl:variable name="name">
|
|
<xsl:value-of select="." />
|
|
</xsl:variable>
|
|
<xsl:variable name="email">
|
|
<xsl:value-of select="@email" />
|
|
</xsl:variable>
|
|
<meta name="author" value="{$name}" />
|
|
<meta name="email" value="{$email}" />
|
|
</xsl:for-each>
|
|
<!-- VIEWPORT -->
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<link
|
|
href='https://fonts.googleapis.com/css?family=Merriweather:400normal'
|
|
rel='stylesheet' type='text/css'
|
|
></link>
|
|
<link
|
|
href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.1/css/font-awesome.min.css"
|
|
rel="stylesheet" type='text/css'
|
|
></link>
|
|
<link rel="stylesheet" type="text/css"
|
|
href="{concat($cssdir, '/new-style.css')}"
|
|
></link>
|
|
<link rel="apple-touch-icon-precomposed" href="{$imgdir}/apple-touch-icon.png"></link>
|
|
<link rel="icon" href="{$imgdir}/favicon.png"></link>
|
|
<meta name="msapplication-TileColor" content="#ffffff" />
|
|
<meta name="msapplication-TileImage" content="{$imgdir}/mstile-144x144.png" />
|
|
<meta name="theme-color" content="#ffffff" />
|
|
</head>
|
|
<body role="document">
|
|
<a href="#content" class="hidden" >Main content</a>
|
|
<div class="header">
|
|
<xsl:comment>
|
|
APACHE LOGO
|
|
</xsl:comment>
|
|
<div>
|
|
<a href="https://www.apache.org">
|
|
<img title="Apache Software Foundation" class="asf-logo logo"
|
|
src="{$imgdir}/asf-logo.svg" alt="Logo ASF" />
|
|
</a>
|
|
</div>
|
|
<xsl:if test="$project/logo">
|
|
<xsl:variable name="alt">
|
|
<xsl:value-of select="$project/logo" />
|
|
</xsl:variable>
|
|
<xsl:variable name="home">
|
|
<xsl:value-of select="$project/@href" />
|
|
</xsl:variable>
|
|
<xsl:variable name="src">
|
|
<xsl:value-of
|
|
select="concat($relative-path, $project/logo/@href)" />
|
|
</xsl:variable>
|
|
<xsl:comment>
|
|
PROJECT LOGO
|
|
</xsl:comment>
|
|
<div>
|
|
<a href="{$home}">
|
|
<img class="logo" src="{$src}" alt="{$alt}"/>
|
|
</a>
|
|
</div>
|
|
</xsl:if>
|
|
<div class="banner">
|
|
<a href="https://www.apache.org/events/current-event.html">
|
|
<img src="https://www.apache.org/events/current-event-234x60.png" alt="Current Apache event teaser" />
|
|
</a>
|
|
<div class="clear"></div>
|
|
</div>
|
|
</div>
|
|
<div class="nav">
|
|
<xsl:apply-templates select="$project/body/menu" />
|
|
</div>
|
|
<div class="main" id="content">
|
|
<xsl:call-template name="social-media-links" />
|
|
<xsl:call-template name="pagelinks" />
|
|
<xsl:if test="@index">
|
|
<xsl:call-template name="section-index" />
|
|
</xsl:if>
|
|
<xsl:apply-templates select="body/section"></xsl:apply-templates>
|
|
<xsl:call-template name="pagelinks" />
|
|
<xsl:call-template name="share-links" />
|
|
<a href="#top" id="topButton">Go to top</a>
|
|
</div>
|
|
<div class="footer">
|
|
<div class="copyright">
|
|
Copyright ©
|
|
1999 –
|
|
<xsl:value-of select="$year" />
|
|
, Apache Software Foundation
|
|
</div>
|
|
<div class="trademarks">Apache, Apache JMeter, JMeter, the Apache
|
|
feather, and the Apache JMeter logo are
|
|
trademarks of the
|
|
Apache Software Foundation.
|
|
</div>
|
|
</div>
|
|
<script><![CDATA[(function(){
|
|
"use strict";
|
|
// enable 'go to top' button functionality
|
|
document.addEventListener('scroll', function() {
|
|
if (document.body.scrollTop > 500 || document.documentElement.scrollTop > 500) {
|
|
document.getElementById("topButton").style.display = "block";
|
|
} else {
|
|
document.getElementById("topButton").style.display = "none";
|
|
}
|
|
});
|
|
// fill in the current location into social links on this page.
|
|
var as = document.getElementsByTagName('a');
|
|
var loc = document.location.href;
|
|
if (!loc.toLowerCase().startsWith('http')) {
|
|
return;
|
|
}
|
|
for (var i=0; i<as.length; i++) {
|
|
var href = as[i].getAttribute('data-social-url');
|
|
if (href !== null) {
|
|
as[i].href = href + encodeURIComponent(loc);
|
|
}
|
|
}
|
|
})();]]></script>
|
|
</body>
|
|
</html>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="social-media-links">
|
|
<div class="social-media">
|
|
<ul class="social-media-links">
|
|
<li class="twitter"><a href="https://twitter.com/ApacheJMeter" title="Follow us on Twitter"><i class="fa fa-twitter" aria-hidden="true"></i>Twitter</a></li>
|
|
<li class="github"><a href="https://github.com/apache/jmeter" title="Fork us on github"><i class="fa fa-github" aria-hidden="true"></i>github</a></li>
|
|
</ul>
|
|
</div>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="share-links">
|
|
<div class="share-links">
|
|
Share this page:
|
|
<ul>
|
|
<li class="fb"><a data-social-url="https://facebook.com/sharer/sharer.php?u=" title="Share on facebook"><i class="fa fa-facebook" aria-hidden="true"></i>share</a></li>
|
|
<li class="twitter"><a data-social-url="https://twitter.com/intent/tweet?url=" title="Tweet on twitter"><i class="fa fa-twitter" aria-hidden="true"></i>tweet</a></li>
|
|
</ul>
|
|
</div>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="pagelinks">
|
|
<xsl:if test="@prev or @next">
|
|
<ul class="pagelinks">
|
|
<xsl:if test="@prev">
|
|
<li>
|
|
<a href="{@prev}">< Prev</a>
|
|
</li>
|
|
</xsl:if>
|
|
<li>
|
|
<a href="{concat($relative-path, '/index.html')}">Index</a>
|
|
</li>
|
|
<xsl:if test="@next">
|
|
<li>
|
|
<a href="{@next}">Next ></a>
|
|
</li>
|
|
</xsl:if>
|
|
</ul>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="section-index">
|
|
<ul class="section-index">
|
|
<xsl:for-each select="body/section">
|
|
<li>
|
|
<a href="#{@anchor}">
|
|
<xsl:value-of select="@name" />
|
|
</a>
|
|
<ul>
|
|
<xsl:for-each select="component">
|
|
<li>
|
|
<a href="#{translate(normalize-space(@name), ' ', '_')}">
|
|
<xsl:value-of select="@name" />
|
|
<xsl:if test="@was">
|
|
(was:
|
|
<xsl:value-of select="@was" />
|
|
)
|
|
</xsl:if>
|
|
</a>
|
|
</li>
|
|
</xsl:for-each>
|
|
</ul>
|
|
</li>
|
|
</xsl:for-each>
|
|
</ul>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="image">
|
|
<xsl:param name="srcdir" />
|
|
<xsl:param name="image" />
|
|
<xsl:param name="width" />
|
|
<xsl:param name="height" />
|
|
<xsl:param name="alt" />
|
|
<xsl:variable name="name" select="concat($srcdir, '/', $image)" />
|
|
<a href="{$name}"><img src="{$name}" width="{$width}" height="{$height}" alt="{$alt}" /></a>
|
|
</xsl:template>
|
|
|
|
<!-- Process a menu for the navigation bar -->
|
|
<xsl:template match="menu">
|
|
<ul class="menu">
|
|
<li onClick="return true">
|
|
<div class="menu-title">
|
|
<xsl:value-of select="@name" />
|
|
</div>
|
|
<ul>
|
|
<xsl:apply-templates select="item" />
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</xsl:template>
|
|
|
|
<!-- Process a menu item for the navigation bar -->
|
|
<xsl:template match="item">
|
|
<xsl:variable name="href">
|
|
<xsl:choose>
|
|
<xsl:when test="starts-with(@href, 'http')">
|
|
<xsl:value-of select="@href" />
|
|
</xsl:when>
|
|
<xsl:when test="starts-with(@href, '/site')">
|
|
<xsl:value-of select="concat($jakarta-site, @href)" />
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:value-of select="concat($relative-path, @href)" />
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:variable>
|
|
<li>
|
|
<a href="{$href}">
|
|
<xsl:value-of select="@name" />
|
|
<xsl:if test="@icon">
|
|
<img src="{concat($imgdir, '/', @icon)}" alt="{concat('Icon for ', @name)}"/>
|
|
</xsl:if>
|
|
</a>
|
|
</li>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="section">
|
|
<div class="section">
|
|
<h1>
|
|
<xsl:if test="@anchor">
|
|
<xsl:attribute name="id">
|
|
<xsl:value-of select="translate(normalize-space(@anchor), ' ', '_')" />
|
|
</xsl:attribute>
|
|
</xsl:if>
|
|
<xsl:value-of select="@name" />
|
|
<xsl:if test="@anchor">
|
|
<xsl:call-template name="sectionlink">
|
|
<xsl:with-param name="anchor" select="@anchor" />
|
|
</xsl:call-template>
|
|
</xsl:if>
|
|
</h1>
|
|
<xsl:apply-templates />
|
|
</div>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="ch_section">
|
|
<h2 class="ch_section" id="{.}">
|
|
<xsl:apply-templates />
|
|
</h2>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="ch_title">
|
|
<h3 class="ch_title">
|
|
<xsl:apply-templates />
|
|
</h3>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="ch_category">
|
|
<h2 class="ch_category">
|
|
<xsl:apply-templates />
|
|
</h2>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="subsection">
|
|
<div class="subsection">
|
|
<h2>
|
|
<xsl:if test="@anchor">
|
|
<xsl:attribute name="id">
|
|
<xsl:value-of select="translate(normalize-space(@anchor), ' ' , '_')" />
|
|
</xsl:attribute>
|
|
</xsl:if>
|
|
<xsl:value-of select="@name" />
|
|
<xsl:if test="@anchor">
|
|
<xsl:call-template name="sectionlink">
|
|
<xsl:with-param name="anchor" select="@anchor" />
|
|
</xsl:call-template>
|
|
</xsl:if>
|
|
</h2>
|
|
<xsl:apply-templates />
|
|
</div>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="source">
|
|
<pre class="source">
|
|
<xsl:apply-templates />
|
|
</pre>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="code">
|
|
<span class="code">
|
|
<xsl:apply-templates />
|
|
</span>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="description">
|
|
<div class="description">
|
|
<xsl:apply-templates />
|
|
</div>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="component">
|
|
<div class="component">
|
|
<h2 id="{translate(@name, ' ', '_')}">
|
|
<xsl:value-of select="@name" />
|
|
<xsl:if test="@was">
|
|
<a name="{translate(normalize-space(@was), ' ', '_')}">
|
|
(was:
|
|
<xsl:value-of select="@was" />
|
|
)
|
|
</a>
|
|
</xsl:if>
|
|
<xsl:call-template name="sectionlink">
|
|
<xsl:with-param name="anchor" select="@name" />
|
|
</xsl:call-template>
|
|
</h2>
|
|
<xsl:if test="@useinstead">
|
|
<div class="deprecated">
|
|
*** This element is deprecated. Use
|
|
<a
|
|
href="{concat($relative-path, '/usermanual/component_reference.html#', translate(normalize-space(@useinstead), ' ', '_'))}"
|
|
>
|
|
<xsl:value-of select="@useinstead" />
|
|
</a>
|
|
instead ***
|
|
</div>
|
|
</xsl:if>
|
|
<xsl:apply-templates select="description" />
|
|
<xsl:if test="@screenshot != ''">
|
|
<div class="screenshot">
|
|
<figure>
|
|
<xsl:call-template name="image">
|
|
<xsl:with-param name="srcdir" select="$sshotdir" />
|
|
<xsl:with-param name="image" select="@screenshot" />
|
|
<xsl:with-param name="width" select="@width" />
|
|
<xsl:with-param name="height" select="@height" />
|
|
<xsl:with-param name="alt" select="concat('Screenshot for Control-Panel of ', @name)" />
|
|
</xsl:call-template>
|
|
<figcaption>Screenshot of Control-Panel of <xsl:value-of select="@name"/></figcaption>
|
|
</figure>
|
|
</div>
|
|
</xsl:if>
|
|
<xsl:apply-templates select="*[not(self::description)]" />
|
|
<div class="go-top">
|
|
<a href="#">^</a>
|
|
</div>
|
|
</div>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="sectionlink">
|
|
<xsl:param name="anchor" />
|
|
<a class="sectionlink" href="#{translate(normalize-space($anchor), ' ', '_')}"
|
|
title="Link to here"
|
|
>¶</a>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="properties">
|
|
<xsl:variable name="prop-count" select="count(preceding-sibling::properties) + 1" />
|
|
<div class="properties">
|
|
<h3>
|
|
<xsl:if test="name(..) = 'component'">
|
|
<xsl:attribute name="id">
|
|
<xsl:value-of select="concat(translate(normalize-space(../@name), ' ', '_'), '_parms', $prop-count)" />
|
|
</xsl:attribute>
|
|
</xsl:if>
|
|
Parameters
|
|
<xsl:if test="name(..) = 'component'">
|
|
<xsl:call-template name="sectionlink">
|
|
<xsl:with-param name="anchor"
|
|
select="concat(translate(normalize-space(../@name), ' ', '_'), '_parms', $prop-count)" />
|
|
</xsl:call-template>
|
|
</xsl:if>
|
|
</h3>
|
|
<div class="property title">
|
|
<div class="name title">Attribute</div>
|
|
<div class="description title">Description</div>
|
|
<div class="required title">Required</div>
|
|
</div>
|
|
<xsl:apply-templates />
|
|
</div>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="property">
|
|
<div class="property">
|
|
<div
|
|
class="name req-{contains('yYtT', substring(normalize-space(@required), 1, 1))}"
|
|
>
|
|
<xsl:value-of select="@name" />
|
|
</div>
|
|
<div
|
|
class="description req-{contains('yYtT', substring(normalize-space(@required), 1, 1))}"
|
|
>
|
|
<xsl:apply-templates />
|
|
</div>
|
|
<div
|
|
class="required req-{contains('yYtT', substring(normalize-space(@required), 1, 1))}"
|
|
>
|
|
<xsl:choose>
|
|
<xsl:when test="@required">
|
|
<xsl:value-of select="@required" />
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
No
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</div>
|
|
</div>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="note">
|
|
<div class="clear"></div>
|
|
<div class="note">
|
|
<xsl:apply-templates />
|
|
</div>
|
|
<div class="clear"></div>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="apilink">
|
|
<xsl:param name="href" />
|
|
<a
|
|
href="{concat($apidir, '/', @href)}"
|
|
>
|
|
<xsl:value-of select="." />
|
|
</a>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="apilink">
|
|
<xsl:call-template name="apilink">
|
|
<xsl:with-param name="name" select="@href" />
|
|
</xsl:call-template>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="complink">
|
|
<xsl:param name="name" />
|
|
<a
|
|
href="{concat($relative-path, '/usermanual/component_reference.html#', translate(@name, ' ', '_'))}"
|
|
>
|
|
<xsl:value-of select="@name" />
|
|
</a>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="complink">
|
|
<xsl:call-template name="complink">
|
|
<xsl:with-param name="name" select="@name" />
|
|
</xsl:call-template>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="funclink">
|
|
<xsl:param name="name" />
|
|
<a
|
|
href="{concat($relative-path, '/usermanual/functions.html#', translate(@name, ' ()', '_'))}"
|
|
>
|
|
<xsl:value-of select="@name" />
|
|
</a>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="funclink">
|
|
<xsl:call-template name="funclink">
|
|
<xsl:with-param name="name" select="@name" />
|
|
</xsl:call-template>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="figure">
|
|
<figure>
|
|
<xsl:call-template name="image">
|
|
<xsl:with-param name="srcdir" select="$sshotdir" />
|
|
<xsl:with-param name="image" select="@image" />
|
|
<xsl:with-param name="width" select="@width" />
|
|
<xsl:with-param name="height" select="@height" />
|
|
<xsl:with-param name="alt" select="text()"/>
|
|
</xsl:call-template>
|
|
<figcaption>
|
|
<xsl:apply-templates />
|
|
</figcaption>
|
|
</figure>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bugzilla">
|
|
<a href="https://bz.apache.org/bugzilla/show_bug.cgi?id={./text()}">
|
|
Bug
|
|
<xsl:value-of select="./text()" />
|
|
</a>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bug">
|
|
<a href="https://bz.apache.org/bugzilla/show_bug.cgi?id={./text()}">
|
|
Bug
|
|
<xsl:value-of select="./text()" />
|
|
</a>
|
|
<xsl:call-template name="issue_separator"/>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="rfc">
|
|
<xsl:choose>
|
|
<xsl:when test="./text()">
|
|
<a href="https://tools.ietf.org/html/{@link}"><xsl:value-of select="./text()" /></a>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<a href="https://tools.ietf.org/html/{@link}">RFC <xsl:value-of select="@link" /></a>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="pr">
|
|
<a href="https://github.com/apache/jmeter/pull/{./text()}">
|
|
PR#<xsl:value-of select="./text()" />
|
|
</a>
|
|
<xsl:call-template name="issue_separator"/>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="issue">
|
|
<a href="https://github.com/apache/jmeter/issues/{./text()}">
|
|
Issue#<xsl:value-of select="./text()" />
|
|
</a>
|
|
<xsl:call-template name="issue_separator"/>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="issue_separator">
|
|
<xsl:choose>
|
|
<xsl:when test="following-sibling::issue or following-sibling::pr or following-sibling::bug">, </xsl:when>
|
|
<!-- If preceding element is text, then avoid adding "," or "-". It looks like inline reference to an issue, PR -->
|
|
<xsl:when test="preceding-sibling::text()[normalize-space() != '']"/>
|
|
<xsl:otherwise> – </xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="links">
|
|
<div class="links">
|
|
<div class="title">See also:</div>
|
|
<ul class="links">
|
|
<xsl:for-each select="link|complink">
|
|
<li>
|
|
<xsl:choose>
|
|
<xsl:when test="name(.) = 'link'">
|
|
<a href="{@href}">
|
|
<xsl:apply-templates />
|
|
</a>
|
|
</xsl:when>
|
|
<xsl:when test="name(.) = 'complink'">
|
|
<xsl:call-template name="complink">
|
|
<xsl:with-param name="name" select="@name" />
|
|
</xsl:call-template>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
</li>
|
|
</xsl:for-each>
|
|
</ul>
|
|
</div>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="link">
|
|
<li>
|
|
<a href="{@href}">
|
|
<xsl:apply-templates />
|
|
</a>
|
|
</li>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="example">
|
|
<div class="example">
|
|
<div class="title">
|
|
<xsl:value-of select="@title" />
|
|
<xsl:if test="@anchor">
|
|
<xsl:attribute name="id">
|
|
<xsl:value-of select="translate(normalize-space(@anchor), ' ', '_')" />
|
|
</xsl:attribute>
|
|
<xsl:call-template name="sectionlink">
|
|
<xsl:with-param name="anchor" select="@anchor" />
|
|
</xsl:call-template>
|
|
</xsl:if>
|
|
</div>
|
|
<xsl:apply-templates />
|
|
</div>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="table">
|
|
<table>
|
|
<xsl:apply-templates />
|
|
</table>
|
|
</xsl:template>
|
|
|
|
<xsl:template
|
|
match="abbr|h1|h2|h3|h4|h5|p|b|em|ul|ol|li|a|i|pre|br|tt|tr|th|td|dl|dt|dd|sup|span|u|strong|thead|tbody|form|select|option|input|font|center|img|body|style|div|hr"
|
|
>
|
|
<xsl:copy>
|
|
<xsl:apply-templates select="@*|*|text()" />
|
|
</xsl:copy>
|
|
</xsl:template>
|
|
|
|
|
|
<!-- Process everything else by just passing it through -->
|
|
<xsl:template match="*">
|
|
<div class="nostyle">
|
|
<xsl:copy>
|
|
<xsl:apply-templates select="@*|*|text()" />
|
|
</xsl:copy>
|
|
</div>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="@*">
|
|
<xsl:copy>
|
|
<xsl:apply-templates select="@*|*|text()" />
|
|
</xsl:copy>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="guimenuitem">
|
|
<span class="guimenuitem"><xsl:apply-templates /></span>
|
|
<xsl:if test="following-sibling::guimenuitem"> → </xsl:if>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="keysym">
|
|
<span class="keysym"><xsl:apply-templates /></span>
|
|
<xsl:if test="following-sibling::keysym and parent::keycombo"> + </xsl:if>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="keycombo">
|
|
<span class="keycombo"><xsl:apply-templates select="keysym" /></span>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="shortcut">
|
|
(<xsl:apply-templates select="keycombo"/>)
|
|
</xsl:template>
|
|
|
|
<xsl:template match="menuchoice">
|
|
<span class="menuchoice">
|
|
<xsl:apply-templates select="guimenuitem"/>
|
|
<xsl:apply-templates select="shortcut"/>
|
|
</span>
|
|
</xsl:template>
|
|
|
|
</xsl:stylesheet>
|