menus.xsl 1.66 KB
Newer Older
1 2 3 4 5 6 7 8 9 10
<?xml version="1.0" encoding="utf-8"?>

<!-- This is an XSL transformation that we use to generate XML menu
     files. So far it contains a template to generate a menubar and a
     popup with identical content.
  -->

<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

11
  <xsl:param name="unstable-menus" />
12

13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
  <xsl:output method="xml"
              version="1.0"
              encoding="utf-8"
              indent="yes"
              doctype-system="gtkuimanager.dtd" />

  <xsl:template match="/">
    <xsl:comment> This file is automatically generated. Do not edit! </xsl:comment>
    <xsl:apply-templates />
  </xsl:template>

  <xsl:template match="menubar-and-popup">
    <menubar>
      <xsl:attribute name="action"><xsl:value-of select="@action-name"/>-menubar</xsl:attribute>
      <xsl:apply-templates />
    </menubar>
29 30 31 32 33 34
    <menubar name="dummy-menubar">
      <menu>
        <xsl:attribute name="action"><xsl:value-of select="@action-name"/>-popup</xsl:attribute>
        <xsl:apply-templates />
      </menu>
    </menubar>
35 36
  </xsl:template>

37 38 39 40
  <xsl:template match="menuitems">
    <xsl:apply-templates />
  </xsl:template>

41
  <xsl:template match="menu[@action='debug-menu']">
42
    <xsl:if test="$unstable-menus='yes'">
43 44 45 46
      <xsl:call-template name="identity" />
    </xsl:if>
  </xsl:template>

47 48 49 50 51 52 53
  <!-- need to strip the XInclude namespace declaration from the ui element -->
  <xsl:template match="ui">
    <ui>
      <xsl:apply-templates />
    </ui>
  </xsl:template>

54 55 56 57 58 59 60
  <xsl:template match="@*|node()" name="identity">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()" />
    </xsl:copy>
  </xsl:template>

</xsl:stylesheet>