1<?xml version="1.0" encoding="UTF-8"?> 2<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > 3 <xsl:output method="text" encoding="UTF-8" doctype-system="xkb.dtd"/> 4 <xsl:template match="/xkbConfigRegistry"> 5 <xsl:text><![CDATA[.\" WARNING: this man page is autogenerated. Do not edit or you will lose all your changes. 6.TH XKEYBOARD-CONFIG __miscmansuffix__ __vendorversion__ 7.SH NAME 8xkeyboard-config \- XKB data description files 9.SH DESCRIPTION 10xkeyboard-config provides the description files for the X Keyboard 11Extension (XKB). The configuration options below are usually applied with 12setxkbmap(__appmansuffix__). 13.SH MODELS 14.TS 15left,box; 16lB lB 17___ 18lB l. 19Model Description 20]]></xsl:text> 21 <xsl:apply-templates select="modelList"/> 22 <xsl:text><![CDATA[ 23.TE 24.SH LAYOUTS 25.TS 26left,box; 27lB lB 28____ 29lB l. 30Layout(Variant) Description 31]]></xsl:text> 32 <xsl:apply-templates select="layoutList"/> 33 <xsl:text><![CDATA[ 34.TE 35.SH OPTIONS 36]]></xsl:text> 37 <xsl:apply-templates select="optionList"/> 38 <xsl:text><![CDATA[ 39.SH FILES 40__xkb_base__/compat 41 42__xkb_base__/compiled 43 44__xkb_base__/geometry 45 46__xkb_base__/keycodes 47 48__xkb_base__/keymap 49 50__xkb_base__/rules 51 52__xkb_base__/semantics 53 54__xkb_base__/symbols 55 56__xkb_base__/types 57 58.SH SEE ALSO 59setxkbmap(__appmansuffix__) 60]]></xsl:text> 61 </xsl:template> 62 63<!-- split model/description into a normal table --> 64 <xsl:template match="modelList"> 65 <xsl:for-each select="model"> 66 <xsl:value-of select="configItem/name"/><xsl:text>	</xsl:text><xsl:value-of select="configItem/description"/> 67 <xsl:text> </xsl:text> 68 </xsl:for-each> 69 </xsl:template> 70 71<!-- split layout/variant/description into a table like this 72 73 layout1 description 74 layout1(variant1) description 75 layout1(variant2) description 76 layout2 description 77 layout2(variant1) description 78--> 79 <xsl:template match="layoutList"> 80 <xsl:for-each select="layout"> 81 <xsl:value-of select="configItem/name"/> 82 <xsl:text>	</xsl:text> 83 <xsl:value-of select="configItem/description"/> 84 <xsl:text> </xsl:text> 85 <xsl:for-each select="variantList/variant"> 86 <xsl:value-of select="../../configItem/name"/> 87 <xsl:text>(</xsl:text> 88 <xsl:value-of select="configItem/name"/> 89 <xsl:text>)</xsl:text> 90 <xsl:text>	</xsl:text> 91 <xsl:value-of select="configItem/description"/> 92 <xsl:text> </xsl:text> 93 </xsl:for-each> 94 <xsl:text> </xsl:text> 95 <xsl:text>_ </xsl:text> 96 </xsl:for-each> 97 </xsl:template> 98 99<!-- split option into a table like this 100 101option description: 102 optarg description 103 optarg description 104 optarg description 105 106option2 description: 107 optarg description 108 optarg description 109--> 110 <xsl:template match="optionList"> 111 <xsl:for-each select="group"> 112 <xsl:text><![CDATA[ 113.SS]]></xsl:text> 114 <xsl:text> </xsl:text> 115 <xsl:value-of select="configItem/description"/> 116 <xsl:text><![CDATA[ 117.BR 118.TS 119left,box; 120lB lB 121___ 122lB l. 123Option Description 124]]></xsl:text> 125 <xsl:for-each select="option"> 126 <xsl:value-of select="configItem/name"/> 127 <xsl:text>	</xsl:text> 128 <xsl:value-of select="configItem/description"/> 129 <xsl:text> </xsl:text> 130 </xsl:for-each> 131 <xsl:text><![CDATA[ 132.TE 133 134]]></xsl:text> 135 </xsl:for-each> 136 </xsl:template> 137</xsl:stylesheet> 138