<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" 
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
     xmlns:fo="http://www.w3.org/1999/XSL/Format">


<xsl:template match="/">
  <xsl:apply-templates/>
</xsl:template>

<xsl:template match="myNode">
  <xsl:apply-templates select="myItem"/>
</xsl:template>

<xsl:template match="myItem">
  <xsl:variable name="nodeSet" select="ancestor::myNode[@id='main'] |ancestor::myNode[@id='aux']"/>
  <xsl:if test="$nodeSet">
    <xsl:value-of select="normalize-space($nodeSet)"/>
	<xsl:for-each select="preceding::* | dummy">
		<xsl:text>, </xsl:text><xsl:value-of select="name(preceding-sibling::* | dummy)"/>
	</xsl:for-each>
  </xsl:if>
</xsl:template>


  <!--
   * Licensed to the Apache Software Foundation (ASF) under one
   * or more contributor license agreements. See the NOTICE file
   * distributed with this work for additional information
   * regarding copyright ownership. The ASF licenses this file
   * to you under the Apache License, Version 2.0 (the  "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *     http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
  -->

</xsl:stylesheet>
