<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
  <xsl:output method="xml" indent="yes"/>

  <xsl:template match="/Admin">
    <xsl:copy>
      <xsl:copy-of select="@*"/>
      <xsl:apply-templates mode="a"/>
      <Hidden>
        <xsl:apply-templates mode="b"/>
      </Hidden>
    </xsl:copy>
  </xsl:template>



  <xsl:template match="/Admin/*[not(*)]" mode="a">
    <xsl:copy>
      <xsl:copy-of select="@*"/>
      <xsl:apply-templates mode="a"/>
    </xsl:copy>
  </xsl:template>


  <xsl:template match="/Admin/*[*[@state!='0' and @state!='-1']]" mode="a">
    <xsl:copy>
      <xsl:copy-of select="@*"/>
      <xsl:apply-templates mode="a"/>
    </xsl:copy>
  </xsl:template>

  <xsl:template match="/Admin/*/*" mode="a">
  </xsl:template>

  <xsl:template match="/Admin/*/*[@state!='0' and @state!='-1']" mode="a">
    <!--<xsl:copy-of select="."/>-->
    <xsl:copy>
      <xsl:copy-of select="@*"/>
      <xsl:apply-templates mode="a"/>
    </xsl:copy>
  </xsl:template>

  <xsl:template match="/Admin/*/*/*" mode="a">
    <xsl:copy>
      <xsl:copy-of select="@*"/>
      <xsl:apply-templates mode="a"/>
    </xsl:copy>
  </xsl:template>

  <xsl:template match="/Admin/Prompts/Prompt[@state!='0' and @state!='-1']" mode="a">
    <xsl:copy>
      <xsl:copy-of select="@*"/>
      <xsl:apply-templates mode="a"/>
    </xsl:copy>
  </xsl:template>

  <xsl:template match="/Admin/*/*/*/*" mode="a">
    <xsl:copy-of select="."/>
  </xsl:template>

  <xsl:template match="/Admin/Prompts/Prompt/RelatedPrompts/Prompt[@state='0' or @state='-1']" mode="a">
  </xsl:template>





  <!--Hidden-->


  <!--No default template-->
  <xsl:template match="text()|@*" mode="b">
  </xsl:template>


  <xsl:template match="/Admin/*[*[@state='0' or @state='-1']]" mode="b">
    <xsl:copy>
      <xsl:copy-of select="@*"/>
      <xsl:apply-templates mode="b"/>
    </xsl:copy>
  </xsl:template>

  <xsl:template match="/Admin/*[Prompt[@state!='0' and @state!='-1']/RelatedPrompts/Prompt[@state='0' or @state='-1']]" mode="b">
    <xsl:copy>
      <xsl:copy-of select="@*"/>
      <xsl:apply-templates mode="b"/>
    </xsl:copy>
  </xsl:template>

  <xsl:template match="/Admin/*/*" mode="b">
    <xsl:apply-templates mode="b"/>
  </xsl:template>

  <xsl:template match="/Admin/*/*[@state='0' or @state='-1']" mode="b">
    <xsl:copy-of select="."/>
  </xsl:template>


  <xsl:template match="/Admin/*/*/*" mode="b">
    <xsl:apply-templates mode="b"/>
  </xsl:template>

  <xsl:template match="/Admin/*/*/*/*" mode="b">
  </xsl:template>


  <xsl:template match="/Admin/Prompts/Prompt[@state!='0' and @state!='-1']/RelatedPrompts/Prompt[@state='0' or @state='-1']" mode="b">
    <xsl:copy-of select="."/>
  </xsl:template>



</xsl:stylesheet>