diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2011-06-13 23:39:30 +0100 |
---|---|---|
committer | Sergey V. Udaltsov <svu@gnome.org> | 2011-06-13 23:47:25 +0100 |
commit | c17f8b08740aed26687fd65c84e654a6cdc163a2 (patch) | |
tree | dfcab88491a11f464636df023ba29b668fd83cc5 /man/man.xsl | |
parent | b213892256576e43c569a965add7eae93f5be690 (diff) |
Use XSL to generate man page from the rules XML
Generate a man-page from the evdev.xml through the xslt/man.xsl stylesheet.
Adds a requirement on the xorg util-macros and xsltproc.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
Reviewed-by: Gaetan Nadon <memsize@videotron.ca>
Diffstat (limited to 'man/man.xsl')
-rw-r--r-- | man/man.xsl | 137 |
1 files changed, 137 insertions, 0 deletions
diff --git a/man/man.xsl b/man/man.xsl new file mode 100644 index 00000000..a5bd14d0 --- /dev/null +++ b/man/man.xsl @@ -0,0 +1,137 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > + <xsl:output method="text" encoding="UTF-8" doctype-system="xkb.dtd"/> + <xsl:template match="/xkbConfigRegistry"> + <xsl:text><![CDATA[.\" WARNING: this man page is autogenerated. Do not edit or you will lose all your changes. +.TH XKEYBOARD-CONFIG __miscmansuffix__ __vendorversion__ +.SH NAME +xkeyboard-config \- XKB data description files +.SH DESCRIPTION +xkeyboard-config provides the description files for the X Keyboard +Extension (XKB). The configuration options below are usually applied with +setxkbmap(__appmansuffix__). +.SH MODELS +.TS +left,box; +lB lB +___ +lB l. +Model Description +]]></xsl:text> + <xsl:apply-templates select="modelList"/> + <xsl:text><![CDATA[ +.TE +.SH LAYOUTS +.TS +left,box; +lB lB +____ +lB l. +Layout(Variant) Description +]]></xsl:text> + <xsl:apply-templates select="layoutList"/> + <xsl:text><![CDATA[ +.TE +.SH OPTIONS +]]></xsl:text> + <xsl:apply-templates select="optionList"/> + <xsl:text><![CDATA[ +.SH FILES +__xkb_base__/compat + +__xkb_base__/compiled + +__xkb_base__/geometry + +__xkb_base__/keycodes + +__xkb_base__/keymap + +__xkb_base__/rules + +__xkb_base__/semantics + +__xkb_base__/symbols + +__xkb_base__/types + +.SH SEE ALSO +setxkbmap(__appmansuffix__) +]]></xsl:text> + </xsl:template> + +<!-- split model/description into a normal table --> + <xsl:template match="modelList"> + <xsl:for-each select="model"> + <xsl:value-of select="configItem/name"/><xsl:text>	</xsl:text><xsl:value-of select="configItem/description"/> + <xsl:text> </xsl:text> + </xsl:for-each> + </xsl:template> + +<!-- split layout/variant/description into a table like this + + layout1 description + layout1(variant1) description + layout1(variant2) description + layout2 description + layout2(variant1) description +--> + <xsl:template match="layoutList"> + <xsl:for-each select="layout"> + <xsl:value-of select="configItem/name"/> + <xsl:text>	</xsl:text> + <xsl:value-of select="configItem/description"/> + <xsl:text> </xsl:text> + <xsl:for-each select="variantList/variant"> + <xsl:value-of select="../../configItem/name"/> + <xsl:text>(</xsl:text> + <xsl:value-of select="configItem/name"/> + <xsl:text>)</xsl:text> + <xsl:text>	</xsl:text> + <xsl:value-of select="configItem/description"/> + <xsl:text> </xsl:text> + </xsl:for-each> + <xsl:text> </xsl:text> + <xsl:text>_ </xsl:text> + </xsl:for-each> + </xsl:template> + +<!-- split option into a table like this + +option description: + optarg description + optarg description + optarg description + +option2 description: + optarg description + optarg description +--> + <xsl:template match="optionList"> + <xsl:for-each select="group"> + <xsl:text><![CDATA[ +.SS]]></xsl:text> + <xsl:text> </xsl:text> + <xsl:value-of select="configItem/description"/> + <xsl:text><![CDATA[ +.BR +.TS +left,box; +lB lB +___ +lB l. +Option Description +]]></xsl:text> + <xsl:for-each select="option"> + <xsl:value-of select="configItem/name"/> + <xsl:text>	</xsl:text> + <xsl:value-of select="configItem/description"/> + <xsl:text> </xsl:text> + </xsl:for-each> + <xsl:text><![CDATA[ +.TE + +]]></xsl:text> + </xsl:for-each> + </xsl:template> +</xsl:stylesheet> |