<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output encoding="utf-8"/>
<xsl:template match="top">
<TOP>
<xsl:apply-templates/>
</TOP>
</xsl:template>
<xsl:template match="bar[baz or following-sibling::*[1][self::nar]]">
<BAR><xsl:value-of select="."/></BAR>
</xsl:template>
<xsl:template match="foo[following-sibling::*[position()<=2][self::barg] and
following-sibling::*[position()<=2][self::nar]]">
<FOO><xsl:value-of select="."/></FOO>
</xsl:template>
</xsl:stylesheet>