code-srv-test/dita-ot-3.6/docsrc/resources/params.xsl
2021-03-23 22:38:58 +00:00

197 lines
7.5 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<!-- This file is part of the DITA Open Toolkit project. See the accompanying LICENSE file for applicable license. -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="xs"
version="2.0">
<xsl:output doctype-public="-//OASIS//DTD DITA Reference//EN"
doctype-system="reference.dtd"/>
<xsl:strip-space elements="*"/>
<xsl:param name="output-dir.url"/>
<xsl:template match="/">
<xsl:call-template name="all"/>
<xsl:call-template name="separate"/>
</xsl:template>
<xsl:template name="all">
<xsl:comment> Generated from plugin source, do not edit! </xsl:comment>
<reference id="parameters">
<title outputclass="generated">DITA-OT parameters</title>
<reference id="all">
<title>All DITA-OT parameters</title>
<refbody>
<section>
<parml>
<xsl:for-each select="//transtype/param">
<xsl:sort select="@name"/>
<!--xsl:variable name="props" as="xs:string*">
<xsl:variable name="params" as="element(param)*">
<xsl:apply-templates select=".." mode="inherit"/>
</xsl:variable>
<xsl:for-each select="$params/../@name">
<xsl:sequence select="tokenize(., '\s+')"/>
</xsl:for-each>
</xsl:variable-->
<xsl:apply-templates select=".">
<!--xsl:with-param name="props" select="string-join(distinct-values($props), ' ')"/-->
</xsl:apply-templates>
</xsl:for-each>
</parml>
</section>
</refbody>
</reference>
</reference>
</xsl:template>
<xsl:template name="separate">
<!--xsl:for-each select="//transtype/param"-->
<xsl:for-each-group select="//transtype" group-by="@name">
<xsl:variable name="id" select="current-grouping-key()"/>
<xsl:message>Writing <xsl:value-of select="$output-dir.url"/>parameters-<xsl:value-of select="$id"/>.dita</xsl:message>
<xsl:result-document href="{$output-dir.url}/parameters-{$id}.dita"
doctype-public="-//OASIS//DTD DITA Reference//EN"
doctype-system="reference.dtd">
<xsl:comment> Generated from plugin source, do not edit! </xsl:comment>
<reference id="{$id}">
<title outputclass="generated">
<xsl:value-of select="current-group()[1]/@desc"/>
<xsl:text> parameters</xsl:text>
</title>
<titlealts>
<navtitle>
<xsl:value-of select="current-group()[1]/@desc"/>
</navtitle>
</titlealts>
<shortdesc id="shortdesc"/>
<refbody>
<section>
<parml>
<xsl:variable name="params" as="element(param)*">
<xsl:sequence select="(current-group() | //transtype[@extends = current-grouping-key()])/param"/>
<!--xsl:apply-templates select="." mode="inherit"/-->
</xsl:variable>
<xsl:for-each-group select="$params" group-by="@name">
<xsl:sort select="@name"/>
<xsl:apply-templates select="current-group()[1]">
<xsl:with-param name="params" select="current-group()"/>
</xsl:apply-templates>
</xsl:for-each-group>
</parml>
</section>
</refbody>
</reference>
</xsl:result-document>
</xsl:for-each-group>
</xsl:template>
<!--xsl:template match="transtype" mode="inherit" as="element(param)*">
<xsl:sequence select="param"/>
<xsl:variable name="extends" as="xs:string?">
<xsl:choose>
<xsl:when test="@name = 'base'"/>
<xsl:when test="@extends">
<xsl:value-of select="@extends"/>
</xsl:when>
<xsl:otherwise>base</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:if test="exists($extends)">
<xsl:apply-templates select="//transtype[tokenize(@name, '\s+') = $extends]" mode="inherit"/>
</xsl:if>
</xsl:template-->
<xsl:template match="param">
<xsl:param name="params" select="."/>
<xsl:param name="props" select="tokenize(../@name, '\s+')" as="xs:string*"/>
<plentry id="{@name}">
<xsl:if test="not($props = 'base')">
<!--xsl:attribute name="props" select="concat('transtype(', string-join($props, ' '), ')')"/-->
<xsl:attribute name="props" select="string-join($props, ' ')"/>
</xsl:if>
<xsl:if test="@deprecated = 'true'">
<xsl:attribute name="importance">deprecated</xsl:attribute>
</xsl:if>
<xsl:if test="@required = 'true'">
<xsl:attribute name="importance">required</xsl:attribute>
</xsl:if>
<pt>
<parmname>
<xsl:value-of select="@name"/>
</parmname>
<ph>
<indexterm>
<parmname><xsl:value-of select="@name"/></parmname>
</indexterm>
<indexterm>parameters<indexterm>
<parmname><xsl:value-of select="@name"/></parmname>
</indexterm></indexterm>
</ph>
<xsl:if test="@deprecated = 'true'">
<ph>
<indexterm>deprecated features<indexterm>parameters<indexterm>
<parmname><xsl:value-of select="@name"/></parmname>
</indexterm></indexterm>
</indexterm>
</ph>
</xsl:if>
</pt>
<pd id="{@name}.desc">
<xsl:value-of select="@desc"/>
<xsl:choose>
<xsl:when test="@type = 'enum' and $params/val/@desc">
<xsl:text> The following values are supported:</xsl:text>
<ul>
<xsl:for-each select="$params/val">
<li>
<option>
<xsl:value-of select="."/>
</option>
<xsl:if test="@default = 'true'">
<xsl:text> (default)</xsl:text>
</xsl:if>
<xsl:text> </xsl:text>
<xsl:value-of select="@desc"/>
</li>
</xsl:for-each>
</ul>
</xsl:when>
<xsl:when test="@type = 'enum' and $params/val">
<xsl:text> The allowed values are </xsl:text>
<xsl:choose>
<xsl:when test="count($params/val) gt 2">
<xsl:for-each select="$params/val">
<xsl:if test="position() ne 1">, </xsl:if>
<xsl:if test="position() eq last()">and </xsl:if>
<option>
<xsl:value-of select="."/>
</option>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<xsl:for-each select="$params/val">
<xsl:if test="position() ne 1"> and </xsl:if>
<option>
<xsl:value-of select="."/>
</option>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="$params/val[@default = 'true']">
<xsl:text>; the default value is </xsl:text>
<option>
<xsl:value-of select="$params/val[@default = 'true']"/>
</option>
</xsl:if>
<xsl:text>.</xsl:text>
</xsl:when>
</xsl:choose>
</pd>
</plentry>
</xsl:template>
</xsl:stylesheet>